Skip to content

Commit

Permalink
chore: Release v0.6.0 (#439)
Browse files Browse the repository at this point in the history
  • Loading branch information
alancai98 authored Nov 1, 2023
1 parent 57ce9b8 commit 6ef3177
Show file tree
Hide file tree
Showing 13 changed files with 61 additions and 54 deletions.
19 changes: 13 additions & 6 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
### Changed

### Added

### Fixed

## [0.6.0] - 2023-10-31
### Changed
- *BREAKING:* partiql-value: `BindingsName` changed to hold `Cow<str>` rather than `String`
- *BREAKING:* partiql-eval: Construction of expression evaluators changed to separate binding from evaluation of expression. & implement strict eval
- *BREAKING:* partiql-value: `Value` trait's `is_null_or_missing` renamed to `is_absent`
Expand Down Expand Up @@ -41,7 +47,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Add `COUNT(*)` implementation
- Add `to_vec` method to `List` and `Bag` to convert to a `Vec`

### Fixes
### Fixed
- Fixes parsing of multiple consecutive path wildcards (e.g. `a[*][*][*]`), unpivot (e.g. `a.*.*.*`), and path expressions (e.g. `a[1 + 2][3 + 4][5 + 6]`)—previously these would not parse correctly.
- partiql-parser set quantifier for bag operators fixed to `DISTINCT`
- partiql-parser set quantifier for bag operators fixed to be `DISTINCT` when unspecified
Expand All @@ -60,13 +66,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added
- Ability to add and view errors during evaluation with partiql-eval's `EvalContext`
- AST sub-trees representing literal values are lowered to `Value`s during planning
### Fixes
### Fixed

## [0.4.1] - 2023-05-25
### Changed
- partiql-extension-ion-functions : Made `IonExtension` `pub`
### Added
### Fixes
### Fixed

## [0.4.0] - 2023-05-24
### Changed
Expand All @@ -86,7 +92,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Add `partiql-catalog` including an experimental `Catalog` interface and implementation
- Implements the `COLL_*` functions -- `COLL_AVG`, `COLL_COUNT`, `COLL_MAX`, `COLL_MIN`, `COLL_SUM`
- Adds AST to logical plan lowering for `IN` expressions
### Fixes
### Fixed
- Fix parsing of `EXTRACT` datetime parts `YEAR`, `TIMEZONE_HOUR`, and `TIMEZONE_MINUTE`
- Fix logical plan to eval plan conversion for `EvalOrderBySortSpec` with arguments `DESC` and `NULLS LAST`
- Fix parsing of `EXTRACT` to allow keywords after the `FROM`
Expand Down Expand Up @@ -122,7 +128,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Implements `ORDER BY` operator in evaluator
- Implements SQL aggregation functions (`AVG`, `COUNT`, `MAX`, `MIN`, `SUM`) in evaluator

### Fixes
### Fixed
- Some performance improvements from removing extraneous `clone`s and tweaking buffer sizes
- Fix off by one error when checking preconditions to lower join `ON`
- Recognize aggregate fn names in parser
Expand Down Expand Up @@ -196,7 +202,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- PartiQL Playground proof of concept (POC)
- PartiQL CLI with REPL and query visualization features

[Unreleased]: https://github.com/partiql/partiql-lang-rust/compare/v0.5.0...HEAD
[Unreleased]: https://github.com/partiql/partiql-lang-rust/compare/v0.6.0...HEAD
[0.6.0]: https://github.com/partiql/partiql-lang-rust/releases/tag/v0.6.0
[0.5.0]: https://github.com/partiql/partiql-lang-rust/releases/tag/v0.5.0
[0.4.1]: https://github.com/partiql/partiql-lang-rust/releases/tag/v0.4.1
[0.4.0]: https://github.com/partiql/partiql-lang-rust/releases/tag/v0.4.0
Expand Down
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
authors = ["PartiQL Team <[email protected]>"]
homepage = "https://github.com/partiql/partiql-lang-rust"
repository = "https://github.com/partiql/partiql-lang-rust"
version = "0.5.0"
version = "0.6.0"
edition = "2021"

[workspace]
Expand Down
16 changes: 8 additions & 8 deletions extension/partiql-extension-ion-functions/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@ edition.workspace = true
bench = false

[dependencies]
partiql-extension-ion = {path = "../partiql-extension-ion", version = "0.5.*" }
partiql-value = { path = "../../partiql-value", version = "0.5.*" }
partiql-catalog = { path = "../../partiql-catalog", version = "0.5.*" }
partiql-logical = { path = "../../partiql-logical", version = "0.5.*" }
partiql-extension-ion = {path = "../partiql-extension-ion", version = "0.6.*" }
partiql-value = { path = "../../partiql-value", version = "0.6.*" }
partiql-catalog = { path = "../../partiql-catalog", version = "0.6.*" }
partiql-logical = { path = "../../partiql-logical", version = "0.6.*" }

ordered-float = "3.*"
itertools = "0.10.*"
Expand All @@ -42,10 +42,10 @@ flate2 = "1.0"

[dev-dependencies]
criterion = "0.4"
partiql-parser = { path = "../../partiql-parser", version = "0.5.*" }
partiql-logical = { path = "../../partiql-logical", version = "0.5.*" }
partiql-logical-planner = { path = "../../partiql-logical-planner", version = "0.5.*" }
partiql-eval = { path = "../../partiql-eval", version = "0.5.*" }
partiql-parser = { path = "../../partiql-parser", version = "0.6.*" }
partiql-logical = { path = "../../partiql-logical", version = "0.6.*" }
partiql-logical-planner = { path = "../../partiql-logical-planner", version = "0.6.*" }
partiql-eval = { path = "../../partiql-eval", version = "0.6.*" }

[features]
default = []
2 changes: 1 addition & 1 deletion extension/partiql-extension-ion/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ edition.workspace = true
bench = false

[dependencies]
partiql-value = { path = "../../partiql-value", version = "0.5.*" }
partiql-value = { path = "../../partiql-value", version = "0.6.*" }
ordered-float = "3.*"
itertools = "0.10.*"
unicase = "2.6"
Expand Down
10 changes: 5 additions & 5 deletions partiql-ast-passes/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ homepage.workspace = true
repository.workspace = true
license = "Apache-2.0"
readme = "../README.md"
keywords = ["sql", "ast", "query", "compilers", "interpreters", "visitors", "passes"]
keywords = ["sql", "ast", "compilers", "visitors", "passes"]
categories = ["database", "compilers", "ast-implementations"]
exclude = [
"**/.git/**",
Expand All @@ -20,17 +20,17 @@ path = "src/lib.rs"
bench = false

[dependencies]
partiql-ast = { path = "../partiql-ast", version = "0.5.*" }
partiql-catalog = { path = "../partiql-catalog", version = "0.5.*" }
partiql-types = { path = "../partiql-types", version = "0.5.*" }
partiql-ast = { path = "../partiql-ast", version = "0.6.*" }
partiql-catalog = { path = "../partiql-catalog", version = "0.6.*" }
partiql-types = { path = "../partiql-types", version = "0.6.*" }

assert_matches = "1.5.*"
fnv = "1"
indexmap = "1.9"
thiserror = "1.0"

[dev-dependencies]
partiql-parser = { path = "../partiql-parser", version = "0.5.*" }
partiql-parser = { path = "../partiql-parser", version = "0.6.*" }

[features]
default = []
2 changes: 1 addition & 1 deletion partiql-ast/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -37,4 +37,4 @@ serde = [

[dependencies.partiql-ast-macros]
path = "partiql-ast-macros"
version = "0.5.*"
version = "0.6.*"
8 changes: 4 additions & 4 deletions partiql-catalog/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@ edition.workspace = true
bench = false

[dependencies]
partiql-value = { path = "../partiql-value", version = "0.5.*" }
partiql-parser = { path = "../partiql-parser", version = "0.5.*" }
partiql-logical = { path = "../partiql-logical", version = "0.5.*" }
partiql-types = { path = "../partiql-types", version = "0.5.*" }
partiql-value = { path = "../partiql-value", version = "0.6.*" }
partiql-parser = { path = "../partiql-parser", version = "0.6.*" }
partiql-logical = { path = "../partiql-logical", version = "0.6.*" }
partiql-types = { path = "../partiql-types", version = "0.6.*" }

thiserror = "1.0"
ordered-float = "3.*"
Expand Down
20 changes: 10 additions & 10 deletions partiql-conformance-tests/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -29,18 +29,18 @@ bench = false

[build-dependencies]
miette = { version ="5.*", features = ["fancy"] }
partiql-conformance-test-generator = { path = "../partiql-conformance-test-generator", version = "0.5.*" }
partiql-conformance-test-generator = { path = "../partiql-conformance-test-generator", version = "0.6.*" }

[dependencies]
partiql-parser = { path = "../partiql-parser", version = "0.5.*" }
partiql-catalog = { path = "../partiql-catalog", version = "0.5.*" }
partiql-ast = { path = "../partiql-ast", version = "0.5.*" }
partiql-ast-passes = { path = "../partiql-ast-passes", version = "0.5.*" }
partiql-logical-planner = { path = "../partiql-logical-planner", version = "0.5.*" }
partiql-logical = { path = "../partiql-logical", version = "0.5.*" }
partiql-value = { path = "../partiql-value", version = "0.5.*" }
partiql-eval = { path = "../partiql-eval", version = "0.5.*" }
partiql-extension-ion = {path = "../extension/partiql-extension-ion", version = "0.5.*" }
partiql-parser = { path = "../partiql-parser", version = "0.6.*" }
partiql-catalog = { path = "../partiql-catalog", version = "0.6.*" }
partiql-ast = { path = "../partiql-ast", version = "0.6.*" }
partiql-ast-passes = { path = "../partiql-ast-passes", version = "0.6.*" }
partiql-logical-planner = { path = "../partiql-logical-planner", version = "0.6.*" }
partiql-logical = { path = "../partiql-logical", version = "0.6.*" }
partiql-value = { path = "../partiql-value", version = "0.6.*" }
partiql-eval = { path = "../partiql-eval", version = "0.6.*" }
partiql-extension-ion = {path = "../extension/partiql-extension-ion", version = "0.6.*" }

ion-rs = "0.18"

Expand Down
8 changes: 4 additions & 4 deletions partiql-eval/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@ edition.workspace = true
bench = false

[dependencies]
partiql-logical = { path = "../partiql-logical", version = "0.5.*" }
partiql-value = { path = "../partiql-value", version = "0.5.*" }
partiql-catalog = { path = "../partiql-catalog", version = "0.5.*" }
partiql-types = { path = "../partiql-types", version = "0.5.*" }
partiql-logical = { path = "../partiql-logical", version = "0.6.*" }
partiql-value = { path = "../partiql-value", version = "0.6.*" }
partiql-catalog = { path = "../partiql-catalog", version = "0.6.*" }
partiql-types = { path = "../partiql-types", version = "0.6.*" }
petgraph = "0.6.*"
ordered-float = "3.*"
itertools = "0.10.*"
Expand Down
20 changes: 10 additions & 10 deletions partiql-logical-planner/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,14 @@ edition.workspace = true
bench = false

[dependencies]
partiql-value = { path = "../partiql-value", version = "0.5.*" }
partiql-extension-ion = {path = "../extension/partiql-extension-ion", version = "0.5.*" }
partiql-logical = { path = "../partiql-logical", version = "0.5.*" }
partiql-ast = { path = "../partiql-ast", version = "0.5.*" }
partiql-parser = { path = "../partiql-parser", version = "0.5.*" }
partiql-catalog = { path = "../partiql-catalog", version = "0.5.*" }
partiql-ast-passes = { path = "../partiql-ast-passes", version = "0.5.*" }
partiql-types = { path = "../partiql-types", version = "0.5.*" }
partiql-value = { path = "../partiql-value", version = "0.6.*" }
partiql-extension-ion = {path = "../extension/partiql-extension-ion", version = "0.6.*" }
partiql-logical = { path = "../partiql-logical", version = "0.6.*" }
partiql-ast = { path = "../partiql-ast", version = "0.6.*" }
partiql-parser = { path = "../partiql-parser", version = "0.6.*" }
partiql-catalog = { path = "../partiql-catalog", version = "0.6.*" }
partiql-ast-passes = { path = "../partiql-ast-passes", version = "0.6.*" }
partiql-types = { path = "../partiql-types", version = "0.6.*" }

ion-rs = "0.18"
ordered-float = "3.*"
Expand All @@ -43,5 +43,5 @@ once_cell = "1"
thiserror = "1.0"

[dev-dependencies]
partiql-eval = { path = "../partiql-eval", version = "0.5.*" }
partiql-types = { path = "../partiql-types", version = "0.5.*" }
partiql-eval = { path = "../partiql-eval", version = "0.6.*" }
partiql-types = { path = "../partiql-types", version = "0.6.*" }
2 changes: 1 addition & 1 deletion partiql-logical/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ edition.workspace = true
bench = false

[dependencies]
partiql-value = { path = "../partiql-value", version = "0.5.*" }
partiql-value = { path = "../partiql-value", version = "0.6.*" }
ordered-float = "3.*"
itertools = "0.10.*"
unicase = "2.6"
Expand Down
4 changes: 2 additions & 2 deletions partiql-parser/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ bench = false
lalrpop = "0.20"

[dependencies]
partiql-ast = { path = "../partiql-ast", version = "0.5.*" }
partiql-source-map = { path = "../partiql-source-map", version = "0.5.*" }
partiql-ast = { path = "../partiql-ast", version = "0.6.*" }
partiql-source-map = { path = "../partiql-source-map", version = "0.6.*" }

thiserror = "1.0"

Expand Down
2 changes: 1 addition & 1 deletion partiql-source-map/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ edition.workspace = true
bench = false

[dependencies]
partiql-ast = { path = "../partiql-ast", version = "0.5.*" }
partiql-ast = { path = "../partiql-ast", version = "0.6.*" }

smallvec = { version = "1.*" }
serde = { version = "1.*", features = ["derive"], optional = true }
Expand Down

2 comments on commit 6ef3177

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PartiQL (rust) Benchmark

Benchmark suite Current: 6ef3177 Previous: 57ce9b8 Ratio
arith_agg-avg 941419 ns/iter (± 73644) 1010917 ns/iter (± 28031) 0.93
arith_agg-avg_distinct 1276486 ns/iter (± 55450) 1300979 ns/iter (± 2728) 0.98
arith_agg-count 1264891 ns/iter (± 86620) 1251936 ns/iter (± 5916) 1.01
arith_agg-count_distinct 1266475 ns/iter (± 43908) 1293721 ns/iter (± 4954) 0.98
arith_agg-min 1249892 ns/iter (± 46994) 1259162 ns/iter (± 5519) 0.99
arith_agg-min_distinct 1283726 ns/iter (± 104311) 1298623 ns/iter (± 4017) 0.99
arith_agg-max 1262569 ns/iter (± 55099) 1265816 ns/iter (± 8128) 1.00
arith_agg-max_distinct 1325749 ns/iter (± 98187) 1307918 ns/iter (± 2428) 1.01
arith_agg-sum 1266184 ns/iter (± 60314) 1258395 ns/iter (± 6754) 1.01
arith_agg-sum_distinct 1270357 ns/iter (± 63684) 1298318 ns/iter (± 5421) 0.98
arith_agg-avg-count-min-max-sum 1505602 ns/iter (± 63925) 1517685 ns/iter (± 3595) 0.99
arith_agg-avg-count-min-max-sum-group_by 1807514 ns/iter (± 68759) 1877847 ns/iter (± 5923) 0.96
arith_agg-avg-count-min-max-sum-group_by-group_as 2791700 ns/iter (± 106288) 2707518 ns/iter (± 5247) 1.03
arith_agg-avg_distinct-count_distinct-min_distinct-max_distinct-sum_distinct 1763977 ns/iter (± 104833) 1754770 ns/iter (± 9772) 1.01
arith_agg-avg_distinct-count_distinct-min_distinct-max_distinct-sum_distinct-group_by 2069455 ns/iter (± 65747) 2109893 ns/iter (± 12878) 0.98
arith_agg-avg_distinct-count_distinct-min_distinct-max_distinct-sum_distinct-group_by-group_as 3011931 ns/iter (± 92495) 2951261 ns/iter (± 8525) 1.02
parse-1 5885 ns/iter (± 386) 5530 ns/iter (± 10) 1.06
parse-15 48940 ns/iter (± 3352) 50738 ns/iter (± 174) 0.96
parse-30 96015 ns/iter (± 5566) 99995 ns/iter (± 234) 0.96
compile-1 5179 ns/iter (± 215) 5551 ns/iter (± 30) 0.93
compile-15 42074 ns/iter (± 8757) 43082 ns/iter (± 127) 0.98
compile-30 87148 ns/iter (± 2559) 88331 ns/iter (± 64) 0.99
plan-1 96812 ns/iter (± 4347) 64531 ns/iter (± 238) 1.50
plan-15 1470510 ns/iter (± 62830) 1039325 ns/iter (± 6144) 1.41
plan-30 2904917 ns/iter (± 113963) 2079499 ns/iter (± 3489) 1.40
eval-1 19178617 ns/iter (± 1710894) 22028250 ns/iter (± 578575) 0.87
eval-15 101956959 ns/iter (± 4930025) 114887145 ns/iter (± 776530) 0.89
eval-30 197651181 ns/iter (± 6742894) 214497420 ns/iter (± 513872) 0.92
join 11551 ns/iter (± 497) 13429 ns/iter (± 20) 0.86
simple 3252 ns/iter (± 130) 3583 ns/iter (± 2) 0.91
simple-no 529 ns/iter (± 23) 579 ns/iter (± 0) 0.91
numbers 41 ns/iter (± 1) 52 ns/iter (± 0) 0.79
parse-simple 740 ns/iter (± 52) 736 ns/iter (± 0) 1.01
parse-ion 2293 ns/iter (± 87) 2234 ns/iter (± 6) 1.03
parse-group 7491 ns/iter (± 454) 7536 ns/iter (± 29) 0.99
parse-complex 20031 ns/iter (± 1140) 20279 ns/iter (± 62) 0.99
parse-complex-fexpr 30696 ns/iter (± 1783) 29654 ns/iter (± 62) 1.04

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Performance Alert ⚠️

Possible performance regression was detected for benchmark 'PartiQL (rust) Benchmark'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.50.

Benchmark suite Current: 6ef3177 Previous: 57ce9b8 Ratio
plan-1 96812 ns/iter (± 4347) 64531 ns/iter (± 238) 1.50

This comment was automatically generated by workflow using github-action-benchmark.

CC: @alancai98 @alancai98 @partiql

Please sign in to comment.