pgsql: Make eval_const_expressions() preserve typmod when simplifying - Mailing list pgsql-committers

From tgl@postgresql.org (Tom Lane)
Subject pgsql: Make eval_const_expressions() preserve typmod when simplifying
Date
Msg-id 20070906173158.B206B754201@cvs.postgresql.org
Whole thread Raw
List pgsql-committers
Log Message:
-----------
Make eval_const_expressions() preserve typmod when simplifying something like
null::char(3) to a simple Const node.  (It already worked for non-null values,
but not when we skipped evaluation of a strict coercion function.)  This
prevents loss of typmod knowledge in situations such as exhibited in bug
#3598.  Unfortunately there seems no good way to fix that bug in 8.1 and 8.2,
because they simply don't carry a typmod for a plain Const node.

In passing I made all the other callers of makeNullConst supply "real" typmod
values too, though I think it probably doesn't matter anywhere else.

Modified Files:
--------------
    pgsql/src/backend/commands:
        tablecmds.c (r1.231 -> r1.232)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/tablecmds.c?r1=1.231&r2=1.232)
    pgsql/src/backend/executor:
        execQual.c (r1.221 -> r1.222)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/execQual.c?r1=1.221&r2=1.222)
    pgsql/src/backend/nodes:
        makefuncs.c (r1.56 -> r1.57)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/makefuncs.c?r1=1.56&r2=1.57)
    pgsql/src/backend/optimizer/util:
        clauses.c (r1.248 -> r1.249)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/clauses.c?r1=1.248&r2=1.249)
    pgsql/src/backend/parser:
        parse_coerce.c (r2.156 -> r2.157)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/parse_coerce.c?r1=2.156&r2=2.157)
        parse_relation.c (r1.127 -> r1.128)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/parse_relation.c?r1=1.127&r2=1.128)
        parse_target.c (r1.154 -> r1.155)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/parse_target.c?r1=1.154&r2=1.155)
    pgsql/src/backend/rewrite:
        rewriteHandler.c (r1.173 -> r1.174)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/rewrite/rewriteHandler.c?r1=1.173&r2=1.174)
        rewriteManip.c (r1.104 -> r1.105)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/rewrite/rewriteManip.c?r1=1.104&r2=1.105)
    pgsql/src/include/nodes:
        makefuncs.h (r1.59 -> r1.60)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/makefuncs.h?r1=1.59&r2=1.60)

pgsql-committers by date:

Previous
From: momjian@postgresql.org (Bruce Momjian)
Date:
Subject: pgsql: Done: < * Reduce XID consumption of read-only queries < <
Next
From: mkz@pgfoundry.org (User Mkz)
Date:
Subject: pgbouncer - pgbouncer: doc updates - check if asciidoc & xmlto - accept