Thread: pgsql: Tweak the API for per-datatype typmodin functions so that they
pgsql: Tweak the API for per-datatype typmodin functions so that they
From
tgl@postgresql.org (Tom Lane)
Date:
Log Message: ----------- Tweak the API for per-datatype typmodin functions so that they are passed an array of strings rather than an array of integers, and allow any simple constant or identifier to be used in typmods; for example create table foo (f1 widget(42,'23skidoo',point)); Of course the typmodin function has still got to pack this info into a non-negative int32 for storage, but it's still a useful improvement in flexibility, especially considering that you can do nearly anything if you are willing to keep the info in a side table. We can get away with this change since we have not yet released a version providing user-definable typmods. Per discussion. Modified Files: -------------- pgsql/doc/src/sgml/ref: create_type.sgml (r1.71 -> r1.72) (http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/ref/create_type.sgml.diff?r1=1.71&r2=1.72) pgsql/src/backend/commands: typecmds.c (r1.104 -> r1.105) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/typecmds.c.diff?r1=1.104&r2=1.105) pgsql/src/backend/parser: gram.y (r2.593 -> r2.594) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/gram.y.diff?r1=2.593&r2=2.594) parse_type.c (r1.90 -> r1.91) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/parse_type.c.diff?r1=1.90&r2=1.91) pgsql/src/backend/utils/adt: arrayutils.c (r1.23 -> r1.24) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/arrayutils.c.diff?r1=1.23&r2=1.24) date.c (r1.132 -> r1.133) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/date.c.diff?r1=1.132&r2=1.133) numeric.c (r1.104 -> r1.105) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/numeric.c.diff?r1=1.104&r2=1.105) timestamp.c (r1.177 -> r1.178) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/timestamp.c.diff?r1=1.177&r2=1.178) varbit.c (r1.53 -> r1.54) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/varbit.c.diff?r1=1.53&r2=1.54) varchar.c (r1.123 -> r1.124) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/varchar.c.diff?r1=1.123&r2=1.124) pgsql/src/include/catalog: catversion.h (r1.411 -> r1.412) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/catversion.h.diff?r1=1.411&r2=1.412) pg_proc.h (r1.459 -> r1.460) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_proc.h.diff?r1=1.459&r2=1.460) pg_type.h (r1.185 -> r1.186) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_type.h.diff?r1=1.185&r2=1.186) pgsql/src/include/utils: array.h (r1.64 -> r1.65) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/array.h.diff?r1=1.64&r2=1.65) pgsql/src/test/regress/expected: type_sanity.out (r1.30 -> r1.31) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/type_sanity.out.diff?r1=1.30&r2=1.31) pgsql/src/test/regress/sql: type_sanity.sql (r1.30 -> r1.31) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/sql/type_sanity.sql.diff?r1=1.30&r2=1.31)