You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Implement indexes (currently only unique indexes are supported) (#65)
* feat: implement `DataValue::to_index_key`
* feat: implement `Index` and encoding in `TableCodec`
* feat: implementing when create table, detect the unique field and create a unique index for it
* feat: when inserting data, it will check whether the field has a corresponding unique index, insert the index and check whether it already exists
* feat: Processing of unique indexes when adding update and delete
* feat: Processing of unique indexes when truncate
* style: rename Table -> Transaction, Transaction -> Iter
* feat: added `ScalarExpression::convert_binary`
used to extract the constant binary expression information corresponding to Column in the condition of the where clause
* style: code optimization
* feat: Implement RBO rule -> `SimplifyFilter`
* test: add test case for simplification.rs
* feat: add RBO Rule`SimplifyFilter`
* perf: `ConstantBinary::scope_aggregation`
Fusion of marginal values with values within a range
* feat: implement `ConstantBinary::rearrange`
constant folding -> expression extraction -> aggregation (and) -> rearrangement (or)
* fix: `ConstantBinary::scope_aggregation` selection of Eq/NotEq and Scope
* fix: `ConstantBinary::scope_aggregation` the eq condition only aggregates one
* feat: add RBO Rule`PushPredicateIntoScan`
* feat: implement `IndexScan`
* feat: implement offset and limit for `IndexScan`
* fix: many bugs
- RBO Rule: `PushProjectThroughChild`: fixed the problem of missing fields when pushing down
- RBO Rule: `PushLimitThroughJoin`: fixed the problem that when the on condition in Join generates multiple same number of connection rows, the limit limit is exceeded.
-
* fix: resolve merge conflicts
* style: code format
* fix: check or in `c1 > c2 or c1 > 1`
* docs: supplementary index related
* perf: `ScalarExpression::check_or` optimize implementation
* feat: implemented for Decimal type `DataValue::to_index_key`
* perf: Optimized `DataValue` conversion to bitwise sequence
* perf: optimized `DataValue::Utf8` convert to encoding of primary/unique key
* refactor: reconstruct the Key encoding of each structure of TableCodec
#68
0 commit comments