@@ -7,22 +7,46 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
8
8
## [ Unreleased]
9
9
### 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
10
16
11
17
### Added
12
- - ` DATE ` /` TIME ` /` TIMESTAMP ` values
13
- - Implements ` LIMIT ` and ` OFFSET ` operators in evaluator
14
18
- Adds some benchmarks for parsing, compiling, planning, & evaluation
19
+ - Implements more built-in functions -- ` POSITION ` , ` OCTET_LEN ` , ` BIT_LEN ` , ` ABS ` , ` MOD ` , ` CARDINALITY ` , ` OVERLAY `
15
20
- 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
17
23
- 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
19
34
- Implements ` GROUP BY ` operator in evaluator
20
35
- Implements ` HAVING ` operator in evaluator
21
36
- 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
23
38
24
39
### 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
25
48
- Fixes Tuple value duplicate equality and hashing
49
+ - Properly skip comments when parsing
26
50
27
51
## [ 0.2.0] - 2023-01-10
28
52
### Changed
@@ -89,3 +113,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
89
113
[ Unreleased ] : https://github.com/partiql/partiql-lang-rust/compare/v0.2.0...HEAD
90
114
[ 0.1.0 ] : https://github.com/partiql/partiql-lang-rust/releases/tag/v0.1.0
91
115
[ 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