GQL
詳細情報
タイトル | GQL |
---|---|
URL | https://github.com/AmrDeveloper/GQL |
バージョン | ver 0.31.0 |
更新日 | 2024/11/13 |
追加日 | 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.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.
0.30.0
- Implement Composite type.
- Implement Member access expression for Composite type.
- Replace
atty
with std is_terminal. - Improve order of iterating over composite type members.
- Fix comparions operators for String, Date, Time and DateTime
0.29.1
- Implement Dynamic type system.
- Implement new Dynamic values system.
- Improve the output printer implementation.
- Change the analysis format to be similar to popular engines.
- Implement
benchmark
function. - Implement Bitwise XOR operator for integers.
- Implement Contained By expression using
<@
operator. - Speedup order by statement by using pre eval map.
- Support multi lines and unicode in
LIKE
andREGEX
expressions. - Improve error message for invalid column name.
- Improve safety check for std or aggregation signature.
- Migrate to Gix
0.67.0
. - Integrate with LineEditor.
0.28.0
- Enable LTO (Link time optimization).
- Optimize set alias for selected expression.
- Handle groups rows elemenations in case group by don't create extra groups #117.
- Implement contains operator for Range in other Range.
- Implement
IF
,IFNULL
general functions. - Implement
ARRAT_POSITIONS
,TRIM_ARRAY
array functions. - Implement
ISEMPTY
range function. - Implement
WITH ROLLUP
feature. - Implement
ORDER BY ... USING <operator>
feature. - Implement Overlap operator for Arrays and Ranges.
- Remove hidden selection information from the render.
- Handle
WITH ROLLUP
edge case for using one column only in grouping. - Improve classifying columns on tables.
0.27.0
- Improve comparing Arrays values.
- Support Range data types.
- Implement
int4range
range function. - Implement
daterange
range function. - Implement
tsrange
range function. - Simplify the dynamic types helper functions.
- Implement
ARRAY_PREPEND
function. - Implement
ARRAY_REMOVE
function. - Implement
ARRAY_APPEND
Array function. - Implement
ARRAY_REPLACE
Array function. - Update
ARRAT_POSITION
signature. - Organize the std functions registers.
- Implement
BIT_XOR
Aggregation function. - Implement
ARRAY_AGG
Aggregation function. - Improve the type checker to resolve dynamic types in arguments.
- Implement Contains operator
@&g
0.26.0
- Fix iagnostic position when parsing undefined symbol.
- Improve handle error in data provider.
- Don't apply CROSS join operator if one of the tables is empty.
- Update docs for new Data provider design.
- Remove un needed code for remove hidden selection after engine.
- Support exponentiation operator.
- Optimize the calling of data provider if table is empty.
- Implement Select ... INTO OUTFILE.
- Support INTO OUTFILE Terminated options and enclosed.
- Implement Select ... into dumpfile feature.
- Improve error messages when use options with dumpfile.
0.25.0
Support JOIN more than two tables togther in same query.
- Handle hidden selection with multi tables.
- Support query
datetime
from diffs table. - Implement LEFT, RIGHT, INNER and CROSS JOINS operation.
- Implement JOIN predicate using
ON
keyword. - Simplifiy the DataProvider Design.
- Implement Bitwise
xor
operator. - Change XOR operator to match postgresql.
- Implement
ARRAY_SHUFFLE
Array function. - Implement
ARRAY_POSITION
Array Function. - Implement
ARRAY_DIMS
Array Function. - Support
Infinity
andNaN
values. - Support
OUTER
keyword.
0.24.0
- Fix passing global variable value to function call.
- Support slice with default start and end and optimize it.
- Implement PostgreSQL
DISTINCT ON
operator. - Support
GROUP BY
one or more expression. - Improve the parse and performance of
DESCRIBE
query. - Support PostgreSQL boolean values literals.
- Support query
parents_count
of commit. - Support query
committer_name
andcommitter_email
of commit. - Rename
name
andemail
toauthor_name
andauthor_email
of commit. - Support
commit_conventional
function in gitql application. - Support implicit casting in
WHERE
statement. - Support implicit casting in
HAVING
statement.
0.23.0
- Fix resolving return type of function with Dynamic and depend on Variant types.
- Fix Projection check for symbols after select statement.
0.22.1
- Hot fix type checker if eval expression without table.
0.21.0
- Implement
bit_and
andbit_or
Aggregation function. - Implement Array literal and Index expression.
- Implement Index expression for Multi dimensions arrays.
- Implement Index expression and fix exception handling.
- Implement
array_length
Array function. - Fix runtime exception handling.
Full Changelog: 0.20.0...0.21.0