diff --git a/CHANGELOG.md b/CHANGELOG.md index 0fb4f54..71d4b29 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,19 @@ # Change Log +## Version 0.26.0 _(2024-08-17)_ + +- 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. + ## Version 0.25.0 _(2024-07-09)_ - Support JOIN more than two tables togther in same query. diff --git a/Cargo.lock b/Cargo.lock index d42877e..6b86086 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -552,7 +552,7 @@ dependencies = [ [[package]] name = "gitql" -version = "0.25.0" +version = "0.26.0" dependencies = [ "atty", "criterion", @@ -567,14 +567,14 @@ dependencies = [ [[package]] name = "gitql-ast" -version = "0.22.0" +version = "0.23.0" dependencies = [ "gitql-core", ] [[package]] name = "gitql-cli" -version = "0.25.0" +version = "0.26.0" dependencies = [ "comfy-table", "gitql-ast", @@ -594,7 +594,7 @@ dependencies = [ [[package]] name = "gitql-engine" -version = "0.25.0" +version = "0.26.0" dependencies = [ "chrono", "gitql-ast", @@ -604,7 +604,7 @@ dependencies = [ [[package]] name = "gitql-parser" -version = "0.24.0" +version = "0.25.0" dependencies = [ "gitql-ast", "gitql-core", @@ -623,9 +623,9 @@ dependencies = [ [[package]] name = "gix" -version = "0.63.0" +version = "0.64.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "984c5018adfa7a4536ade67990b3ebc6e11ab57b3d6cd9968de0947ca99b4b06" +checksum = "d78414d29fcc82329080166077e0f7689f4016551fdb334d787c3d040fe2634f" dependencies = [ "gix-actor", "gix-attributes", @@ -664,16 +664,15 @@ dependencies = [ "gix-validate", "gix-worktree", "once_cell", - "parking_lot", "smallvec", "thiserror", ] [[package]] name = "gix-actor" -version = "0.31.2" +version = "0.31.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d69c59d392c7e6c94385b6fd6089d6df0fe945f32b4357687989f3aee253cd7f" +checksum = "a0e454357e34b833cc3a00b6efbbd3dd4d18b24b9fb0c023876ec2645e8aa3f2" dependencies = [ "bstr", "gix-date", @@ -685,9 +684,9 @@ dependencies = [ [[package]] name = "gix-attributes" -version = "0.22.2" +version = "0.22.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eefb48f42eac136a4a0023f49a54ec31be1c7a9589ed762c45dcb9b953f7ecc8" +checksum = "e37ce99c7e81288c28b703641b6d5d119aacc45c1a6b247156e6249afa486257" dependencies = [ "bstr", "gix-glob", @@ -720,9 +719,9 @@ dependencies = [ [[package]] name = "gix-command" -version = "0.3.7" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c22e086314095c43ffe5cdc5c0922d5439da4fd726f3b0438c56147c34dc225" +checksum = "0d76867867da891cbe32021ad454e8cae90242f6afb06762e4dd0d357afd1d7b" dependencies = [ "bstr", "gix-path", @@ -732,9 +731,9 @@ dependencies = [ [[package]] name = "gix-commitgraph" -version = "0.24.2" +version = "0.24.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7b102311085da4af18823413b5176d7c500fb2272eaf391cfa8635d8bcb12c4" +checksum = "133b06f67f565836ec0c473e2116a60fb74f80b6435e21d88013ac0e3c60fc78" dependencies = [ "bstr", "gix-chunk", @@ -746,9 +745,9 @@ dependencies = [ [[package]] name = "gix-config" -version = "0.37.0" +version = "0.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53fafe42957e11d98e354a66b6bd70aeea00faf2f62dd11164188224a507c840" +checksum = "28f53fd03d1bf09ebcc2c8654f08969439c4556e644ca925f27cf033bc43e658" dependencies = [ "bstr", "gix-config-value", @@ -767,9 +766,9 @@ dependencies = [ [[package]] name = "gix-config-value" -version = "0.14.6" +version = "0.14.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbd06203b1a9b33a78c88252a625031b094d9e1b647260070c25b09910c0a804" +checksum = "b328997d74dd15dc71b2773b162cb4af9a25c424105e4876e6d0686ab41c383e" dependencies = [ "bitflags 2.5.0", "bstr", @@ -780,9 +779,9 @@ dependencies = [ [[package]] name = "gix-date" -version = "0.8.6" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "367ee9093b0c2b04fd04c5c7c8b6a1082713534eab537597ae343663a518fa99" +checksum = "9eed6931f21491ee0aeb922751bd7ec97b4b2fe8fbfedcb678e2a2dce5f3b8c0" dependencies = [ "bstr", "itoa", @@ -792,9 +791,9 @@ dependencies = [ [[package]] name = "gix-diff" -version = "0.44.0" +version = "0.44.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40b9bd8b2d07b6675a840b56a6c177d322d45fa082672b0dad8f063b25baf0a4" +checksum = "1996d5c8a305b59709467d80617c9fde48d9d75fd1f4179ea970912630886c9d" dependencies = [ "bstr", "gix-command", @@ -812,9 +811,9 @@ dependencies = [ [[package]] name = "gix-discover" -version = "0.32.0" +version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc27c699b63da66b50d50c00668bc0b7e90c3a382ef302865e891559935f3dbf" +checksum = "67662731cec3cb31ba3ed2463809493f76d8e5d6c6d245de8b0560438c13450e" dependencies = [ "bstr", "dunce", @@ -851,9 +850,9 @@ dependencies = [ [[package]] name = "gix-filter" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00ce6ea5ac8fca7adbc63c48a1b9e0492c222c386aa15f513405f1003f2f4ab2" +checksum = "e6547738da28275f4dff4e9f3a0f28509f53f94dd6bd822733c91cb306bca61a" dependencies = [ "bstr", "encoding_rs", @@ -872,9 +871,9 @@ dependencies = [ [[package]] name = "gix-fs" -version = "0.11.0" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f78f7d6dcda7a5809efd73a33b145e3dce7421c460df21f32126f9732736b0c" +checksum = "6adf99c27cdf17b1c4d77680c917e0d94d8783d4e1c73d3be0d1d63107163d7a" dependencies = [ "fastrand", "gix-features", @@ -883,9 +882,9 @@ dependencies = [ [[package]] name = "gix-glob" -version = "0.16.2" +version = "0.16.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "682bdc43cb3c00dbedfcc366de2a849b582efd8d886215dbad2ea662ec156bb5" +checksum = "fa7df15afa265cc8abe92813cd354d522f1ac06b29ec6dfa163ad320575cb447" dependencies = [ "bitflags 2.5.0", "bstr", @@ -916,9 +915,9 @@ dependencies = [ [[package]] name = "gix-ignore" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "640dbeb4f5829f9fc14d31f654a34a0350e43a24e32d551ad130d99bf01f63f1" +checksum = "5e6afb8f98e314d4e1adc822449389ada863c174b5707cedd327d67b84dba527" dependencies = [ "bstr", "gix-glob", @@ -929,9 +928,9 @@ dependencies = [ [[package]] name = "gix-index" -version = "0.33.0" +version = "0.33.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d8c5a5f1c58edcbc5692b174cda2703aba82ed17d7176ff4c1752eb48b1b167" +checksum = "9a9a44eb55bd84bb48f8a44980e951968ced21e171b22d115d1cdcef82a7d73f" dependencies = [ "bitflags 2.5.0", "bstr", @@ -979,9 +978,9 @@ dependencies = [ [[package]] name = "gix-object" -version = "0.42.2" +version = "0.42.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fe2dc4a41191c680c942e6ebd630c8107005983c4679214fdb1007dcf5ae1df" +checksum = "25da2f46b4e7c2fa7b413ce4dffb87f69eaf89c2057e386491f4c55cadbfe386" dependencies = [ "bstr", "gix-actor", @@ -998,9 +997,9 @@ dependencies = [ [[package]] name = "gix-odb" -version = "0.61.0" +version = "0.61.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e92b9790e2c919166865d0825b26cc440a387c175bed1b43a2fa99c0e9d45e98" +checksum = "20d384fe541d93d8a3bb7d5d5ef210780d6df4f50c4e684ccba32665a5e3bc9b" dependencies = [ "arc-swap", "gix-date", @@ -1018,9 +1017,9 @@ dependencies = [ [[package]] name = "gix-pack" -version = "0.51.0" +version = "0.51.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a8da51212dbff944713edb2141ed7e002eea326b8992070374ce13a6cb610b3" +checksum = "3e0594491fffe55df94ba1c111a6566b7f56b3f8d2e1efc750e77d572f5f5229" dependencies = [ "clru", "gix-chunk", @@ -1029,9 +1028,7 @@ dependencies = [ "gix-hashtable", "gix-object", "gix-path", - "gix-tempfile", "memmap2", - "parking_lot", "smallvec", "thiserror", "uluru", @@ -1051,9 +1048,9 @@ dependencies = [ [[package]] name = "gix-path" -version = "0.10.7" +version = "0.10.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23623cf0f475691a6d943f898c4d0b89f5c1a2a64d0f92bce0e0322ee6528783" +checksum = "8d23d5bbda31344d8abc8de7c075b3cf26e5873feba7c4a15d916bce67382bd9" dependencies = [ "bstr", "gix-trace", @@ -1064,9 +1061,9 @@ dependencies = [ [[package]] name = "gix-pathspec" -version = "0.7.5" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a76cab098dc10ba2d89f634f66bf196dea4d7db4bf10b75c7a9c201c55a2ee19" +checksum = "d307d1b8f84dc8386c4aa20ce0cf09242033840e15469a3ecba92f10cfb5c046" dependencies = [ "bitflags 2.5.0", "bstr", @@ -1090,12 +1087,11 @@ dependencies = [ [[package]] name = "gix-ref" -version = "0.44.0" +version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b36752b448647acd59c9668fdd830b16d07db1e6d9c3b3af105c1605a6e23d9" +checksum = "636e96a0a5562715153fee098c217110c33a6f8218f08f4687ff99afde159bb5" dependencies = [ "gix-actor", - "gix-date", "gix-features", "gix-fs", "gix-hash", @@ -1112,9 +1108,9 @@ dependencies = [ [[package]] name = "gix-refspec" -version = "0.23.0" +version = "0.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dde848865834a54fe4d9b4573f15d0e9a68eaf3d061b42d3ed52b4b8acf880b2" +checksum = "6868f8cd2e62555d1f7c78b784bece43ace40dd2a462daf3b588d5416e603f37" dependencies = [ "bstr", "gix-hash", @@ -1126,25 +1122,23 @@ dependencies = [ [[package]] name = "gix-revision" -version = "0.27.1" +version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63e08f8107ed1f93a83bcfbb4c38084c7cb3f6cd849793f1d5eec235f9b13b2b" +checksum = "01b13e43c2118c4b0537ddac7d0821ae0dfa90b7b8dbf20c711e153fb749adce" dependencies = [ "bstr", "gix-date", "gix-hash", - "gix-hashtable", "gix-object", "gix-revwalk", - "gix-trace", "thiserror", ] [[package]] name = "gix-revwalk" -version = "0.13.1" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4181db9cfcd6d1d0fd258e91569dbb61f94cb788b441b5294dd7f1167a3e788f" +checksum = "1b030ccaab71af141f537e0225f19b9e74f25fefdba0372246b844491cab43e0" dependencies = [ "gix-commitgraph", "gix-date", @@ -1157,9 +1151,9 @@ dependencies = [ [[package]] name = "gix-sec" -version = "0.10.6" +version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fddc27984a643b20dd03e97790555804f98cf07404e0e552c0ad8133266a79a1" +checksum = "1547d26fa5693a7f34f05b4a3b59a90890972922172653bcb891ab3f09f436df" dependencies = [ "bitflags 2.5.0", "gix-path", @@ -1169,9 +1163,9 @@ dependencies = [ [[package]] name = "gix-submodule" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "921cd49924ac14b6611b22e5fb7bbba74d8780dc7ad26153304b64d1272460ac" +checksum = "0f2e0f69aa00805e39d39ec80472a7e9da20ed5d73318b27925a2cc198e854fd" dependencies = [ "bstr", "gix-config", @@ -1204,9 +1198,9 @@ checksum = "f924267408915fddcd558e3f37295cc7d6a3e50f8bd8b606cee0808c3915157e" [[package]] name = "gix-traverse" -version = "0.39.1" +version = "0.39.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f20cb69b63eb3e4827939f42c05b7756e3488ef49c25c412a876691d568ee2a0" +checksum = "e499a18c511e71cf4a20413b743b9f5bcf64b3d9e81e9c3c6cd399eae55a8840" dependencies = [ "bitflags 2.5.0", "gix-commitgraph", @@ -1221,9 +1215,9 @@ dependencies = [ [[package]] name = "gix-url" -version = "0.27.3" +version = "0.27.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0db829ebdca6180fbe32be7aed393591df6db4a72dbbc0b8369162390954d1cf" +checksum = "e2eb9b35bba92ea8f0b5ab406fad3cf6b87f7929aa677ff10aa042c6da621156" dependencies = [ "bstr", "gix-features", @@ -1255,9 +1249,9 @@ dependencies = [ [[package]] name = "gix-worktree" -version = "0.34.0" +version = "0.34.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53f6b7de83839274022aff92157d7505f23debf739d257984a300a35972ca94e" +checksum = "26f7326ebe0b9172220694ea69d344c536009a9b98fb0f9de092c440f3efe7a6" dependencies = [ "bstr", "gix-attributes", @@ -2008,9 +2002,9 @@ checksum = "68f5e5f3158ecfd4b8ff6fe086db7c8467a2dfdac97fe420f2b7c4aa97af66d6" [[package]] name = "url" -version = "2.5.0" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" +checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" dependencies = [ "form_urlencoded", "idna", diff --git a/Cargo.toml b/Cargo.toml index 1f33372..b82d919 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "gitql" authors = ["AmrDeveloper"] -version = "0.25.0" +version = "0.26.0" edition = "2021" description = "A SQL like query language to perform queries on .git files" license = "MIT" @@ -23,15 +23,15 @@ members = [ ] [workspace.dependencies] -gix = { version = "0.63.0", default-features = false } +gix = { version = "0.64.0", default-features = false } [dependencies] gitql-core = { path = "./crates/gitql-core", version = "0.2.0" } gitql-std = { path = "./crates/gitql-std", version = "0.3.0" } -gitql-ast = { path = "./crates/gitql-ast", version = "0.22.0" } -gitql-parser = { path = "./crates/gitql-parser", version = "0.24.0" } -gitql-engine = { path = "./crates/gitql-engine", version = "0.25.0" } -gitql-cli = { path = "./crates/gitql-cli", version = "0.25.0" } +gitql-ast = { path = "./crates/gitql-ast", version = "0.23.0" } +gitql-parser = { path = "./crates/gitql-parser", version = "0.25.0" } +gitql-engine = { path = "./crates/gitql-engine", version = "0.26.0" } +gitql-cli = { path = "./crates/gitql-cli", version = "0.26.0" } gix = { workspace = true, features = ["blob-diff", "max-performance"] } atty = "0.2.14" @@ -42,4 +42,4 @@ criterion = "0.5.1" # Run individual benchmarks like `cargo bench -- ` e.g. `cargo bench -- tokenizer` [[bench]] name = "benchmarks" -harness = false \ No newline at end of file +harness = false diff --git a/crates/gitql-ast/Cargo.toml b/crates/gitql-ast/Cargo.toml index d0085aa..660dae6 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.22.0" +version = "0.23.0" edition = "2021" description = "GitQL Abstract syntax tree (AST)" repository = "https://github.com/amrdeveloper/gql/tree/main/crates/gitql-ast" diff --git a/crates/gitql-cli/Cargo.toml b/crates/gitql-cli/Cargo.toml index e7b5084..73f9d77 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.25.0" +version = "0.26.0" edition = "2021" description = "GitQL Command line interface (CLI) components" repository = "https://github.com/amrdeveloper/gql/tree/main/crates/gitql-cli" @@ -11,7 +11,7 @@ categories = ["command-line-utilities"] [dependencies] gitql-core = { path = "../gitql-core", version = "0.2.0" } -gitql-ast = { path = "../gitql-ast", version = "0.22.0" } -gitql-parser = { path = "../gitql-parser", version = "0.24.0" } +gitql-ast = { path = "../gitql-ast", version = "0.23.0" } +gitql-parser = { path = "../gitql-parser", version = "0.25.0" } comfy-table = "7.1.0" termcolor = "1.4.1" diff --git a/crates/gitql-engine/Cargo.toml b/crates/gitql-engine/Cargo.toml index b4f7968..ccefe3d 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.25.0" +version = "0.26.0" edition = "2021" description = "GitQL Engine" repository = "https://github.com/amrdeveloper/gql/tree/main/crates/gitql-engine" @@ -11,6 +11,6 @@ categories = ["command-line-utilities"] [dependencies] gitql-core = { path = "../gitql-core", version = "0.2.0" } -gitql-ast = { path = "../gitql-ast", version = "0.22.0" } +gitql-ast = { path = "../gitql-ast", version = "0.23.0" } regex = "1.10.4" chrono = "0.4.38" diff --git a/crates/gitql-parser/Cargo.toml b/crates/gitql-parser/Cargo.toml index adf866f..e676270 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.24.0" +version = "0.25.0" edition = "2021" description = "GitQL parser" repository = "https://github.com/amrdeveloper/gql/tree/main/crates/gitql-parser" @@ -11,4 +11,4 @@ categories = ["command-line-utilities"] [dependencies] gitql-core = { path = "../gitql-core", version = "0.2.0" } -gitql-ast = { path = "../gitql-ast", version = "0.22.0" } +gitql-ast = { path = "../gitql-ast", version = "0.23.0" }