Jussi Saurio
d584a1879b
Mark WHERE terms as consumed instead of deleting them
...
We've run into trouble in multiple places due to the fact that
we delete terms from the where clause (e.g. when a constant condition
is removed, or the term becomes part of an index seek key).
A simpler solution is to add a flag indicating that the term is
consumed (used), so that it is not translated in the main loop
anymore when WHERE clause terms are evaluated.
2025-05-17 15:44:12 +03:00
pedrocarlo
4dc1431428
handling edge case when passing duplicate a multi-column unique index
2025-05-14 11:46:24 -03:00
Jussi Saurio
176d9bd3c7
Prune bad plans earlier to avoid allocating useless JoinN structs
2025-05-14 09:42:26 +03:00
Jussi Saurio
eb983c88c6
reserve capacity for memo hashmap entries
2025-05-14 09:42:26 +03:00
Jussi Saurio
5e5788bdfe
Reduce allocations
2025-05-14 09:42:26 +03:00
Jussi Saurio
d2fa91e984
avoid growing vec
2025-05-14 09:42:26 +03:00
Jussi Saurio
1d465e6d94
Remove unnecessary method
2025-05-14 09:42:26 +03:00
Jussi Saurio
9d50446ffb
AccessMethod: simplify - get rid of AccessMethodKind as it can be derived
2025-05-14 09:42:26 +03:00
Jussi Saurio
a90358f669
TableMask: comments
2025-05-14 09:42:26 +03:00
Jussi Saurio
3442e4981d
remove some unnecessary parameters
2025-05-14 09:42:26 +03:00
Jussi Saurio
c782616180
Refactor constraints so that WHERE clause is not needed in join reordering phase
2025-05-14 09:42:26 +03:00
Jussi Saurio
bd875e3876
optimizer module split
2025-05-14 09:42:26 +03:00