-
Notifications
You must be signed in to change notification settings - Fork 664
feat(260): Add index scans to vm #295
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
Conversation
| table_id: &TableId, | ||
| col_id: &ColId, | ||
| value: &'a AlgebraicValue, | ||
| value: &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.
The changes in this file are just fallout from having Eq iterators own their Algebraic value.
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.
Why did we want them to own their own value? Might have missed the reason in the diff.
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.
Mainly to avoid having these methods take two lifetime parameters. Previously these algebraic values' lifetimes were associated with the db object itself.
f24a914 to
a696cc6
Compare
a696cc6 to
3c32486
Compare
Centril
left a comment
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.
Seeing the code like this gave me a better understanding so I found an optimization opportunity and some simplifications
e6bcca3 to
851323d
Compare
mamcx
left a comment
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.
LGTM
|
benchmarks please |
1 similar comment
|
benchmarks please |
| None | ||
| }; | ||
|
|
||
| // If the first operation is an index scan, open an index cursor, else a table cursor. |
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.
It's a small thing but I don't love the thrashing the front of the vec query.query in the non-index-scan case. Would it be hard to only pop the front in that case, rather than pop and push from the front?
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.
Thanks for pointing this out. Done!
1fc634c to
0706466
Compare
0706466 to
c22469a
Compare
c22469a to
7afac0f
Compare
fixed typo: "Next add let's add" -> "Let's add"
## Description of Changes SDK side of #2636 Addresses clockworklabs/com.clockworklabs.spacetimedbsdk#281 ## API - [ ] This is an API breaking change to the SDK ## Requires SpacetimeDB PRs #2636 ## Testsuite *If you would like to run the your SDK changes in this PR against a specific SpacetimeDB branch, specify that here. This can be a branch name or a link to a PR.* SpacetimeDB branch name: jgilles/on-unhandled-reducer-error ## Testing - [ ] Add a test that this works to the regression-tests example module
## Description of Changes SDK side of #2636 Addresses clockworklabs/com.clockworklabs.spacetimedbsdk#281 ## API - [ ] This is an API breaking change to the SDK ## Requires SpacetimeDB PRs #2636 ## Testsuite *If you would like to run the your SDK changes in this PR against a specific SpacetimeDB branch, specify that here. This can be a branch name or a link to a PR.* SpacetimeDB branch name: jgilles/on-unhandled-reducer-error ## Testing - [ ] Add a test that this works to the regression-tests example module
Fixes #260
Description of Changes
Generates index scans for point queries
API and ABI
If the API is breaking, please state below what will break