Thread: pgsql: Make SQL arrays support null elements.
Log Message: ----------- Make SQL arrays support null elements. This commit fixes the core array functionality, but I still need to make another pass looking at places that incidentally use arrays (such as ACL manipulation) to make sure they are null-safe. Contrib needs work too. I have not changed the behaviors that are still under discussion about array comparison and what to do with lower bounds. Modified Files: -------------- pgsql/contrib/intagg: int_aggregate.c (r1.21 -> r1.22) (http://developer.postgresql.org/cvsweb.cgi/pgsql/contrib/intagg/int_aggregate.c.diff?r1=1.21&r2=1.22) pgsql/contrib/intarray: _int_tool.c (r1.4 -> r1.5) (http://developer.postgresql.org/cvsweb.cgi/pgsql/contrib/intarray/_int_tool.c.diff?r1=1.4&r2=1.5) pgsql/contrib/tsearch2: query_rewrite.c (r1.2 -> r1.3) (http://developer.postgresql.org/cvsweb.cgi/pgsql/contrib/tsearch2/query_rewrite.c.diff?r1=1.2&r2=1.3) pgsql/doc/src/sgml: array.sgml (r1.46 -> r1.47) (http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/array.sgml.diff?r1=1.46&r2=1.47) config.sgml (r1.36 -> r1.37) (http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/config.sgml.diff?r1=1.36&r2=1.37) func.sgml (r1.292 -> r1.293) (http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/func.sgml.diff?r1=1.292&r2=1.293) xfunc.sgml (r1.107 -> r1.108) (http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/xfunc.sgml.diff?r1=1.107&r2=1.108) pgsql/doc/src/sgml/ref: insert.sgml (r1.29 -> r1.30) (http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/ref/insert.sgml.diff?r1=1.29&r2=1.30) pgsql/src/backend/catalog: pg_proc.c (r1.135 -> r1.136) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/pg_proc.c.diff?r1=1.135&r2=1.136) pgsql/src/backend/executor: execQual.c (r1.183 -> r1.184) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/execQual.c.diff?r1=1.183&r2=1.184) pgsql/src/backend/optimizer/util: clauses.c (r1.201 -> r1.202) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/clauses.c.diff?r1=1.201&r2=1.202) pgsql/src/backend/utils/adt: acl.c (r1.127 -> r1.128) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/acl.c.diff?r1=1.127&r2=1.128) array_userfuncs.c (r1.16 -> r1.17) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/array_userfuncs.c.diff?r1=1.16&r2=1.17) arrayfuncs.c (r1.123 -> r1.124) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/arrayfuncs.c.diff?r1=1.123&r2=1.124) arrayutils.c (r1.18 -> r1.19) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/arrayutils.c.diff?r1=1.18&r2=1.19) float.c (r1.115 -> r1.116) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/float.c.diff?r1=1.115&r2=1.116) int.c (r1.68 -> r1.69) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/int.c.diff?r1=1.68&r2=1.69) numeric.c (r1.86 -> r1.87) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/numeric.c.diff?r1=1.86&r2=1.87) oid.c (r1.64 -> r1.65) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/oid.c.diff?r1=1.64&r2=1.65) ruleutils.c (r1.207 -> r1.208) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/ruleutils.c.diff?r1=1.207&r2=1.208) timestamp.c (r1.157 -> r1.158) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/timestamp.c.diff?r1=1.157&r2=1.158) pgsql/src/backend/utils/cache: lsyscache.c (r1.129 -> r1.130) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/cache/lsyscache.c.diff?r1=1.129&r2=1.130) pgsql/src/backend/utils/fmgr: funcapi.c (r1.26 -> r1.27) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/fmgr/funcapi.c.diff?r1=1.26&r2=1.27) pgsql/src/backend/utils/misc: guc.c (r1.299 -> r1.300) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/misc/guc.c.diff?r1=1.299&r2=1.300) postgresql.conf.sample (r1.170 -> r1.171) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/misc/postgresql.conf.sample.diff?r1=1.170&r2=1.171) pgsql/src/include: c.h (r1.190 -> r1.191) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/c.h.diff?r1=1.190&r2=1.191) pgsql/src/include/catalog: catversion.h (r1.306 -> r1.307) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/catversion.h.diff?r1=1.306&r2=1.307) pg_proc.h (r1.388 -> r1.389) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_proc.h.diff?r1=1.388&r2=1.389) pgsql/src/include/utils: acl.h (r1.86 -> r1.87) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/acl.h.diff?r1=1.86&r2=1.87) array.h (r1.55 -> r1.56) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/array.h.diff?r1=1.55&r2=1.56) pgsql/src/pl/plpgsql/src: pl_comp.c (r1.94 -> r1.95) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/pl_comp.c.diff?r1=1.94&r2=1.95) pl_exec.c (r1.154 -> r1.155) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/pl_exec.c.diff?r1=1.154&r2=1.155) pgsql/src/test/regress/expected: arrays.out (r1.26 -> r1.27) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/arrays.out.diff?r1=1.26&r2=1.27) domain.out (r1.34 -> r1.35) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/domain.out.diff?r1=1.34&r2=1.35) pgsql/src/test/regress/sql: arrays.sql (r1.21 -> r1.22) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/sql/arrays.sql.diff?r1=1.21&r2=1.22)