- ภาษาที่สามารถใช้คิวรีกับไฟล์
.git ได้ด้วยไวยากรณ์คล้าย SQL แทนการใช้กับ DB
- เอนจินขนาดเล็กที่ทำการคิวรีแบบเรียลไทม์กับรีโปได้โดยไม่ต้องมี DB แยกหรือการแปลงข้อมูล
- รองรับไวยากรณ์ส่วนใหญ่ของ SQL (รวมถึง grouping, sorting, aggregation)
- โอเพนซอร์สด้วย Rust
SELECT DISTINCT title AS tt FROM commits
SELECT name, COUNT(name) AS commit_num FROM commits GROUP BY name ORDER BY commit_num DESC LIMIT 10
SELECT commit_count FROM branches WHERE commit_count BETWEEN 0 .. 10
SELECT * FROM refs WHERE type = "branch"
SELECT * FROM refs ORDER BY type
SELECT * FROM commits
SELECT name, email FROM commits
SELECT name, email FROM commits ORDER BY name DESC, email ASC
SELECT name, email FROM commits WHERE name LIKE "%gmail%" ORDER BY name
SELECT * FROM commits WHERE LOWER(name) = "amrdeveloper"
SELECT name FROM commits GROUP By name
SELECT name FROM commits GROUP By name having name = "AmrDeveloper"
SELECT * FROM branches
SELECT * FROM branches WHERE is_head = true
SELECT name, LEN(name) FROM branches
SELECT * FROM tags
SELECT * FROM tags OFFSET 1 LIMIT 1
5 ความคิดเห็น
ยอดเยี่ยม
ติดตั้งแล้วรู้สึกเสียดายที่ไม่สามารถพิมพ์คิวรีได้โดยตรงจาก CLI
แต่ถ้าบิลด์จากรีโพซิทอรีมาใช้เอง ก็จะสามารถใช้ตัวเลือกสำหรับส่งคิวรีโดยตรงได้
ดูเหมือนว่าน่าจะถูกเพิ่มเข้ามาในเวอร์ชันถัดไป
cargo run -- -q "SELECT * FROM tags"
สามารถใช้งานได้ในลักษณะนี้
ตอนนี้นำไปใช้กับงาน DevOps ได้แล้วครับ :)
ถ้าใช้กับรีโพซิทอรีขนาดใหญ่ ความเร็วโอเคไหมครับ? สงสัยเลย ^^
โอ้! ปกติผมต้องคอยทำงานจุกจิกอย่างการ parse เอาต์พุต
git log --numstatแล้วใส่ลง DB เพื่อวิเคราะห์ด้วย SQL อยู่บ่อย ๆ แต่ถ้ามีตัวนี้ก็น่าจะจบเลยนะครับโอ... เวลาทำงานกับ Git มันก็ดูสะดวกกว่าการต้องใช้คำสั่งนู่นนี่หลายคำสั่งอยู่นะครับ