diff --git a/CHANGELOG.md b/CHANGELOG.md index be52bb7..fa493c9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,22 +1,33 @@ # Change Log +## Version 0.28.0 _(2024-09-27)_ + +- 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 ` 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. + ## Version 0.27.0 _(2024-09-07)_ - 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. +- Implement `int4range`, `daterange`, `tsrange` range function. +- Implement `ARRAY_PREPEND`, `ARRAY_REMOVE` Array functions. +- Implement `ARRAY_APPEND`, `ARRAY_REPLACE` Array functions. +- Implement `BIT_XOR`, `ARRAY_AGG` Aggregation functions. - 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. +]- Improve the type checker to resolve dynamic types in arguments. - Implement Contains operator `@>` between Range and Element. ## Version 0.26.0 _(2024-08-17)_ @@ -243,8 +254,7 @@ ## Version 0.7.2 _(2023-10-26)_ - Support `NULL` keyword. -- Implement `ISNULL` function. -- Implement `ISNUMERIC` function. +- Implement `ISNULL`, `ISNUMERIC` functions. - Handle crash for undefined symbol as argument at runtime. ## Version 0.7.1 _(2023-09-26)_ @@ -272,9 +282,7 @@ - Support negative numbers. - Add repository path as a field for data all tables. - Make function name case-insensitive. -- Support Text `reverse` function. -- Support Text `replicate` function. -- Support Text `ltrim`, `rtrim` function. +- Implement Text `reverse`, `replicate`, `ltrim`, `rtrim` function.. - Select the same field twice. - Optimize engine to work on one repo only if table name is empty. - Fix merging empty groups. diff --git a/Cargo.lock b/Cargo.lock index e6541b1..f6422cd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -552,7 +552,7 @@ dependencies = [ [[package]] name = "gitql" -version = "0.27.0" +version = "0.28.0" dependencies = [ "atty", "criterion", @@ -567,14 +567,14 @@ dependencies = [ [[package]] name = "gitql-ast" -version = "0.24.0" +version = "0.25.0" dependencies = [ "gitql-core", ] [[package]] name = "gitql-cli" -version = "0.27.0" +version = "0.28.0" dependencies = [ "comfy-table", "gitql-ast", @@ -585,7 +585,7 @@ dependencies = [ [[package]] name = "gitql-core" -version = "0.4.0" +version = "0.5.0" dependencies = [ "chrono", "csv", @@ -594,7 +594,7 @@ dependencies = [ [[package]] name = "gitql-engine" -version = "0.27.0" +version = "0.28.0" dependencies = [ "chrono", "gitql-ast", @@ -604,7 +604,7 @@ dependencies = [ [[package]] name = "gitql-parser" -version = "0.26.0" +version = "0.27.0" dependencies = [ "gitql-ast", "gitql-core", @@ -612,7 +612,7 @@ dependencies = [ [[package]] name = "gitql-std" -version = "0.4.1" +version = "0.5.0" dependencies = [ "chrono", "gitql-core", diff --git a/Cargo.toml b/Cargo.toml index 66c4937..8b444d4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "gitql" authors = ["AmrDeveloper"] -version = "0.27.0" +version = "0.28.0" edition = "2021" description = "A SQL like query language to perform queries on .git files" license = "MIT" @@ -29,12 +29,12 @@ gix = { version = "0.64.0", default-features = false } lto = true [dependencies] -gitql-core = { path = "./crates/gitql-core", version = "0.4.0" } -gitql-std = { path = "./crates/gitql-std", version = "0.4.0" } -gitql-ast = { path = "./crates/gitql-ast", version = "0.24.0" } -gitql-parser = { path = "./crates/gitql-parser", version = "0.26.0" } -gitql-engine = { path = "./crates/gitql-engine", version = "0.27.0" } -gitql-cli = { path = "./crates/gitql-cli", version = "0.27.0" } +gitql-core = { path = "./crates/gitql-core", version = "0.5.0" } +gitql-std = { path = "./crates/gitql-std", version = "0.5.0" } +gitql-ast = { path = "./crates/gitql-ast", version = "0.25.0" } +gitql-parser = { path = "./crates/gitql-parser", version = "0.27.0" } +gitql-engine = { path = "./crates/gitql-engine", version = "0.28.0" } +gitql-cli = { path = "./crates/gitql-cli", version = "0.28.0" } gix = { workspace = true, features = ["blob-diff", "max-performance"] } atty = "0.2.14" diff --git a/crates/gitql-ast/Cargo.toml b/crates/gitql-ast/Cargo.toml index b100f17..0ec40a4 100644 --- a/crates/gitql-ast/Cargo.toml +++ b/crates/gitql-ast/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "gitql-ast" authors = ["AmrDeveloper"] -version = "0.24.0" +version = "0.25.0" edition = "2021" description = "GitQL Abstract syntax tree (AST)" repository = "https://github.com/amrdeveloper/gql/tree/main/crates/gitql-ast" @@ -10,4 +10,4 @@ keywords = ["cli", "gql", "language", "git", "sql"] categories = ["command-line-utilities"] [dependencies] -gitql-core = { path = "../gitql-core", version = "0.4.0" } +gitql-core = { path = "../gitql-core", version = "0.5.0" } diff --git a/crates/gitql-cli/Cargo.toml b/crates/gitql-cli/Cargo.toml index 27b9362..29de6c5 100644 --- a/crates/gitql-cli/Cargo.toml +++ b/crates/gitql-cli/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "gitql-cli" authors = ["AmrDeveloper"] -version = "0.27.0" +version = "0.28.0" edition = "2021" description = "GitQL Command line interface (CLI) components" repository = "https://github.com/amrdeveloper/gql/tree/main/crates/gitql-cli" @@ -10,8 +10,8 @@ keywords = ["cli", "gql", "language", "git", "sql"] categories = ["command-line-utilities"] [dependencies] -gitql-core = { path = "../gitql-core", version = "0.4.0" } -gitql-ast = { path = "../gitql-ast", version = "0.24.0" } -gitql-parser = { path = "../gitql-parser", version = "0.26.0" } +gitql-core = { path = "../gitql-core", version = "0.5.0" } +gitql-ast = { path = "../gitql-ast", version = "0.25.0" } +gitql-parser = { path = "../gitql-parser", version = "0.27.0" } comfy-table = "7.1.0" termcolor = "1.4.1" diff --git a/crates/gitql-core/Cargo.toml b/crates/gitql-core/Cargo.toml index 1bbe569..2ccd7bc 100644 --- a/crates/gitql-core/Cargo.toml +++ b/crates/gitql-core/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "gitql-core" authors = ["AmrDeveloper"] -version = "0.4.0" +version = "0.5.0" edition = "2021" description = "GitQL Core components" repository = "https://github.com/amrdeveloper/gql/tree/main/crates/gitql-cli" diff --git a/crates/gitql-engine/Cargo.toml b/crates/gitql-engine/Cargo.toml index e760c8e..efdc5b0 100644 --- a/crates/gitql-engine/Cargo.toml +++ b/crates/gitql-engine/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "gitql-engine" authors = ["AmrDeveloper"] -version = "0.27.0" +version = "0.28.0" edition = "2021" description = "GitQL Engine" repository = "https://github.com/amrdeveloper/gql/tree/main/crates/gitql-engine" @@ -10,7 +10,7 @@ keywords = ["cli", "gql", "language", "git", "sql"] categories = ["command-line-utilities"] [dependencies] -gitql-core = { path = "../gitql-core", version = "0.4.0" } -gitql-ast = { path = "../gitql-ast", version = "0.24.0" } +gitql-core = { path = "../gitql-core", version = "0.5.0" } +gitql-ast = { path = "../gitql-ast", version = "0.25.0" } regex = "1.10.4" chrono = "0.4.38" diff --git a/crates/gitql-parser/Cargo.toml b/crates/gitql-parser/Cargo.toml index e5fd555..c031bf7 100644 --- a/crates/gitql-parser/Cargo.toml +++ b/crates/gitql-parser/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "gitql-parser" authors = ["AmrDeveloper"] -version = "0.26.0" +version = "0.27.0" edition = "2021" description = "GitQL parser" repository = "https://github.com/amrdeveloper/gql/tree/main/crates/gitql-parser" @@ -10,5 +10,5 @@ keywords = ["cli", "gql", "language", "git", "sql"] categories = ["command-line-utilities"] [dependencies] -gitql-core = { path = "../gitql-core", version = "0.4.0" } -gitql-ast = { path = "../gitql-ast", version = "0.24.0" } +gitql-core = { path = "../gitql-core", version = "0.5.0" } +gitql-ast = { path = "../gitql-ast", version = "0.25.0" } diff --git a/crates/gitql-std/Cargo.toml b/crates/gitql-std/Cargo.toml index b96ca2f..caf4230 100644 --- a/crates/gitql-std/Cargo.toml +++ b/crates/gitql-std/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "gitql-std" authors = ["AmrDeveloper"] -version = "0.4.1" +version = "0.5.0" edition = "2021" description = "GitQL Standard and Aggregation functions" repository = "https://github.com/amrdeveloper/gql/tree/main/crates/gitql-cli" @@ -10,7 +10,7 @@ keywords = ["cli", "gql", "language", "git", "sql"] categories = ["command-line-utilities"] [dependencies] -gitql-core = { path = "../gitql-core", version = "0.4.0" } +gitql-core = { path = "../gitql-core", version = "0.5.0" } chrono = "0.4.38" regex = "1.10.4" rand = "0.8.5"