From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Andrei Lepikhov <a(dot)lepikhov(at)postgrespro(dot)ru> |
Cc: | Robert Haas <robertmhaas(at)gmail(dot)com>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: post-freeze damage control |
Date: | 2024-04-09 05:55:39 |
Message-ID: | 3649287.1712642139@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Andrei Lepikhov <a(dot)lepikhov(at)postgrespro(dot)ru> writes:
> On 9/4/2024 09:12, Tom Lane wrote:
>> I have another one that I'm not terribly happy about:
>> Author: Alexander Korotkov <akorotkov(at)postgresql(dot)org>
>> Branch: master [72bd38cc9] 2024-04-08 01:27:52 +0300
>> Transform OR clauses to ANY expression
>> * What the medical community would call off-label usage of
>> query jumbling. I'm not sure this is even correct as-used,
>> and for sure it's using that code for something never intended.
>> Nor is the added code adequately (as in, at all) documented.
> I agree with documentation and disagree with critics on the expression
> jumbling. It was introduced in the core. Why don't we allow it to be
> used to speed up machinery with some hashing?
I would back up from that a good deal: why do we need to hash here in
the first place? There's no evidence I'm aware of that it's needful
from a performance standpoint.
>> * I really, really dislike jamming this logic into prepqual.c,
>> where it has no business being. I note that it was shoved
>> into process_duplicate_ors without even the courtesy of
>> expanding the header comment:
> Yeah, I preferred to do it in parse_expr.c with the assumption of some
> 'minimal' or 'canonical' tree form.
That seems quite the wrong direction to me. AFAICS, the argument
for making this transformation depends on being able to convert
to an indexscan condition, so I would try to apply it even later,
when we have a set of restriction conditions to apply to a particular
baserel. (This would weaken the argument that we need hashing
rather than naive equal() tests even further, I think.) Applying
the transform to join quals seems unlikely to be a win.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Eisentraut | 2024-04-09 05:59:08 | Re: post-freeze damage control |
Previous Message | Michael Paquier | 2024-04-09 05:53:00 | Re: Allow non-superuser to cancel superuser tasks. |