11.3 included some change to partition table planning. Namely commit 925f46f ("Fix handling of targetlist SRFs when scan/join relation is known empty.") seems to redo all paths for partitioned tables in apply_scanjoin_target_to_paths. It clears the paths in:
```
if (rel_is_partitioned)
rel->pathlist = NIL
```
Then the code rebuild the paths. However, the rebuilt append path never gets the
set_rel_pathlist_hook called. Thus, the work that hook did previously gets thrown away and the rebuilt append path can never be influenced by this hook. Is this intended behavior? Am I missing something?
Thanks,
Mat
TimescaleDB
I've attached a small patch to address this discrepancy for when the set_rel_pathlist_hook is called so that's it is called for actual paths used for partitioned rels. Please let me know if I am misunderstanding how this should be handled.