feat(ivfflat): add INCLUDE column support for IVF indexes - #24168
Conversation
7f80869 to
199b731
Compare
XuPeng-SH
left a comment
There was a problem hiding this comment.
Deep review on current head 313d2fd34e8b: the previously blocking INCLUDE rerank type mismatch is fixed. Both multi-round and exact-PK SQL builders now share the entry-type query encoder; bf16/f16 use matching literals, int8/uint8 apply the trained affine quantizer, and returned distances are restored to source scale. The new focused tests cover narrow and quantized builders plus the exact-PK Search path.
I rechecked catalog persistence and ALTER propagation, async DML/ISCP maintenance, planner filter/candidate-budget behavior, runtime-filter cancellation and single-CN placement, per-input cursor reset, round termination/bounds, remote operator serialization, and plugin-layering guards. No new blocking correctness, compatibility, lifecycle, or resource issue found.
Exact-head local tests passed for pkg/vectorindex/ivfflat, pkg/sql/colexec/table_function, pkg/sql/plan, pkg/sql/compile, and pkg/iscp; git diff --check and all index-plugin guard greps passed. Current GitHub checks are success/skipped/neutral with no failing check.
Merge Queue Status
This pull request spent 3 hours 53 minutes 34 seconds in the queue, including 41 minutes 4 seconds running CI. Required conditions to merge
|
What type of PR is this?
Which issue(s) this PR fixes:
issue #24167
What this PR does / why we need it:
Add INCLUDE column support across IVF DDL, entries-table maintenance, planner rewrites, and ivf_search so covered vector queries can push include predicates and avoid base-table joins when mode=include.
Keep mode=post and mode=pre on their original single-round path, switch mode=include fallback from cumulative bucket expansion to non-overlapping bucket slices, reset per-input search round state, and collapse EXPLAIN ANALYZE background ivf_search plans by default while keeping capped verbose expansion.
Add parser, planner, ALTER, explain, unit, and distributed SQL coverage for the new INCLUDE behavior.