public inbox for [email protected]
help / color / mirror / Atom feedFrom: Andrei Lepikhov <[email protected]>
To: Richard Guo <[email protected]>
Cc: Pg Hackers <[email protected]>
Subject: Re: An incorrect check in get_memoize_path
Date: Mon, 7 Apr 2025 14:54:24 +0200
Message-ID: <[email protected]> (raw)
In-Reply-To: <CAMbWs4-8JPouj=wBDj4DhK-WO4+Xdx=A2jbjvvyyTBQneJ1=BQ@mail.gmail.com>
References: <CAMbWs4-8JPouj=wBDj4DhK-WO4+Xdx=A2jbjvvyyTBQneJ1=BQ@mail.gmail.com>
On 4/7/25 09:50, Richard Guo wrote:
> Consider the join to t3. It is a unique join, and not all of its
> restriction clauses are parameterized. Despite this, the check still
> passes.
At least, this code looks more simple to understand, more 'armored' and
worth to change.
At the same time I think term 'Incorrect' is not good unless you show an
example where data returned is not consistent to the expected.
I think this inequality check has worked in couple with the
get_equal_hashops.
I think it may be pushed as is. But it worth to discover the
get_equal_hashops more deeply. Discovering your idea I wrote an example
(see attachment) which (with commented clause_sides_match_join) provides
an incorrect Memoize - that's why I ended up with support of your change
even when you can't show any buggy behaviour. But I've got an assertion
that is different from the error I expected to see (error on single_row
mode):
#0 0x00005583c45532ce in CheckVarSlotCompatibility
#1 0x00005583c4553244 in CheckExprStillValid
#2 0x00005583c45530ea in ExecInterpExprStillValid
#3 0x00005583c45a245c in ExecEvalExpr
#4 0x00005583c45a3985 in prepare_probe_slot
#5 0x00005583c45a3e52 in cache_lookup
#6 0x00005583c45a4313 in ExecMemoize
It looks strange.
--
regards, Andrei Lepikhov
Attachments:
[application/sql] example.sql (1.3K, ../[email protected]/2-example.sql)
download
view thread (3+ messages) latest in thread
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected], [email protected]
Subject: Re: An incorrect check in get_memoize_path
In-Reply-To: <[email protected]>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox