Обсуждение: pgsql: Fix up text concatenation so that it accepts all the reasonable
pgsql: Fix up text concatenation so that it accepts all the reasonable
От
tgl@postgresql.org (Tom Lane)
Дата:
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)