17 pontos por xguru 2023-12-06 | 5 comentários | Compartilhar no WhatsApp
  • Uma linguagem que permite consultar arquivos .git com uma sintaxe semelhante a SQL, em vez de um banco de dados
  • Um mecanismo pequeno realiza consultas em tempo real sobre o repositório sem precisar de banco de dados separado ou conversão
  • Suporta a maior parte da sintaxe de SQL (incluindo agrupamento, ordenação e agregação)
  • Open source em 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 comentários

 
yangeok 2023-12-11

incrível

 
eususu 2023-12-06

Instalei, mas fiquei decepcionado porque não dava para inserir consultas diretamente pela CLI.
Mas, se você compilar e usar o repositório diretamente, dá para usar a opção de executar consultas manualmente.

Parece que isso deve ser adicionado na próxima versão.

cargo run -- -q "SELECT * FROM tags"

É só usar assim.
Agora dá para usar em tarefas de DevOps. :)

 
galadbran 2023-12-07

Ao usar em repositórios grandes, a velocidade fica boa? Fiquei curioso ^^

 
quack337 2023-12-06

Nossa! Eu costumo fazer de vez em quando o trabalho chato de analisar a saída de git log --numstat, jogar num banco de dados e analisar com SQL, mas com isso aqui parece que dá para resolver tudo de uma vez.

 
kuroneko 2023-12-06

Oh... também parece mais prático do que ficar usando vários comandos diferentes ao trabalhar com Git.