On Tue, 7 Nov 2023 at 13:25, Richard Guo <guofengli...@gmail.com> wrote: > > > On Mon, Nov 6, 2023 at 11:00 PM Alexander Lakhin <exclus...@gmail.com> wrote: >> >> Please look at a warning and an assertion failure triggered by the >> following script: >> set parallel_setup_cost = 0; >> set parallel_tuple_cost = 0; >> set min_parallel_table_scan_size = '1kB'; >> >> create table t1 (i int) partition by range (i); >> create table t1_1 partition of t1 for values from (1) to (2); >> create table t1_2 partition of t1 for values from (2) to (3); >> insert into t1 values (1), (2); >> >> create table t2(i int); >> insert into t2 values (1), (2); >> analyze t1, t2; >> >> select * from t1 right join t2 on t1.i = t2.i; >> >> 2023-11-06 14:11:37.398 UTC|law|regression|6548f419.392cf5|WARNING: Join >> partition pruning $0 has not been performed yet. >> TRAP: failed Assert("node->as_prune_state"), File: "nodeAppend.c", Line: >> 846, PID: 3747061 > > > Thanks for the report! I failed to take care of the parallel-hashjoin > case, and I have to admit that it's not clear to me yet how we should do > join partition pruning in that case. > > For now I think it's better to just avoid performing join partition > pruning for parallel hashjoin, so that the patch doesn't become too > complex for review. We can always extend it in the future. > > I have done that in v5. Thanks for testing!
CFBot shows that the patch does not apply anymore as in [1]: === Applying patches on top of PostgreSQL commit ID 924d046dcf55887c98a1628675a30f4b0eebe556 === === applying patch ./v5-0001-Support-run-time-partition-pruning-for-hash-join.patch ... patching file src/include/nodes/plannodes.h ... patching file src/include/optimizer/cost.h Hunk #1 FAILED at 211. 1 out of 1 hunk FAILED -- saving rejects to file src/include/optimizer/cost.h.rej Please post an updated version for the same. [1] - http://cfbot.cputube.org/patch_46_4512.log Regards, Vignesh