postgresql/src/include/catalog
Alvaro Herrera 9fdb675fc5 Faster partition pruning
Add a new module backend/partitioning/partprune.c, implementing a more
sophisticated algorithm for partition pruning.  The new module uses each
partition's "boundinfo" for pruning instead of constraint exclusion,
based on an idea proposed by Robert Haas of a "pruning program": a list
of steps generated from the query quals which are run iteratively to
obtain a list of partitions that must be scanned in order to satisfy
those quals.

At present, this targets planner-time partition pruning, but there exist
further patches to apply partition pruning at execution time as well.

This commit also moves some definitions from include/catalog/partition.h
to a new file include/partitioning/partbounds.h, in an attempt to
rationalize partitioning related code.

Authors: Amit Langote, David Rowley, Dilip Kumar
Reviewers: Robert Haas, Kyotaro Horiguchi, Ashutosh Bapat, Jesper Pedersen.
Discussion: https://postgr.es/m/098b9c71-1915-1a2a-8d52-1a7a50ce79e8@lab.ntt.co.jp
2018-04-06 16:44:05 -03:00
..
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02:00
binary_upgrade.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
catalog.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
catversion.h Faster partition pruning 2018-04-06 16:44:05 -03:00
dependency.h Local partitioned indexes 2018-01-19 11:49:22 -03:00
duplicate_oids pgindent run for 9.4 2014-05-06 12:12:18 -04:00
genbki.h Remove hard-coded schema knowledge about pg_attribute from genbki.pl 2018-01-12 11:21:42 -03:00
heap.h Fast ALTER TABLE ADD COLUMN with a non-NULL default 2018-03-28 10:43:52 +10:30
index.h Allow UNIQUE indexes on partitioned tables 2018-02-19 17:40:00 -03:00
indexing.h Allow FOR EACH ROW triggers on partitioned tables 2018-03-23 10:48:22 -03:00
namespace.h Add SKIP_LOCKED option to RangeVarGetRelidExtended(). 2018-03-30 17:05:16 -07:00
objectaccess.h Fix typo 2018-03-07 09:02:57 -05:00
objectaddress.h Replace AclObjectKind with ObjectType 2018-01-19 14:01:15 -05:00
opfam_internal.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
partition.h Faster partition pruning 2018-04-06 16:44:05 -03:00
pg_aggregate.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_aggregate_fn.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_am.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_amop.h Add prefix operator for TEXT type. 2018-04-03 19:46:45 +03:00
pg_amproc.h Add window RANGE support for float4, float8, numeric. 2018-02-24 13:23:38 -05:00
pg_attrdef.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_attribute.h Fast ALTER TABLE ADD COLUMN with a non-NULL default 2018-03-28 10:43:52 +10:30
pg_auth_members.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_authid.h Add default roles for file/program access 2018-04-06 14:47:10 -04:00
pg_cast.h Add casts from jsonb 2018-03-29 16:33:56 +03:00
pg_class.h Fast ALTER TABLE ADD COLUMN with a non-NULL default 2018-03-28 10:43:52 +10:30
pg_collation.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_collation_fn.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_constraint.h Allow FOR EACH ROW triggers on partitioned tables 2018-03-23 10:48:22 -03:00
pg_constraint_fn.h Foreign keys on partitioned tables 2018-04-04 14:02:49 -03:00
pg_control.h Allow on-line enabling and disabling of data checksums 2018-04-05 22:04:48 +02:00
pg_conversion.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_conversion_fn.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_database.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_db_role_setting.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_default_acl.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_depend.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_description.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_enum.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_event_trigger.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_extension.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_foreign_data_wrapper.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_foreign_server.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_foreign_table.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_index.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_inherits.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_inherits_fn.h Local partitioned indexes 2018-01-19 11:49:22 -03:00
pg_init_privs.h Trivial adjustments in preparation for bootstrap data conversion. 2018-03-03 11:23:33 -05:00
pg_language.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_largeobject.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_largeobject_metadata.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_namespace.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_opclass.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_operator.h Add prefix operator for TEXT type. 2018-04-03 19:46:45 +03:00
pg_operator_fn.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_opfamily.h Faster partition pruning 2018-04-06 16:44:05 -03:00
pg_partitioned_table.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_pltemplate.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_policy.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_proc.h Support new default roles with adminpack 2018-04-06 14:47:10 -04:00
pg_proc_fn.h Add prokind column, replacing proisagg and proiswindow 2018-03-02 13:48:33 -05:00
pg_publication.h Fix filtering of unsupported relations in logical replication 2018-02-23 22:13:21 -05:00
pg_publication_rel.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_range.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_replication_origin.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_rewrite.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_seclabel.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_sequence.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_shdepend.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_shdescription.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_shseclabel.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_statistic.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_statistic_ext.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_subscription.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_subscription_rel.h Split the SetSubscriptionRelState function into two 2018-04-06 10:00:26 -04:00
pg_tablespace.h Trivial adjustments in preparation for bootstrap data conversion. 2018-03-03 11:23:33 -05:00
pg_transform.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_trigger.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_ts_config.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_ts_config_map.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_ts_dict.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_ts_parser.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_ts_template.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_type.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_type_fn.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_user_mapping.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
storage.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
storage_xlog.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
toasting.h Update copyright for 2018 2018-01-02 23:30:12 -05:00
unused_oids Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00