-
-
Notifications
You must be signed in to change notification settings - Fork 504
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
Add support for Doltgres indexes #8186
Conversation
Hydrocharged
commented
Aug 1, 2024
- Add support for Poltgres-compatible indexes doltgresql#561
@Hydrocharged DOLT
|
17851bb
to
7f96a14
Compare
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 like the doltgresql side, I mentioned this before but I think reimplementing map iters isn't the best separation of concerns. @zachmu is better at interface tradeoffs, but I think hiding all of the details behind a different Range.Matches
is better than duplicating iterators. I could be missing some bespoke postgres logic that requires more control, but it looks like binary search callbacks to me. If "findStart" / "findStop" can't be rewritten for our existing star cursor/end cursor iters, I think it'd be straightforward to add those primitives to the tree layer rather than implementing in the index
package. Even if we branch logic without interface niceties, it's just such a smaller surface area to test/way greater code reusability if we keep the map iter implementations narrow. Duplicating fixes to all of the noms iters for so long was inefficient, a bit of time spent avoiding that state again would be my vote. I apologize for the handwavy nature of these comments, hopefully it makes sense from prior context, and happy to dive into more specifics if you want.
f97e2f6
to
ead9df6
Compare
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.
This seems like it's in a place that would be amenable to refactors. It'd be nice to maybe document why there is non-logical overlap between mysql and PG ranges, in case we want to try to make the arithmetic faster at some point. The start/stop semantics don't seem bad, but it is different from how we do it in MySQL, and if I had to guess it seems like both the MySQL and PG sides could use either interface with the right compensating filters.
d345826
to
68fb61e
Compare
68fb61e
to
24b49d0
Compare
@Hydrocharged DOLT
|