pgsql: Modify all callers of datatype input and receive functions so - Mailing list pgsql-committers

From tgl@postgresql.org (Tom Lane)
Subject pgsql: Modify all callers of datatype input and receive functions so
Date
Msg-id 20060404193538.C772111F68D7@postgresql.org
Whole thread Raw
List pgsql-committers
Log Message:
-----------
Modify all callers of datatype input and receive functions so that if these
functions are not strict, they will be called (passing a NULL first parameter)
during any attempt to input a NULL value of their datatype.  Currently, all
our input functions are strict and so this commit does not change any
behavior.  However, this will make it possible to build domain input functions
that centralize checking of domain constraints, thereby closing numerous holes
in our domain support, as per previous discussion.

While at it, I took the opportunity to introduce convenience functions
InputFunctionCall, OutputFunctionCall, etc to use in code that calls I/O
functions.  This eliminates a lot of grotty-looking casts, but the main
motivation is to make it easier to grep for these places if we ever need
to touch them again.

Modified Files:
--------------
    pgsql/doc/src/sgml/ref:
        create_type.sgml (r1.61 -> r1.62)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/ref/create_type.sgml.diff?r1=1.61&r2=1.62)
    pgsql/src/backend/access/common:
        printtup.c (r1.94 -> r1.95)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/common/printtup.c.diff?r1=1.94&r2=1.95)
    pgsql/src/backend/bootstrap:
        bootstrap.c (r1.213 -> r1.214)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/bootstrap/bootstrap.c.diff?r1=1.213&r2=1.214)
    pgsql/src/backend/commands:
        copy.c (r1.261 -> r1.262)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/copy.c.diff?r1=1.261&r2=1.262)
    pgsql/src/backend/executor:
        execTuples.c (r1.92 -> r1.93)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/execTuples.c.diff?r1=1.92&r2=1.93)
        nodeAgg.c (r1.138 -> r1.139)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeAgg.c.diff?r1=1.138&r2=1.139)
        spi.c (r1.149 -> r1.150)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/spi.c.diff?r1=1.149&r2=1.150)
    pgsql/src/backend/nodes:
        print.c (r1.78 -> r1.79)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/print.c.diff?r1=1.78&r2=1.79)
    pgsql/src/backend/parser:
        parse_coerce.c (r2.135 -> r2.136)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/parse_coerce.c.diff?r1=2.135&r2=2.136)
        parse_type.c (r1.79 -> r1.80)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/parse_type.c.diff?r1=1.79&r2=1.80)
    pgsql/src/backend/tcop:
        fastpath.c (r1.85 -> r1.86)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/tcop/fastpath.c.diff?r1=1.85&r2=1.86)
        postgres.c (r1.482 -> r1.483)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/tcop/postgres.c.diff?r1=1.482&r2=1.483)
    pgsql/src/backend/utils/adt:
        arrayfuncs.c (r1.127 -> r1.128)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/arrayfuncs.c.diff?r1=1.127&r2=1.128)
        rowtypes.c (r1.14 -> r1.15)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/rowtypes.c.diff?r1=1.14&r2=1.15)
        ruleutils.c (r1.217 -> r1.218)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/ruleutils.c.diff?r1=1.217&r2=1.218)
        varlena.c (r1.145 -> r1.146)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/varlena.c.diff?r1=1.145&r2=1.146)
    pgsql/src/backend/utils/cache:
        lsyscache.c (r1.132 -> r1.133)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/cache/lsyscache.c.diff?r1=1.132&r2=1.133)
    pgsql/src/backend/utils/fmgr:
        fmgr.c (r1.99 -> r1.100)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/fmgr/fmgr.c.diff?r1=1.99&r2=1.100)
    pgsql/src/include:
        fmgr.h (r1.42 -> r1.43)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/fmgr.h.diff?r1=1.42&r2=1.43)
    pgsql/src/pl/plperl:
        plperl.c (r1.107 -> r1.108)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/plperl/plperl.c.diff?r1=1.107&r2=1.108)
    pgsql/src/pl/plpgsql/src:
        pl_exec.c (r1.162 -> r1.163)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/pl_exec.c.diff?r1=1.162&r2=1.163)
    pgsql/src/pl/plpython:
        plpython.c (r1.76 -> r1.77)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpython/plpython.c.diff?r1=1.76&r2=1.77)
    pgsql/src/pl/tcl:
        pltcl.c (r1.101 -> r1.102)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/tcl/pltcl.c.diff?r1=1.101&r2=1.102)

pgsql-committers by date:

Previous
From: h-saito@pgfoundry.org (User H-saito)
Date:
Subject: psqlodbc - psqlodbc: upgrade version 07.03.0262 of *nix.
Next
From: hinoue@pgfoundry.org (User Hinoue)
Date:
Subject: psqlodbc - psqlodbc: Fix a SQLNumParams bug reported by lasse haataja.