postgresql/src/include/catalog
Robert Haas 54cde0c4c0 Don't lock tables in RelationGetPartitionDispatchInfo.
Instead, lock them in the caller using find_all_inheritors so that
they get locked in the standard order, minimizing deadlock risks.

Also in RelationGetPartitionDispatchInfo, avoid opening tables which
are not partitioned; there's no need.

Amit Langote, reviewed by Ashutosh Bapat and Amit Khandekar

Discussion: http://postgr.es/m/91b36fa1-c197-b72f-ca6e-56c593bae68c@lab.ntt.co.jp
2017-08-17 15:43:09 -04:00
..
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02:00
binary_upgrade.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
catalog.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
catversion.h Use MINVALUE/MAXVALUE instead of UNBOUNDED for range partition bounds. 2017-07-21 09:20:47 +01:00
dependency.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
duplicate_oids pgindent run for 9.4 2014-05-06 12:12:18 -04:00
genbki.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
heap.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
index.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
indexing.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
namespace.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
objectaccess.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
objectaddress.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
opfam_internal.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
partition.h Don't lock tables in RelationGetPartitionDispatchInfo. 2017-08-17 15:43:09 -04:00
pg_aggregate.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_am.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_amop.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_amproc.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_attrdef.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_attribute.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_auth_members.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_authid.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_cast.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_class.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_collation.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_collation_fn.h Rethink behavior of pg_import_system_collations(). 2017-06-23 14:19:58 -04:00
pg_constraint.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_constraint_fn.h Phase 3 of pgindent updates. 2017-06-21 15:35:54 -04:00
pg_control.h Add static assertions about pg_control fitting into one disk sector. 2017-07-19 16:16:57 -04:00
pg_conversion.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_conversion_fn.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_database.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_db_role_setting.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_default_acl.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_depend.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_description.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_enum.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_event_trigger.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_extension.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_foreign_data_wrapper.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_foreign_server.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_foreign_table.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_index.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_inherits.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_inherits_fn.h Fix transition tables for partition/inheritance. 2017-06-28 18:55:03 +01:00
pg_init_privs.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_language.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_largeobject.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_largeobject_metadata.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_namespace.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_opclass.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_operator.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_operator_fn.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_opfamily.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_partitioned_table.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_pltemplate.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_policy.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_proc.h Rethink behavior of pg_import_system_collations(). 2017-06-23 14:19:58 -04:00
pg_proc_fn.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_publication.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_publication_rel.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_range.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_replication_origin.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_rewrite.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_seclabel.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_sequence.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_shdepend.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_shdescription.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_shseclabel.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_statistic.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_statistic_ext.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_subscription.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_subscription_rel.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_tablespace.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_transform.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_trigger.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_ts_config.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_ts_config_map.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_ts_dict.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_ts_parser.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_ts_template.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_type.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_type_fn.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
pg_user_mapping.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
storage.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
storage_xlog.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
toasting.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
unused_oids Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00