Thread: pgsql: Fix up text concatenation so that it accepts all the reasonable
pgsql: Fix up text concatenation so that it accepts all the reasonable
From
tgl@postgresql.org (Tom Lane)
Date:
Log Message: ----------- Fix up text concatenation so that it accepts all the reasonable cases that were accepted by prior Postgres releases. This takes care of the loose end left by the preceding patch to downgrade implicit casts-to-text. To avoid breaking desirable behavior for array concatenation, introduce a new polymorphic pseudo-type "anynonarray" --- the added concatenation operators are actually text || anynonarray and anynonarray || text. Modified Files: -------------- pgsql/doc/src/sgml: datatype.sgml (r1.203 -> r1.204) (http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/datatype.sgml.diff?r1=1.203&r2=1.204) extend.sgml (r1.34 -> r1.35) (http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/extend.sgml.diff?r1=1.34&r2=1.35) func.sgml (r1.381 -> r1.382) (http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/func.sgml.diff?r1=1.381&r2=1.382) plpgsql.sgml (r1.109 -> r1.110) (http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/plpgsql.sgml.diff?r1=1.109&r2=1.110) xfunc.sgml (r1.127 -> r1.128) (http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/xfunc.sgml.diff?r1=1.127&r2=1.128) pgsql/src/backend/catalog: pg_proc.c (r1.144 -> r1.145) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/pg_proc.c.diff?r1=1.144&r2=1.145) pgsql/src/backend/executor: functions.c (r1.116 -> r1.117) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/functions.c.diff?r1=1.116&r2=1.117) pgsql/src/backend/parser: parse_agg.c (r1.77 -> r1.78) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/parse_agg.c.diff?r1=1.77&r2=1.78) parse_coerce.c (r2.154 -> r2.155) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/parse_coerce.c.diff?r1=2.154&r2=2.155) parse_func.c (r1.196 -> r1.197) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/parse_func.c.diff?r1=1.196&r2=1.197) pgsql/src/backend/utils/adt: pseudotypes.c (r1.19 -> r1.20) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/pseudotypes.c.diff?r1=1.19&r2=1.20) xml.c (r1.43 -> r1.44) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/xml.c.diff?r1=1.43&r2=1.44) pgsql/src/backend/utils/fmgr: funcapi.c (r1.34 -> r1.35) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/fmgr/funcapi.c.diff?r1=1.34&r2=1.35) pgsql/src/include/catalog: catversion.h (r1.410 -> r1.411) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/catversion.h.diff?r1=1.410&r2=1.411) pg_operator.h (r1.152 -> r1.153) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_operator.h.diff?r1=1.152&r2=1.153) pg_proc.h (r1.458 -> r1.459) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_proc.h.diff?r1=1.458&r2=1.459) pg_type.h (r1.184 -> r1.185) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_type.h.diff?r1=1.184&r2=1.185) pgsql/src/include/utils: builtins.h (r1.295 -> r1.296) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/builtins.h.diff?r1=1.295&r2=1.296) lsyscache.h (r1.118 -> r1.119) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/lsyscache.h.diff?r1=1.118&r2=1.119) pgsql/src/pl/plpgsql/src: pl_comp.c (r1.114 -> r1.115) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/pl_comp.c.diff?r1=1.114&r2=1.115) pgsql/src/test/regress/expected: text.out (r1.3 -> r1.4) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/text.out.diff?r1=1.3&r2=1.4) pgsql/src/test/regress/sql: text.sql (r1.3 -> r1.4) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/sql/text.sql.diff?r1=1.3&r2=1.4)