GQL
詳細情報
| タイトル | GQL |
|---|---|
| URL | https://github.com/AmrDeveloper/GQL |
| バージョン | ver 0.41.0 |
| 更新日 | 2025/10/06 |
| 追加日 | 2024/03/16 |
| 種別 | フリーソフト / オープンソース(MIT) |
| 説明 | SQLに似た言語を使ってGitリポジトリの情報を操作することができるツール。 |
レビュー

GQLはGitリポジトリをデータベースファイルと見立てて、SQLによくにたクエリを実行することができるRust製のオープンソースツール。
Windows、macOS、Linuxに対応し、Rustのパッケージ管理ツールcargo等を用いてインストールすることができる。
インストール後、gitqlコマンドでGitリポジトリを指定して実行する。
gitql -r ./GQL
gql >
例えばSELECTをつかってさまざまな情報を出力することができる。
SELECT * FROM commit
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"
スクリーンショット
更新グラフ
バージョン履歴
0.41.0
- Support postgresql style for defining number literal.
SELECT 0b_100_101, 0B_100_11001, 0o_273, 0O_755, 0x_42f, 0X_FFFF - Support C-style block comments.
- Support Unary plus operator.
- Implement
cardinalityfunction for array.
0.40.0
- Extend the list of string representation of true & false state.
- Always check the posibility for implicit casting before explicit one.
- Support
infkeyword as alias for infinity. - Add support for Range lower and upper bounds.
- Implement
Rowtype and value. - Add support for
Rowkeyword.
0.39.0
- Improve the printers to catch pipe errors.
- Allow OFFSET to take a variable expression.
- Extend the DO command to execute one or more expressions.
- Implement QUALIFY statement.
- Migrate to Gix 0.72.1.
0.38.0
- Improve Invalid table name diagnostic to suggest the closest correct name.
- Support output yaml format.
- Implement theme customization for table printer.
- Migrate to Gix 0.71.0.
0.37.0
- Implement Group Comparison Expression
Expr <Op> <ALL | ANY | SOME> Expr. - Implement Group Comparison Expression for
Int,Float,Text, andBooltypes. - Implement Group Comparison Expression for
Date,TimeandDateTimetypes. - Improve the unresolved table error message.
- Fix the number of required arguments error message.
- Fix type checker case of variant.
0.36.0
- Implement Interval type, value and ast node.
- Fix token position after consuming comments.
- Add support for interval
+,-,*and/operators. - Add support for interval
=and!=operators. - Add support for interval
>,>=,<and<=operators. - Check that interval value in range -170M to 170M.
- Add support for
+and-operator betweenDateandInt. - Implement
justify_days,justify_hoursinterval functions.
0.35.0
- Fix implicit casting RHS with greater operator (#138).
- Improve implicit casting when applying operators.
- Implement the
DIFF_CHANGED_FILESdiff function (#139). - Improve calculating diff line stats (#139).
- Introduce a new table for
diffs_changesto perform analysis on every change (#139). - Fix the order of applying a distinct operator plan.
0.34.0
- Allow
LogicalExprto return dynamic type depending on operands. - Speedup selecting from diffs table by 58.36% (In Gitql repo from 6.001383125s to 2.4985875s) #124.
- Speedup selecting from refs table by 32.45% (In Gitql repo from 5.367084ms to 3.625292ms).
- Support overriding
LIKE,GLOBandREGEXPfor user-defined types. - Introduce
diff_changescolumn in the diffs table to store changes. - Rename
deletionscolumns toremovalsin diff table. - Implement
DIFF_CONTENT,DIFF_ADDED_CONTENT,DIFF_DELETED_CONTENTandDIFF_MODIFIED_CONTENTfunctions in GitQL App scope. - Implement
DIFF_CONTENT_CONTAINSandDIFF_ADDED_CONTENT_CONTAINSfuncti
0.33.0
- Check for repositories in the script mode.
- Support Const String as Alias.
- Fix show tables query.
- Support Implicit casting in both directions of binary expressions.
- Support Window functions.
- Support
ORDERBY in window function over clause. - Support named Window over clauses.
- Improve resolving variable arguments of dynamic type
...Dynamic. - Implement
FIRST_VALUE,NTH_VALUE,LAST_VALUEwindow functions. - Implement
ROW_NUMBERwindow function. - Support Partition by clause in Window definition.
- Aggregation and Window function arguments by reference.
- Support
NULLS FIRSTandNULLS LASTinORDER BYstatement. - Report error where a window or aggreg
0.32.0
- Support Contained By expression using
@>operator for Array, Range. - Support Contained By expression using
<@operator Array, Range. - Change Between Expr syntax to be
BETWEEN X AND Y. - Supports
Between [Symmetric | Asymmetric] X AND Ykinds. - Supports
NOT BETWEENexpression. - Support
NOT LIKEexpression. - Support Explicit cast from
DatetoDateTime. - Generate different name for column and hidden selections.
- Improve the structure of the Tokenizer.
- Implement
TO_HEXText Function. - Support Escape characters in the Tokenizer.
- Implement Scripting mode from external file.
- Support NOT as prefix unary operator.
- Prefix unary expression Bitwise
0.31.0
- Implement Cast function call expression
CAST(expr AS <Type>). - Implement Cast operator
expr::<type>. - Created the TypesTable component to register types and aliases.
- Fix schema datetime and updated types from Date to DateTime.
- Fix consuming table name twice.
