Hi,
Thank you for working on this - I'll be running it through my own
benchmarks as well.
On 8/18/26 04:14, Richard Guo wrote:
Here is v3 of this patchset.
But first, in v3-0001 `create_partial_unique_paths()` builds
`partial_unique_rel` via memcpy from `input_rel` but never resets the
`unique_keys` field. Unlike the structural fields memcpy legitimately
carries over, `uniquekeys` describes uniqueness of this specific rel's
output - same category as rows/reltarget/pathlist, which the function
already resets - so it should be reset too rather than silently
inherited from `input_rel`. It's harmless today since nothing reads it
there, but it's the kind of state field a future no-op check could pick
up and use wrongly.
planner.c: create_partial_unique_paths()
```
partial_unique_rel->cheapest_parameterized_paths = NIL;
+partial_unique_rel->uniquekeys = NIL;
/* Estimate number of output rows */
```
--
Best regards,
Ilia Evdokimov,
Tantor Labs LLC,
https://tantorlabs.com/