Обсуждение: pgsql: Teach eval_const_expressions() to simplify an ArrayCoerceExpr to

Поиск
Список
Период
Сортировка

pgsql: Teach eval_const_expressions() to simplify an ArrayCoerceExpr to

От
tgl@postgresql.org (Tom Lane)
Дата:
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.

Tags:
----
REL8_3_STABLE

Modified Files:
--------------
    pgsql/src/backend/optimizer/util:
        clauses.c (r1.254.2.2 -> r1.254.2.3)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/clauses.c?r1=1.254.2.2&r2=1.254.2.3)