@@ -7,22 +7,46 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77
88## [ Unreleased]
99### Changed
10+ - ` EvalExpr.evaluate ` function now returns a [ Cow] ( https://doc.rust-lang.org/std/borrow/enum.Cow.html ) of ` Value `
11+ - ` Evaluable ` trait's ` get_vars ` function returns by ref
12+ - Refactor of ` partiql-eval ` crate
13+ - Operators previously implementing ` Evaluable ` (e.g. ` EvalScan ` , ` EvalFilter ` ) are under the ` eval::evaluable ` module
14+ - Expressions previously implementing ` EvalExpr ` (e.g. ` EvalBinOpExpr ` , ` EvalLitExpr ` ) are under the ` eval::expr ` module
15+ - Refactor ` CallAgg ` ` partiql-ast ` node
1016
1117### Added
12- - ` DATE ` /` TIME ` /` TIMESTAMP ` values
13- - Implements ` LIMIT ` and ` OFFSET ` operators in evaluator
1418- Adds some benchmarks for parsing, compiling, planning, & evaluation
19+ - Implements more built-in functions -- ` POSITION ` , ` OCTET_LEN ` , ` BIT_LEN ` , ` ABS ` , ` MOD ` , ` CARDINALITY ` , ` OVERLAY `
1520- Implements ` PIVOT ` operator in evaluator
16- - ` serde ` feature to ` partiql-value ` and ` partiql-logical ` with ` Serialize ` and ` Deserialize ` traits.
21+ - Implements ` LIKE ` for non-string, non-literals
22+ - ` serde ` feature to ` partiql-value ` and ` partiql-logical ` with ` Serialize ` and ` Deserialize ` traits
1723- Adds ` Display ` for ` LogicalPlan `
18- - Expose ` partiql_value::parse_ion ` as a public API.
24+ - Expose ` partiql_value::parse_ion ` as a public API
25+ - Adds some convenience methods on ` Value `
26+ - Add ` Extend ` implementations for ` List ` and ` Bag `
27+ - Add methods to iterate a ` Tuple ` 's values without zipping its names
28+ - Allow ` collect() ` into a ` Tuple ` with any ` Into<String> `
29+ - Parse ` OUTER UNION ` /` INTERSECT ` /` EXCEPT `
30+ - Parse ` WITH ` clause
31+ - Implements ` LIMIT ` and ` OFFSET ` operators in evaluator
32+ - ` DATE ` /` TIME ` /` TIMESTAMP ` values
33+ - Parse ` TABLE <id> ` references
1934- Implements ` GROUP BY ` operator in evaluator
2035- Implements ` HAVING ` operator in evaluator
2136- Implements ` ORDER BY ` operator in evaluator
22- - Implements SQL Aggregation functions -- AVG, COUNT, MAX, MIN, SUM
37+ - Implements SQL aggregation functions ( ` AVG ` , ` COUNT ` , ` MAX ` , ` MIN ` , ` SUM ` ) in evaluator
2338
2439### Fixes
40+ - Some performance improvements from removing extraneous ` clone ` s and tweaking buffer sizes
41+ - Fix off by one error when checking preconditions to lower join ` ON `
42+ - Recognize aggregate fn names in parser
43+ - Pass-through comments when processing special forms
44+ - Make ` BY <x> ` optional in ` GROUP ` clause
45+ - Fix ` JOIN ` parsing by defaulting to ` INNER ` and allowing elision of keywords
46+ - Allow un-parenthesized subquery as the only argument of a function in parser
47+ - Fix handling of List/Bag/Tuple in keyword argument preprocessing in parser
2548- Fixes Tuple value duplicate equality and hashing
49+ - Properly skip comments when parsing
2650
2751## [ 0.2.0] - 2023-01-10
2852### Changed
@@ -89,3 +113,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
89113[ Unreleased ] : https://github.com/partiql/partiql-lang-rust/compare/v0.2.0...HEAD
90114[ 0.1.0 ] : https://github.com/partiql/partiql-lang-rust/releases/tag/v0.1.0
91115[ 0.2.0 ] : https://github.com/partiql/partiql-lang-rust/releases/tag/v0.2.0
116+ [ 0.3.0 ] : https://github.com/partiql/partiql-lang-rust/releases/tag/v0.3.0
0 commit comments