postgresql/src/backend/commands
Tom Lane b310b6e31c Revise collation derivation method and expression-tree representation.
All expression nodes now have an explicit output-collation field, unless
they are known to only return a noncollatable data type (such as boolean
or record).  Also, nodes that can invoke collation-aware functions store
a separate field that is the collation value to pass to the function.
This avoids confusion that arises when a function has collatable inputs
and noncollatable output type, or vice versa.

Also, replace the parser's on-the-fly collation assignment method with
a post-pass over the completed expression tree.  This allows us to use
a more complex (and hopefully more nearly spec-compliant) assignment
rule without paying for it in extra storage in every expression node.

Fix assorted bugs in the planner's handling of collations by making
collation one of the defining properties of an EquivalenceClass and
by converting CollateExprs into discardable RelabelType nodes during
expression preprocessing.
2011-03-19 20:30:08 -04:00
..
Makefile DDL support for collations 2011-02-12 15:55:18 +02:00
aggregatecmds.c Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
alter.c DDL support for collations 2011-02-12 15:55:18 +02:00
analyze.c Revise collation derivation method and expression-tree representation. 2011-03-19 20:30:08 -04:00
async.c Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
cluster.c Core support for "extensions", which are packages of SQL objects. 2011-02-08 16:13:22 -05:00
collationcmds.c Create an explicit concept of collations that work for any encoding. 2011-03-11 13:20:11 -05:00
comment.c Allow non-superusers to create (some) extensions. 2011-03-04 16:08:53 -05:00
constraint.c Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
conversioncmds.c Core support for "extensions", which are packages of SQL objects. 2011-02-08 16:13:22 -05:00
copy.c Rearrange snapshot handling to make rule expansion more consistent. 2011-02-28 23:28:06 -05:00
dbcommands.c DDL support for collations 2011-02-12 15:55:18 +02:00
define.c Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
discard.c Refactor the executor's API to support data-modifying CTEs better. 2011-02-27 13:44:12 -05:00
explain.c Include the target table in EXPLAIN output for ModifyTable nodes. 2011-03-01 11:37:01 -05:00
extension.c Create extension infrastructure for the core procedural languages. 2011-03-04 21:51:14 -05:00
foreigncmds.c Create the catalog infrastructure for foreign-data-wrapper handlers. 2011-02-19 00:07:15 -05:00
functioncmds.c Revise collation derivation method and expression-tree representation. 2011-03-19 20:30:08 -04:00
indexcmds.c Revise collation derivation method and expression-tree representation. 2011-03-19 20:30:08 -04:00
lockcmds.c Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
opclasscmds.c Core support for "extensions", which are packages of SQL objects. 2011-02-08 16:13:22 -05:00
operatorcmds.c Core support for "extensions", which are packages of SQL objects. 2011-02-08 16:13:22 -05:00
portalcmds.c Refactor the executor's API to support data-modifying CTEs better. 2011-02-27 13:44:12 -05:00
prepare.c Revise collation derivation method and expression-tree representation. 2011-03-19 20:30:08 -04:00
proclang.c Core support for "extensions", which are packages of SQL objects. 2011-02-08 16:13:22 -05:00
schemacmds.c Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
seclabel.c Refactor seclabel.c to use the new check_object_ownership function. 2011-03-04 17:26:37 -05:00
sequence.c Remove collation information from TypeName, where it does not belong. 2011-03-09 22:39:20 -05:00
tablecmds.c Revise collation derivation method and expression-tree representation. 2011-03-19 20:30:08 -04:00
tablespace.c Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
trigger.c Refactor the executor's API to support data-modifying CTEs better. 2011-02-27 13:44:12 -05:00
tsearchcmds.c Core support for "extensions", which are packages of SQL objects. 2011-02-08 16:13:22 -05:00
typecmds.c Revise collation derivation method and expression-tree representation. 2011-03-19 20:30:08 -04:00
user.c Adjust the permissions required for COMMENT ON ROLE. 2011-03-09 11:28:34 -05:00
vacuum.c Avoid having autovacuum workers wait for relation locks. 2011-02-07 22:04:29 -05:00
vacuumlazy.c Don't throw a warning if vacuum sees PD_ALL_VISIBLE flag set on a page that 2011-03-08 20:30:53 +02:00
variable.c Implement genuine serializable isolation level. 2011-02-08 00:09:08 +02:00
view.c Revise collation derivation method and expression-tree representation. 2011-03-19 20:30:08 -04:00