-
Notifications
You must be signed in to change notification settings - Fork 109
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
query engine integration #2074
base: master
Are you sure you want to change the base?
query engine integration #2074
Conversation
3e4ae13
to
eaa2861
Compare
8a4e30b
to
bace373
Compare
@@ -575,25 +711,14 @@ pub enum Sarg { | |||
Range(ColId, Bound<AlgebraicValue>, Bound<AlgebraicValue>), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In
pub enum Sarg {
Range(ColId, Bound<AlgebraicValue>, Bound<AlgebraicValue>),
Range(ColId, Bound<AlgebraicValue>, Bound<AlgebraicValue>), | |
Range(BinOp,ColId, Bound<AlgebraicValue>, Bound<AlgebraicValue>), |
(for the plan printer)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we defer this decision until we optimize range scans? I'm not sure which representation is best until we add rewrites that use it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I need the BinOp
for printing the plan
9f7e6b3
to
898bb69
Compare
fefcfc2
to
ea08ced
Compare
Description of Changes
This patch integrates the new query engine into the query code path. It does not integrate the new engine into incremental evaluation path.
query
crate which is the top level crate for invoking the query engine.The old engine will be removed once incremental evaluation has been updated to use the new engine.
API and ABI breaking changes
n/a
Expected complexity level and risk
4
The query engine is responsible for implementing the subscription logic, which is the only way to read data out of SpacetimeDB. As such, its correctness and performance is paramount.
Testing
We have already added tests to ensure we preserve semantics, with more being worked on currently. This patch updates the applicable benchmarks to ensure we maintain performance characteristics.