postgresql/src/include/catalog
Tom Lane 7bddca3450 Fix up foreign-key mechanism so that there is a sound semantic basis for the
equality checks it applies, instead of a random dependence on whatever
operators might be named "=".  The equality operators will now be selected
from the opfamily of the unique index that the FK constraint depends on to
enforce uniqueness of the referenced columns; therefore they are certain to be
consistent with that index's notion of equality.  Among other things this
should fix the problem noted awhile back that pg_dump may fail for foreign-key
constraints on user-defined types when the required operators aren't in the
search path.  This also means that the former warning condition about "foreign
key constraint will require costly sequential scans" is gone: if the
comparison condition isn't indexable then we'll reject the constraint
entirely. All per past discussions.

Along the way, make the RI triggers look into pg_constraint for their
information, instead of using pg_trigger.tgargs; and get rid of the always
error-prone fixed-size string buffers in ri_triggers.c in favor of building up
the RI queries in StringInfo buffers.

initdb forced due to columns added to pg_constraint and pg_trigger.
2007-02-14 01:58:58 +00:00
..
catalog.h Update CVS HEAD for 2007 copyright. Back branches are typically not 2007-01-05 22:20:05 +00:00
catversion.h Fix up foreign-key mechanism so that there is a sound semantic basis for the 2007-02-14 01:58:58 +00:00
dependency.h Update CVS HEAD for 2007 copyright. Back branches are typically not 2007-01-05 22:20:05 +00:00
duplicate_oids Change the bootstrap sequence so that toast tables for system catalogs are 2006-07-31 01:16:38 +00:00
heap.h Update CVS HEAD for 2007 copyright. Back branches are typically not 2007-01-05 22:20:05 +00:00
index.h Support ORDER BY ... NULLS FIRST/LAST, and add ASC/DESC/NULLS FIRST/NULLS LAST 2007-01-09 02:14:16 +00:00
indexing.h Fix up foreign-key mechanism so that there is a sound semantic basis for the 2007-02-14 01:58:58 +00:00
namespace.h Update CVS HEAD for 2007 copyright. Back branches are typically not 2007-01-05 22:20:05 +00:00
pg_aggregate.h Fix xmlconcat by properly merging the XML declarations. Add aggregate 2007-01-20 09:27:20 +00:00
pg_am.h Simplify pg_am representation of ordering-capable access methods: 2007-01-20 23:13:01 +00:00
pg_amop.h Add support for cross-type hashing in hashed subplans (hashed IN/NOT IN cases 2007-02-06 02:59:15 +00:00
pg_amproc.h Add a new builtin type, "uuid". This implements a UUID type, similar to 2007-01-28 16:16:54 +00:00
pg_attrdef.h Update CVS HEAD for 2007 copyright. Back branches are typically not 2007-01-05 22:20:05 +00:00
pg_attribute.h Add COST and ROWS options to CREATE/ALTER FUNCTION, plus underlying pg_proc 2007-01-22 01:35:23 +00:00
pg_auth_members.h Update CVS HEAD for 2007 copyright. Back branches are typically not 2007-01-05 22:20:05 +00:00
pg_authid.h Update CVS HEAD for 2007 copyright. Back branches are typically not 2007-01-05 22:20:05 +00:00
pg_autovacuum.h Update CVS HEAD for 2007 copyright. Back branches are typically not 2007-01-05 22:20:05 +00:00
pg_cast.h Implement XMLSERIALIZE for real. Analogously, make the xml to text cast 2007-02-03 14:06:56 +00:00
pg_class.h Add COST and ROWS options to CREATE/ALTER FUNCTION, plus underlying pg_proc 2007-01-22 01:35:23 +00:00
pg_constraint.h Fix up foreign-key mechanism so that there is a sound semantic basis for the 2007-02-14 01:58:58 +00:00
pg_control.h Update CVS HEAD for 2007 copyright. Back branches are typically not 2007-01-05 22:20:05 +00:00
pg_conversion.h Update CVS HEAD for 2007 copyright. Back branches are typically not 2007-01-05 22:20:05 +00:00
pg_database.h Update CVS HEAD for 2007 copyright. Back branches are typically not 2007-01-05 22:20:05 +00:00
pg_depend.h Update CVS HEAD for 2007 copyright. Back branches are typically not 2007-01-05 22:20:05 +00:00
pg_description.h Update CVS HEAD for 2007 copyright. Back branches are typically not 2007-01-05 22:20:05 +00:00
pg_index.h Support ORDER BY ... NULLS FIRST/LAST, and add ASC/DESC/NULLS FIRST/NULLS LAST 2007-01-09 02:14:16 +00:00
pg_inherits.h Update CVS HEAD for 2007 copyright. Back branches are typically not 2007-01-05 22:20:05 +00:00
pg_language.h Update CVS HEAD for 2007 copyright. Back branches are typically not 2007-01-05 22:20:05 +00:00
pg_largeobject.h Update CVS HEAD for 2007 copyright. Back branches are typically not 2007-01-05 22:20:05 +00:00
pg_listener.h Update CVS HEAD for 2007 copyright. Back branches are typically not 2007-01-05 22:20:05 +00:00
pg_namespace.h Update CVS HEAD for 2007 copyright. Back branches are typically not 2007-01-05 22:20:05 +00:00
pg_opclass.h Add a new builtin type, "uuid". This implements a UUID type, similar to 2007-01-28 16:16:54 +00:00
pg_operator.h Add support for cross-type hashing in hashed subplans (hashed IN/NOT IN cases 2007-02-06 02:59:15 +00:00
pg_opfamily.h Add a new builtin type, "uuid". This implements a UUID type, similar to 2007-01-28 16:16:54 +00:00
pg_pltemplate.h Update CVS HEAD for 2007 copyright. Back branches are typically not 2007-01-05 22:20:05 +00:00
pg_proc.h Add a function pg_stat_clear_snapshot() that discards any statistics snapshot 2007-02-07 23:11:30 +00:00
pg_rewrite.h Update CVS HEAD for 2007 copyright. Back branches are typically not 2007-01-05 22:20:05 +00:00
pg_shdepend.h Update CVS HEAD for 2007 copyright. Back branches are typically not 2007-01-05 22:20:05 +00:00
pg_shdescription.h Update CVS HEAD for 2007 copyright. Back branches are typically not 2007-01-05 22:20:05 +00:00
pg_statistic.h Update CVS HEAD for 2007 copyright. Back branches are typically not 2007-01-05 22:20:05 +00:00
pg_tablespace.h Update CVS HEAD for 2007 copyright. Back branches are typically not 2007-01-05 22:20:05 +00:00
pg_trigger.h Fix up foreign-key mechanism so that there is a sound semantic basis for the 2007-02-14 01:58:58 +00:00
pg_type.h Add a new builtin type, "uuid". This implements a UUID type, similar to 2007-01-28 16:16:54 +00:00
toasting.h Update CVS HEAD for 2007 copyright. Back branches are typically not 2007-01-05 22:20:05 +00:00
unused_oids Change the bootstrap sequence so that toast tables for system catalogs are 2006-07-31 01:16:38 +00:00