OSDN Git Service

Per-column collation support
authorPeter Eisentraut <peter_e@gmx.net>
Tue, 8 Feb 2011 21:04:18 +0000 (23:04 +0200)
committerPeter Eisentraut <peter_e@gmx.net>
Tue, 8 Feb 2011 21:04:18 +0000 (23:04 +0200)
commit414c5a2ea65cbd38d79ffdf9b1fde7cc75c134e0
tree016efd0c7108f659ea4f3c52ea54d78e1e5449e1
parent1703f0e8da2e8e3eccb6e12879c011ba106f8a62
Per-column collation support

This adds collation support for columns and domains, a COLLATE clause
to override it per expression, and B-tree index support.

Peter Eisentraut
reviewed by Pavel Stehule, Itagaki Takahiro, Robert Haas, Noah Misch
156 files changed:
config/c-library.m4
configure
configure.in
contrib/btree_gin/btree_gin.c
contrib/btree_gist/btree_text.c
contrib/btree_gist/btree_utils_var.c
contrib/citext/citext.c
contrib/citext/citext.sql.in
contrib/ltree/lquery_op.c
doc/src/sgml/catalogs.sgml
doc/src/sgml/charset.sgml
doc/src/sgml/func.sgml
doc/src/sgml/indices.sgml
doc/src/sgml/ref/create_domain.sgml
doc/src/sgml/ref/create_index.sgml
doc/src/sgml/ref/create_table.sgml
doc/src/sgml/ref/create_type.sgml
doc/src/sgml/regress.sgml
doc/src/sgml/syntax.sgml
src/backend/access/common/scankey.c
src/backend/access/common/tupdesc.c
src/backend/access/gin/ginutil.c
src/backend/access/index/indexam.c
src/backend/access/nbtree/nbtsearch.c
src/backend/bootstrap/bootstrap.c
src/backend/catalog/Makefile
src/backend/catalog/genbki.pl
src/backend/catalog/heap.c
src/backend/catalog/index.c
src/backend/catalog/namespace.c
src/backend/catalog/pg_type.c
src/backend/catalog/system_views.sql
src/backend/catalog/toasting.c
src/backend/commands/analyze.c
src/backend/commands/dbcommands.c
src/backend/commands/functioncmds.c
src/backend/commands/indexcmds.c
src/backend/commands/seclabel.c
src/backend/commands/sequence.c
src/backend/commands/tablecmds.c
src/backend/commands/typecmds.c
src/backend/commands/view.c
src/backend/executor/execQual.c
src/backend/executor/execTuples.c
src/backend/executor/nodeAgg.c
src/backend/executor/nodeFunctionscan.c
src/backend/executor/nodeIndexscan.c
src/backend/executor/nodeMergeAppend.c
src/backend/executor/nodeMergejoin.c
src/backend/executor/nodeSort.c
src/backend/executor/nodeSubplan.c
src/backend/executor/nodeWindowAgg.c
src/backend/nodes/copyfuncs.c
src/backend/nodes/equalfuncs.c
src/backend/nodes/makefuncs.c
src/backend/nodes/nodeFuncs.c
src/backend/nodes/outfuncs.c
src/backend/nodes/readfuncs.c
src/backend/optimizer/path/costsize.c
src/backend/optimizer/path/indxpath.c
src/backend/optimizer/path/pathkeys.c
src/backend/optimizer/plan/createplan.c
src/backend/optimizer/plan/planagg.c
src/backend/optimizer/plan/setrefs.c
src/backend/optimizer/plan/subselect.c
src/backend/optimizer/prep/prepjointree.c
src/backend/optimizer/prep/preptlist.c
src/backend/optimizer/prep/prepunion.c
src/backend/optimizer/util/clauses.c
src/backend/optimizer/util/plancat.c
src/backend/optimizer/util/predtest.c
src/backend/parser/analyze.c
src/backend/parser/gram.y
src/backend/parser/parse_agg.c
src/backend/parser/parse_clause.c
src/backend/parser/parse_coerce.c
src/backend/parser/parse_cte.c
src/backend/parser/parse_expr.c
src/backend/parser/parse_func.c
src/backend/parser/parse_node.c
src/backend/parser/parse_oper.c
src/backend/parser/parse_param.c
src/backend/parser/parse_relation.c
src/backend/parser/parse_target.c
src/backend/parser/parse_type.c
src/backend/parser/parse_utilcmd.c
src/backend/rewrite/rewriteHandler.c
src/backend/tsearch/ts_locale.c
src/backend/tsearch/wparser_def.c
src/backend/utils/adt/arrayfuncs.c
src/backend/utils/adt/format_type.c
src/backend/utils/adt/formatting.c
src/backend/utils/adt/like.c
src/backend/utils/adt/oracle_compat.c
src/backend/utils/adt/pg_locale.c
src/backend/utils/adt/ruleutils.c
src/backend/utils/adt/selfuncs.c
src/backend/utils/adt/varchar.c
src/backend/utils/adt/varlena.c
src/backend/utils/cache/lsyscache.c
src/backend/utils/cache/relcache.c
src/backend/utils/cache/syscache.c
src/backend/utils/errcodes.txt
src/backend/utils/fmgr/fmgr.c
src/backend/utils/fmgr/funcapi.c
src/backend/utils/mb/mbutils.c
src/backend/utils/sort/tuplesort.c
src/bin/initdb/initdb.c
src/bin/pg_dump/pg_dump.c
src/bin/psql/describe.c
src/include/access/skey.h
src/include/access/tupdesc.h
src/include/catalog/catversion.h
src/include/catalog/index.h
src/include/catalog/indexing.h
src/include/catalog/namespace.h
src/include/catalog/pg_attribute.h
src/include/catalog/pg_class.h
src/include/catalog/pg_collation.h [new file with mode: 0644]
src/include/catalog/pg_index.h
src/include/catalog/pg_proc.h
src/include/catalog/pg_type.h
src/include/catalog/pg_type_fn.h
src/include/commands/vacuum.h
src/include/fmgr.h
src/include/mb/pg_wchar.h
src/include/nodes/makefuncs.h
src/include/nodes/nodeFuncs.h
src/include/nodes/nodes.h
src/include/nodes/parsenodes.h
src/include/nodes/pg_list.h
src/include/nodes/plannodes.h
src/include/nodes/primnodes.h
src/include/nodes/relation.h
src/include/optimizer/subselect.h
src/include/parser/parse_agg.h
src/include/parser/parse_coerce.h
src/include/parser/parse_node.h
src/include/parser/parse_type.h
src/include/parser/parsetree.h
src/include/pg_config.h.in
src/include/port.h
src/include/utils/builtins.h
src/include/utils/formatting.h
src/include/utils/lsyscache.h
src/include/utils/pg_locale.h
src/include/utils/rel.h
src/include/utils/selfuncs.h
src/include/utils/syscache.h
src/include/utils/tuplesort.h
src/pl/plpgsql/src/pl_comp.c
src/port/chklocale.c
src/test/regress/GNUmakefile
src/test/regress/expected/collate.linux.utf8.out [new file with mode: 0644]
src/test/regress/expected/sanity_check.out
src/test/regress/sql/collate.linux.utf8.sql [new file with mode: 0644]