postgresql/src/include/catalog
Heikki Linnakangas c5608ea26a Allow opclasses to provide tri-valued GIN consistent functions.
With the GIN "fast scan" feature, GIN can skip items without fetching all
the keys for them, if it can prove that they don't match regardless of
those keys. So far, it has done the proving by calling the boolean
consistent function with all combinations of TRUE/FALSE for the unfetched
keys, but since that's O(n^2), it becomes unfeasible with more than a few
keys. We can avoid calling consistent with all the combinations, if we can
tell the operator class implementation directly which keys are unknown.

This commit includes a triConsistent function for the built-in array and
tsvector opclasses.

Alexander Korotkov, with some changes by me.
2014-03-12 17:51:30 +02: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 2014 2014-01-07 16:05:30 -05:00
catalog.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
catversion.h Allow opclasses to provide tri-valued GIN consistent functions. 2014-03-12 17:51:30 +02:00
dependency.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
duplicate_oids Replace duplicate_oids with Perl implementation 2013-10-10 20:09:42 -04:00
genbki.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
heap.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
index.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
indexing.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
namespace.h Make DROP IF EXISTS more consistently not fail 2014-01-23 14:40:29 -03:00
objectaccess.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
objectaddress.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_aggregate.h New json functions. 2014-01-28 17:48:21 -05:00
pg_am.h Allow opclasses to provide tri-valued GIN consistent functions. 2014-03-12 17:51:30 +02:00
pg_amop.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_amproc.h Allow opclasses to provide tri-valued GIN consistent functions. 2014-03-12 17:51:30 +02:00
pg_attrdef.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_attribute.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_auth_members.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_authid.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_cast.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_class.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_collation.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_collation_fn.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_constraint.h Avoid repeated name lookups during table and index DDL. 2014-02-17 09:33:31 -05:00
pg_control.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_conversion.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_conversion_fn.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_database.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_db_role_setting.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_default_acl.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_depend.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_description.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_enum.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_event_trigger.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_extension.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_foreign_data_wrapper.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_foreign_server.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_foreign_table.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_index.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_inherits.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_inherits_fn.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_language.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_largeobject.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_largeobject_metadata.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_namespace.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_opclass.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_operator.h Add a pg_lsn data type, to represent an LSN. 2014-02-19 08:35:23 -05:00
pg_opfamily.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_pltemplate.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_proc.h Allow opclasses to provide tri-valued GIN consistent functions. 2014-03-12 17:51:30 +02:00
pg_proc_fn.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_range.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_rewrite.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_seclabel.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_shdepend.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_shdescription.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_shseclabel.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_statistic.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_tablespace.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_trigger.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_ts_config.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_ts_config_map.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_ts_dict.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_ts_parser.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_ts_template.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_type.h Define LSNOID in pg_type.h. 2014-03-03 07:03:41 -05:00
pg_type_fn.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
pg_user_mapping.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
storage.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
storage_xlog.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
toasting.h Update copyright for 2014 2014-01-07 16:05:30 -05:00
unused_oids Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00