Skip to content

Commit

Permalink
chore: Release v0.7.0 (#450)
Browse files Browse the repository at this point in the history
  • Loading branch information
jpschorr authored Mar 12, 2024
1 parent 6e16561 commit af599b6
Show file tree
Hide file tree
Showing 14 changed files with 67 additions and 60 deletions.
29 changes: 18 additions & 11 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,20 +7,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]
### Changed

### Added

### Fixed

## [0.7.0] - 2024-03-12
### Changed
- Adds quotes to the attributes of PartiQL tuple's debug output so it can be read and transformed using Kotlin `partiql-cli`
- Adds u8, u16, u32, u64, and u128 support to partiql_value::Value::from(type)
- [breaking] Changes the interface to `EvalPlan` to accept an `EvalContext`
- [breaking] Changes `EvaluationError` to not implement `Clone`
- [breaking] Changes the structure of `EvalPlan`
- *BREAKING:* partiql-eval: Changes the interface to `EvalPlan` to accept an `EvalContext`
- *BREAKING:* partiql-eval: Changes `EvaluationError` to not implement `Clone`
- *BREAKING:* partiql-eval: Changes the structure of `EvalPlan`

### Added
- Add `partiql-extension-visualize` for visualizing AST and logical plan
- Add a `SessionContext` containing both a system-level and a user-level context object usable by expression evaluation
- partiql-extension-visualize: Add `partiql-extension-visualize` for visualizing AST and logical plan
- partiql-eval: Add a `SessionContext` containing both a system-level and a user-level context object usable by expression evaluation

### Fixed
- Fixed `ORDER BY`'s ability to see into projection aliases
- Fixed errors in `BaseTableExpr`s get added to the evaluation context
- Fixed certain errors surfacing in Permissive evaluation mode, when they should only be present in Strict mode
- partiql-logical-planner: Fixed `ORDER BY`'s ability to see into projection aliases
- partiql-eval: Fixed errors in `BaseTableExpr`s get added to the evaluation context
- partiql-eval: Fixed certain errors surfacing in Permissive evaluation mode, when they should only be present in Strict mode

## [0.6.0] - 2023-10-31
### Changed
Expand All @@ -40,7 +46,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Affects the AST and visitor
- *BREAKING:* partiql-parser: `Parsed` struct's `ast` field is now an `ast::AstNode<ast::TopLevelQuery>`
- *BREAKING:* partiql-eval: `Evaluable` trait's `update_input` fn now also takes in an `EvalContext`
- *BREAKING:* partiql-logical: changed modeling of `Project` `exprs` to be a `Vec<(String, ValueExpr)>` rather than a `HashMap<String, ValueExpr>` to support multiple project items with the same alias
- *BREAKING:* partiql-eval: changed modeling of `Project` `exprs` to be a `Vec<(String, ValueExpr)>` rather than a `HashMap<String, ValueExpr>` to support multiple project items with the same alias
- *BREAKING:* partiql-logical: changed modeling of `VarRef` to include a `VarRefType` to indicate whether to do a local vs global binding lookup

### Added
Expand Down Expand Up @@ -212,7 +218,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.6.0...HEAD
[Unreleased]: https://github.com/partiql/partiql-lang-rust/compare/v0.7.0...HEAD
[0.7.0]: https://github.com/partiql/partiql-lang-rust/releases/tag/v0.7.0
[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
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.6.0"
version = "0.7.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.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.*" }
partiql-extension-ion = {path = "../partiql-extension-ion", version = "0.7.*" }
partiql-value = { path = "../../partiql-value", version = "0.7.*" }
partiql-catalog = { path = "../../partiql-catalog", version = "0.7.*" }
partiql-logical = { path = "../../partiql-logical", version = "0.7.*" }

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.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.*" }
partiql-parser = { path = "../../partiql-parser", version = "0.7.*" }
partiql-logical = { path = "../../partiql-logical", version = "0.7.*" }
partiql-logical-planner = { path = "../../partiql-logical-planner", version = "0.7.*" }
partiql-eval = { path = "../../partiql-eval", version = "0.7.*" }

