From: | Andy Fan <zhihui(dot)fan1213(at)gmail(dot)com> |
---|---|
To: | Robert Haas <robertmhaas(at)gmail(dot)com> |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, David Rowley <dgrowleyml(at)gmail(dot)com>, Dmitry Astapov <dastapov(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Condition pushdown: why (=) is pushed down into join, but BETWEEN or >= is not? |
Date: | 2022-03-02 03:00:12 |
Message-ID: | CAKU4AWqtosYE3+OahesD2xTTuaE7zdWZWOvd791yXTf+bRQLSw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
>
>
> I don't think 0001 is right either, although maybe for somewhat
> different reasons. First, I think it only considers VAR OP CONST style
> clauses, but that is leaving money on the table, because given a.x =
> b.x AND mumble(a.x), we can decide to instead test mumble(b.x) if the
> equality operator in question has is-binary-identical semantics. It
> does not seem necessary for a first patch to deal with both that and
> the somewhat more pleasing case where we're making deductions based on
> operator families ... but we shouldn't commit to a design for the VAR
> OP CONST case without understanding how it could be generalized.
>
I can follow up with this and +1 with the statement.
> Second, it looks to me like the patch takes the rather naive strategy
> of enforcing the derived clauses everywhere that they can legally be
> put, which seems certain not to be optimal.
If we can have some agreement (after more discussion) the EC filter is
acceptable on semantics level, I think we may have some chances to
improve something at execution level.
--
Best Regards
Andy Fan
From | Date | Subject | |
---|---|---|---|
Next Message | osumi.takamichi@fujitsu.com | 2022-03-02 03:12:54 | RE: Optionally automatically disable logical replication subscriptions on error |
Previous Message | Amit Kapila | 2022-03-02 02:55:13 | Re: Add the replication origin name and commit-LSN to logical replication worker errcontext |