From: | David Rowley <dgrowleyml(at)gmail(dot)com> |
---|---|
To: | Alexander Lakhin <exclusion(at)gmail(dot)com> |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Amit Langote <amitlan(at)postgresql(dot)org>, Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, pgsql-bugs(at)lists(dot)postgresql(dot)org |
Subject: | Re: BUG #18344: Pruning tables partitioned by bool range fails with invalid strategy |
Date: | 2024-02-20 03:50:25 |
Message-ID: | CAApHDvqcY53LqR4bH2Cz3XHjCc7ZbbX0UptBCMhuwqbN-e8SRA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
On Tue, 20 Feb 2024 at 16:00, Alexander Lakhin <exclusion(at)gmail(dot)com> wrote:
> Beside that, I'm a bit confused by the opstrategy description for
> get_matching_range_bounds().
> Above that function we have:
> * 'opstrategy' if non-zero must be a btree strategy number.
>
> But as we could see, zero opstrategy is not valid for the function (so
> "if non-zero" is meaningless here?), unlike opstrategy for
> get_matching_list_bounds(), which has the same description, but the latter
> function contains:
> /* Special case handling of values coming from a <> operator clause. */
> if (opstrategy == InvalidStrategy)
Yeah, that seems worth fixing in master as, I agree, the comment is
wrong. Possibly, we considered supporting <> for RANGE partitioning
at some point, I don't recall.
I was also working on a fix for what I mentioned in [1], which, I
think, is master-only material. I'd say we can fix the comment as
part of that.
The patch for both is attached.
David
[1] https://postgr.es/m/CAApHDvqriy8mPOFJ_Bd66YGXJ4+XULpv-4YdB+ePdCQFztyisA@mail.gmail.com
Attachment | Content-Type | Size |
---|---|---|
minor_partpruning_fixes.patch | text/plain | 1.7 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | jian he | 2024-02-20 03:56:29 | Re: BUG #18348: Inconsistency with EXTRACT([field] from INTERVAL); |
Previous Message | Alexander Lakhin | 2024-02-20 03:00:00 | Re: BUG #18344: Pruning tables partitioned by bool range fails with invalid strategy |