feat!: implement delete operator
BREAKING CHANGE!: local motion now means local materialization of results on the storage without bucket calculation. The old logic of "do nothing" was moved into none motion. Implement delete SQL operator. It is always executed locally as we delete already existing tuples and never change tuple buckets. We reinvent the logic of the local motion policy (see the desclamer in this commit) and materialize the primary keys from projection on the storage. Then they are removed from the space via space API in a single local transaction.
Showing
- doc/sql/query.ebnf 2 additions, 1 deletiondoc/sql/query.ebnf
- sbroad-cartridge/test_app/test/integration/delete_test.lua 93 additions, 0 deletionssbroad-cartridge/test_app/test/integration/delete_test.lua
- sbroad-core/src/backend/sql/ir.rs 9 additions, 0 deletionssbroad-core/src/backend/sql/ir.rs
- sbroad-core/src/backend/sql/tree.rs 7 additions, 0 deletionssbroad-core/src/backend/sql/tree.rs
- sbroad-core/src/errors.rs 2 additions, 0 deletionssbroad-core/src/errors.rs
- sbroad-core/src/executor.rs 25 additions, 21 deletionssbroad-core/src/executor.rs
- sbroad-core/src/executor/bucket.rs 6 additions, 3 deletionssbroad-core/src/executor/bucket.rs
- sbroad-core/src/executor/engine/helpers.rs 156 additions, 41 deletionssbroad-core/src/executor/engine/helpers.rs
- sbroad-core/src/executor/ir.rs 10 additions, 7 deletionssbroad-core/src/executor/ir.rs
- sbroad-core/src/frontend/sql.rs 113 additions, 2 deletionssbroad-core/src/frontend/sql.rs
- sbroad-core/src/frontend/sql/ast.rs 40 additions, 1 deletionsbroad-core/src/frontend/sql/ast.rs
- sbroad-core/src/frontend/sql/ir/tests/single.rs 11 additions, 9 deletionssbroad-core/src/frontend/sql/ir/tests/single.rs
- sbroad-core/src/frontend/sql/query.pest 3 additions, 1 deletionsbroad-core/src/frontend/sql/query.pest
- sbroad-core/src/ir/explain.rs 16 additions, 0 deletionssbroad-core/src/ir/explain.rs
- sbroad-core/src/ir/explain/tests.rs 3 additions, 0 deletionssbroad-core/src/ir/explain/tests.rs
- sbroad-core/src/ir/explain/tests/delete.rs 59 additions, 0 deletionssbroad-core/src/ir/explain/tests/delete.rs
- sbroad-core/src/ir/helpers.rs 3 additions, 0 deletionssbroad-core/src/ir/helpers.rs
- sbroad-core/src/ir/operator.rs 48 additions, 5 deletionssbroad-core/src/ir/operator.rs
- sbroad-core/src/ir/relation.rs 1 addition, 1 deletionsbroad-core/src/ir/relation.rs
- sbroad-core/src/ir/transformation/redistribution.rs 56 additions, 25 deletionssbroad-core/src/ir/transformation/redistribution.rs
Loading
Please register or sign in to comment