Re: constraint exclusion and nulls in IN (..) clause
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>
Cc: emre@hasegeli.com, Ashutosh Bapat <ashutosh.bapat@enterprisedb.com>,
Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2018-03-22T13:34:36Z
Lists: pgsql-hackers
Amit Langote <Langote_Amit_f8@lab.ntt.co.jp> writes: > I too wasn't sure if the patch's modifications to > operator_predicate_proof() led to correct handling for the case where both > clause_const and pred_const are both NULL consts. ISTM that the result in > that case becomes what operator_same_subexprs_proof() would return for the > pred_op (possibly commuted) and clause_op pair. But maybe we don't end up > in that case much. Probably not. It's hard to get to this type of case at all, because in most cases, if we have a null constant as a subexpression, previous const-simplification would have replaced the whole expression with null. I think in practice it's only interesting when the upper levels of predtest.c have constructed an operator expression out of parts of the given clauses, which is exactly what happens for cases like IN-lists. regards, tom lane
Commits
-
Improve predtest.c's handling of cases with NULL-constant inputs.
- 0f0deb719483 11.0 landed