Re: BUG #16500: SQL Abend. select multi_key_columns_range_partition_table
Dmitry Dolgov <9erthalion6@gmail.com>
From: Dmitry Dolgov <9erthalion6@gmail.com>
To: Etsuro Fujita <etsuro.fujita@gmail.com>
Cc: hisanori.kobayashi.bp@nttdata.com, PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>
Date: 2020-07-01T12:55:54Z
Lists: pgsql-bugs
Attachments
- prefix.patch (text/x-diff) patch
> On Thu, Jun 18, 2020 at 06:44:24PM +0200, Dmitry Dolgov wrote: > > Yep, I also can reproduce it easily. Can't say I'm familiar with this > code, but after looking through it a bit it seems something strange is > going on with a pruning step generated using prefix. Looks like it has > only expressions for the second attribute of the partition key, but > tries to compare with the full boundinfo. Without this pruning step the > query above doesn't crash for me. After some more investigation it seems that the issue is an empty prefix in the code mentioned in my previous email. When it's constructed BTGreaterStrategyNumber is excluded, which makes the logic somehow dependend on the order or clauses (e.g. the original reported case would be fine for a table with those two colums in other order), it looks strange for me. Not sure if the attached fix is correct, but it allows to avoid empty prefix, avoiding the crash, and passes the tests.
Commits
-
Fix some issues with step generation in partition pruning.
- bead29decf90 11.9 landed
- 62c4a77295ec 12.4 landed
- cebe10a5f307 13.0 landed
- 13838740f61f 14.0 landed