[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.6.*" }
partiql-value = { path = "../../partiql-value", version = "0.7.*" }
ordered-float = "3.*"
itertools = "0.10.*"
unicase = "2.6"
Expand Down
4 changes: 2 additions & 2 deletions extension/partiql-extension-visualize/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ edition.workspace = true
bench = false

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

dot-writer = { version = "0.1.*", optional = true }
itertools = { version = "0.10.*", optional = true }
Expand Down
8 changes: 4 additions & 4 deletions partiql-ast-passes/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -20,17 +20,17 @@ path = "src/lib.rs"
bench = false

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

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

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

[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.6.*"
version = "0.7.*"
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.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.*" }
partiql-value = { path = "../partiql-value", version = "0.7.*" }
partiql-parser = { path = "../partiql-parser", version = "0.7.*" }
partiql-logical = { path = "../partiql-logical", version = "0.7.*" }
partiql-types = { path = "../partiql-types", version = "0.7.*" }

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.6.*" }
partiql-conformance-test-generator = { path = "../partiql-conformance-test-generator", version = "0.7.*" }

[dependencies]
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.*" }
partiql-parser = { path = "../partiql-parser", version = "0.7.*" }
partiql-catalog = { path = "../partiql-catalog", version = "0.7.*" }
partiql-ast = { path = "../partiql-ast", version = "0.7.*" }
partiql-ast-passes = { path = "../partiql-ast-passes", version = "0.7.*" }
partiql-logical-planner = { path = "../partiql-logical-planner", version = "0.7.*" }
partiql-logical = { path = "../partiql-logical", version = "0.7.*" }
partiql-value = { path = "../partiql-value", version = "0.7.*" }
partiql-eval = { path = "../partiql-eval", version = "0.7.*" }
partiql-extension-ion = {path = "../extension/partiql-extension-ion", version = "0.7.*" }

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.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.*" }
partiql-logical = { path = "../partiql-logical", version = "0.7.*" }
partiql-value = { path = "../partiql-value", version = "0.7.*" }
partiql-catalog = { path = "../partiql-catalog", version = "0.7.*" }
partiql-types = { path = "../partiql-types", version = "0.7.*" }
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.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.*" }
partiql-value = { path = "../partiql-value", version = "0.7.*" }
partiql-extension-ion = {path = "../extension/partiql-extension-ion", version = "0.7.*" }
partiql-logical = { path = "../partiql-logical", version = "0.7.*" }
partiql-ast = { path = "../partiql-ast", version = "0.7.*" }
partiql-parser = { path = "../partiql-parser", version = "0.7.*" }
partiql-catalog = { path = "../partiql-catalog", version = "0.7.*" }
partiql-ast-passes = { path = "../partiql-ast-passes", version = "0.7.*" }
partiql-types = { path = "../partiql-types", version = "0.7.*" }

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.6.*" }
partiql-types = { path = "../partiql-types", version = "0.6.*" }
partiql-eval = { path = "../partiql-eval", version = "0.7.*" }
partiql-types = { path = "../partiql-types", version = "0.7.*" }
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.6.*" }
partiql-value = { path = "../partiql-value", version = "0.7.*" }
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.6.*" }
partiql-source-map = { path = "../partiql-source-map", version = "0.6.*" }
partiql-ast = { path = "../partiql-ast", version = "0.7.*" }
partiql-source-map = { path = "../partiql-source-map", version = "0.7.*" }

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.6.*" }
partiql-ast = { path = "../partiql-ast", version = "0.7.*" }

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

1 comment on commit af599b6

@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: af599b6 Previous: 6e16561 Ratio
arith_agg-avg 744593 ns/iter (± 2615) 747809 ns/iter (± 34356) 1.00
arith_agg-avg_distinct 835586 ns/iter (± 16234) 831777 ns/iter (± 5705) 1.00
arith_agg-count 789549 ns/iter (± 26162) 790076 ns/iter (± 17042) 1.00
arith_agg-count_distinct 828354 ns/iter (± 12721) 823566 ns/iter (± 23775) 1.01
arith_agg-min 794067 ns/iter (± 4478) 797208 ns/iter (± 2083) 1.00
arith_agg-min_distinct 838780 ns/iter (± 5130) 828043 ns/iter (± 1950) 1.01
arith_agg-max 799322 ns/iter (± 3331) 800288 ns/iter (± 8875) 1.00
arith_agg-max_distinct 854656 ns/iter (± 2088) 837043 ns/iter (± 18183) 1.02
arith_agg-sum 794350 ns/iter (± 2987) 796913 ns/iter (± 21548) 1.00
arith_agg-sum_distinct 831739 ns/iter (± 4740) 827024 ns/iter (± 4742) 1.01
arith_agg-avg-count-min-max-sum 937809 ns/iter (± 3483) 939603 ns/iter (± 16643) 1.00
arith_agg-avg-count-min-max-sum-group_by 1184842 ns/iter (± 87490) 1205820 ns/iter (± 12994) 0.98
arith_agg-avg-count-min-max-sum-group_by-group_as 1734721 ns/iter (± 37235) 1788912 ns/iter (± 13490) 0.97
arith_agg-avg_distinct-count_distinct-min_distinct-max_distinct-sum_distinct 1211300 ns/iter (± 19877) 1229401 ns/iter (± 21851) 0.99
arith_agg-avg_distinct-count_distinct-min_distinct-max_distinct-sum_distinct-group_by 1479859 ns/iter (± 19086) 1518219 ns/iter (± 40358) 0.97
arith_agg-avg_distinct-count_distinct-min_distinct-max_distinct-sum_distinct-group_by-group_as 2052958 ns/iter (± 7398) 2117193 ns/iter (± 92643) 0.97
parse-1 4287 ns/iter (± 28) 4410 ns/iter (± 17) 0.97
parse-15 39497 ns/iter (± 264) 40403 ns/iter (± 1440) 0.98
parse-30 79151 ns/iter (± 332) 79352 ns/iter (± 554) 1.00
compile-1 4300 ns/iter (± 11) 4458 ns/iter (± 25) 0.96
compile-15 31105 ns/iter (± 102) 30702 ns/iter (± 128) 1.01
compile-30 63780 ns/iter (± 121) 62489 ns/iter (± 233) 1.02
plan-1 66623 ns/iter (± 259) 66573 ns/iter (± 342) 1.00
plan-15 1042232 ns/iter (± 22706) 1041907 ns/iter (± 10191) 1.00
plan-30 2088509 ns/iter (± 10138) 2086756 ns/iter (± 11988) 1.00
eval-1 12509924 ns/iter (± 73849) 12654151 ns/iter (± 180220) 0.99
eval-15 86717882 ns/iter (± 338709) 85231512 ns/iter (± 860320) 1.02
eval-30 167332440 ns/iter (± 2758053) 163672275 ns/iter (± 4185849) 1.02
join 9716 ns/iter (± 104) 9886 ns/iter (± 97) 0.98
simple 2466 ns/iter (± 7) 2496 ns/iter (± 11) 0.99
simple-no 438 ns/iter (± 1) 443 ns/iter (± 1) 0.99
numbers 58 ns/iter (± 0) 58 ns/iter (± 0) 1
parse-simple 570 ns/iter (± 1) 579 ns/iter (± 1) 0.98
parse-ion 1774 ns/iter (± 5) 1984 ns/iter (± 49) 0.89
parse-group 5618 ns/iter (± 25) 5956 ns/iter (± 65) 0.94
parse-complex 14686 ns/iter (± 178) 15655 ns/iter (± 33) 0.94
parse-complex-fexpr 21070 ns/iter (± 186) 22266 ns/iter (± 329) 0.95

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

Please sign in to comment.