postgresql/src/include/catalog
Tom Lane b2cc611959 Fix dependencies generated during ALTER TABLE ADD CONSTRAINT USING INDEX.
This command generated new pg_depend entries linking the index to the
constraint and the constraint to the table, which match the entries made
when a unique or primary key constraint is built de novo.  However, it did
not bother to get rid of the entries linking the index directly to the
table.  We had considered the issue when the ADD CONSTRAINT USING INDEX
patch was written, and concluded that we didn't need to get rid of the
extra entries.  But this is wrong: ALTER COLUMN TYPE wasn't expecting such
redundant dependencies to exist, as reported by Hubert Depesz Lubaczewski.
On reflection it seems rather likely to break other things as well, since
there are many bits of code that crawl pg_depend for one purpose or
another, and most of them are pretty naive about what relationships they're
expecting to find.  Fortunately it's not that hard to get rid of the extra
dependency entries, so let's do that.

Back-patch to 9.1, where ALTER TABLE ADD CONSTRAINT USING INDEX was added.
2012-08-11 12:51:36 -04:00
..
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02:00
catalog.h pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
catversion.h Improve hash_array() logic for combining hash values. 2011-05-23 15:17:18 -04:00
dependency.h Rethink behavior of CREATE OR REPLACE during CREATE EXTENSION. 2011-07-23 16:59:49 -04:00
duplicate_oids Make duplicate_oids return nonzero exit status if duplicates were found 2011-03-28 22:56:52 +03:00
genbki.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
heap.h Prevent loss of init fork when truncating an unlogged table. 2012-05-11 09:48:54 -04:00
index.h Fix dependencies generated during ALTER TABLE ADD CONSTRAINT USING INDEX. 2012-08-11 12:51:36 -04:00
indexing.h Core support for "extensions", which are packages of SQL objects. 2011-02-08 16:13:22 -05:00
namespace.h Fix bugs in relpersistence handling during table creation. 2011-07-03 17:46:58 -04:00
objectaccess.h pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
objectaddress.h Allow non-superusers to create (some) extensions. 2011-03-04 16:08:53 -05:00
pg_aggregate.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
pg_am.h pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
pg_amop.h pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
pg_amproc.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
pg_attrdef.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
pg_attribute.h Per-column collation support 2011-02-08 23:04:18 +02:00
pg_auth_members.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
pg_authid.h pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
pg_cast.h Add casts from int4 and int8 to numeric. 2011-04-05 09:35:43 -04:00
pg_class.h pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
pg_collation.h pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
pg_collation_fn.h pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
pg_constraint.h pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
pg_control.h pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
pg_conversion.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
pg_conversion_fn.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
pg_database.h Add database comments to template0 and postgres databases, and improve 2011-03-15 11:26:57 -04:00
pg_db_role_setting.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
pg_default_acl.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
pg_depend.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
pg_description.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
pg_enum.h pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
pg_extension.h pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
pg_foreign_data_wrapper.h Create the catalog infrastructure for foreign-data-wrapper handlers. 2011-02-19 00:07:15 -05:00
pg_foreign_server.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
pg_foreign_table.h Cleanup copyright years and file names in the header comments of some files. 2011-03-10 15:05:33 +09:00
pg_index.h pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
pg_inherits.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
pg_inherits_fn.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
pg_language.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
pg_largeobject.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
pg_largeobject_metadata.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
pg_namespace.h Fix some issues with temp/transient tables in extension scripts. 2012-03-08 15:52:34 -05:00
pg_opclass.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
pg_operator.h Fix failure to check whether a rowtype's component types are sortable. 2011-06-03 15:39:17 -04:00
pg_opfamily.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
pg_pltemplate.h Make plpythonu language use plpython2 shared library directly. 2011-03-05 15:13:15 -05:00
pg_proc.h pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
pg_proc_fn.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
pg_rewrite.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
pg_seclabel.h pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
pg_shdepend.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
pg_shdescription.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
pg_statistic.h Fix tsmatchsel() to account properly for null rows. 2011-02-17 19:00:49 -05:00
pg_tablespace.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
pg_trigger.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
pg_ts_config.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
pg_ts_config_map.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
pg_ts_dict.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
pg_ts_parser.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
pg_ts_template.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
pg_type.h pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
pg_type_fn.h DDL support for collations 2011-02-12 15:55:18 +02:00
pg_user_mapping.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
storage.h pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
toasting.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
unused_oids Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00