pgsql: Teach eval_const_expressions() to simplify an ArrayCoerceExpr to

From: tgl(at)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Teach eval_const_expressions() to simplify an ArrayCoerceExpr to
Date: 2008-08-26 02:16:32
Message-ID: 20080826021632.30C6B755315@cvs.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Log Message:
-----------
Teach eval_const_expressions() to simplify an ArrayCoerceExpr to a constant
when its input is constant and the element coercion function is immutable
(or nonexistent, ie, binary-coercible case). This is an oversight in the
8.3 implementation of ArrayCoerceExpr, and its result is that certain cases
involving IN or NOT IN with constants don't get optimized as they should be.
Per experimentation with an example from Ow Mun Heng.

Modified Files:
--------------
pgsql/src/backend/optimizer/util:
clauses.c (r1.264 -> r1.265)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/clauses.c?r1=1.264&r2=1.265)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2008-08-26 02:16:39 pgsql: Teach eval_const_expressions() to simplify an ArrayCoerceExpr to
Previous Message User Jbcooley 2008-08-26 01:28:28 npgsql - Npgsql2: more support for uuid type.