Fix yet another issue with step generation in partition pruning. Commit 13838740f fixed some issues with step generation in partition pruning, but there was yet another one: get_steps_using_prefix() assumes that clauses in the passed-in prefix list are sorted in ascending order of their partition key numbers, but the caller failed to ensure this for range partitioning, which led to an assertion failure in debug builds. Adjust the caller function to arrange the clauses in the prefix list in the required order for range partitioning.
Back-patch to v11, like the previous commit. Patch by me, reviewed by Amit Langote. Discussion: https://postgr.es/m/CAPmGK16jkXiFG0YqMbU66wte-oJTfW6D1HaNvQf%3D%2B5o9%3Dm55wQ%40mail.gmail.com Branch ------ REL_13_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/79a3ab1e98d6b5952e29ad91e07c0e9fc777cc0b Modified Files -------------- src/backend/partitioning/partprune.c | 138 +++++++++++++++----------- src/test/regress/expected/partition_prune.out | 10 ++ src/test/regress/sql/partition_prune.sql | 5 + 3 files changed, 96 insertions(+), 57 deletions(-)
