postgresql/src/include/catalog
Noah Misch 0834df9094 Dissociate btequalimage() from interval_ops, ending its deduplication.
Under interval_ops, some equal values are distinguishable.  One such
pair is '24:00:00' and '1 day'.  With that being so, btequalimage()
breaches the documented contract for the "equalimage" btree support
function.  This can cause incorrect results from index-only scans.
Users should REINDEX any btree indexes having interval-type columns.
After updating, pg_amcheck will report an error for almost all such
indexes.  This fix makes interval_ops simply omit the support function,
like numeric_ops does.  Back-pack to v13, where btequalimage() first
appeared.  In back branches, for the benefit of old catalog content,
btequalimage() code will return false for type "interval".  Going
forward, back-branch initdb will include the catalog change.

Reviewed by Peter Geoghegan.

Discussion: https://postgr.es/m/20231011013317.22.nmisch@google.com
2023-10-14 16:33:54 -07:00
..
.gitignore Build in some knowledge about foreign-key relationships in the catalogs. 2021-02-02 17:11:55 -05:00
Makefile Update copyright for 2021 2021-01-02 13:06:25 -05:00
binary_upgrade.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
catalog.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
catversion.h Finish reverting 3eda9fc09f. 2021-09-07 10:52:25 -04:00
dependency.h In extensions, don't replace objects not belonging to the extension. 2022-08-08 11:12:31 -04:00
duplicate_oids Update copyright for 2021 2021-01-02 13:06:25 -05:00
genbki.h Build in some knowledge about foreign-key relationships in the catalogs. 2021-02-02 17:11:55 -05:00
heap.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
index.h Revert per-index collation version tracking feature. 2021-05-07 21:10:11 +12:00
indexing.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
namespace.h Reconsider the handling of procedure OUT parameters. 2021-06-10 17:11:36 -04:00
objectaccess.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
objectaddress.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
partition.h ALTER TABLE ... DETACH PARTITION ... CONCURRENTLY 2021-03-25 18:00:28 -03:00
pg_aggregate.dat Initial pgindent and pgperltidy run for v14. 2021-05-12 13:14:10 -04:00
pg_aggregate.h Build in some knowledge about foreign-key relationships in the catalogs. 2021-02-02 17:11:55 -05:00
pg_am.dat Update copyright for 2021 2021-01-02 13:06:25 -05:00
pg_am.h Add primary keys and unique constraints to system catalogs 2021-01-30 19:44:29 +01:00
pg_amop.dat BRIN minmax-multi indexes 2021-03-26 13:54:30 +01:00
pg_amop.h Build in some knowledge about foreign-key relationships in the catalogs. 2021-02-02 17:11:55 -05:00
pg_amproc.dat Dissociate btequalimage() from interval_ops, ending its deduplication. 2023-10-14 16:33:54 -07:00
pg_amproc.h Add primary keys and unique constraints to system catalogs 2021-01-30 19:44:29 +01:00
pg_attrdef.h Build in some knowledge about foreign-key relationships in the catalogs. 2021-02-02 17:11:55 -05:00
pg_attribute.h Rethink definition of pg_attribute.attcompression. 2021-05-27 13:24:27 -04:00
pg_auth_members.h Build in some knowledge about foreign-key relationships in the catalogs. 2021-02-02 17:11:55 -05:00
pg_authid.dat Do pre-release housekeeping on catalog data. 2021-05-12 13:36:06 -04:00
pg_authid.h doc: Improve hyphenation consistency 2021-04-21 08:14:43 +02:00
pg_cast.dat Revert 29854ee8d1 due to buildfarm failures 2021-06-15 21:44:40 +03:00
pg_cast.h Build in some knowledge about foreign-key relationships in the catalogs. 2021-02-02 17:11:55 -05:00
pg_class.dat Update copyright for 2021 2021-01-02 13:06:25 -05:00
pg_class.h Correct comment and some documentation about REPLICA_IDENTITY_INDEX 2021-12-22 16:38:38 +09:00
pg_collation.dat Build in some knowledge about foreign-key relationships in the catalogs. 2021-02-02 17:11:55 -05:00
pg_collation.h Do pre-release housekeeping on catalog data. 2021-05-12 13:36:06 -04:00
pg_constraint.h Build in some knowledge about foreign-key relationships in the catalogs. 2021-02-02 17:11:55 -05:00
pg_control.h Fix WAL replay in presence of an incomplete record 2021-09-29 11:41:01 -03:00
pg_conversion.dat Update copyright for 2021 2021-01-02 13:06:25 -05:00
pg_conversion.h Remove special BKI_LOOKUP magic for namespace and role OIDs. 2021-02-03 12:01:48 -05:00
pg_database.dat Update copyright for 2021 2021-01-02 13:06:25 -05:00
pg_database.h Handle DROP DATABASE getting interrupted 2023-07-13 13:03:33 -07:00
pg_db_role_setting.h Build in some knowledge about foreign-key relationships in the catalogs. 2021-02-02 17:11:55 -05:00
pg_default_acl.h Build in some knowledge about foreign-key relationships in the catalogs. 2021-02-02 17:11:55 -05:00
pg_depend.h Revert per-index collation version tracking feature. 2021-05-07 21:10:11 +12:00
pg_description.h Build in some knowledge about foreign-key relationships in the catalogs. 2021-02-02 17:11:55 -05:00
pg_enum.h Build in some knowledge about foreign-key relationships in the catalogs. 2021-02-02 17:11:55 -05:00
pg_event_trigger.h Build in some knowledge about foreign-key relationships in the catalogs. 2021-02-02 17:11:55 -05:00
pg_extension.h Build in some knowledge about foreign-key relationships in the catalogs. 2021-02-02 17:11:55 -05:00
pg_foreign_data_wrapper.h Build in some knowledge about foreign-key relationships in the catalogs. 2021-02-02 17:11:55 -05:00
pg_foreign_server.h Build in some knowledge about foreign-key relationships in the catalogs. 2021-02-02 17:11:55 -05:00
pg_foreign_table.h Build in some knowledge about foreign-key relationships in the catalogs. 2021-02-02 17:11:55 -05:00
pg_index.h Build in some knowledge about foreign-key relationships in the catalogs. 2021-02-02 17:11:55 -05:00
pg_inherits.h Allow a partdesc-omitting-partitions to be cached 2021-04-28 15:44:35 -04:00
pg_init_privs.h Build in some knowledge about foreign-key relationships in the catalogs. 2021-02-02 17:11:55 -05:00
pg_language.dat Update copyright for 2021 2021-01-02 13:06:25 -05:00
pg_language.h Remove special BKI_LOOKUP magic for namespace and role OIDs. 2021-02-03 12:01:48 -05:00
pg_largeobject.h Build in some knowledge about foreign-key relationships in the catalogs. 2021-02-02 17:11:55 -05:00
pg_largeobject_metadata.h Build in some knowledge about foreign-key relationships in the catalogs. 2021-02-02 17:11:55 -05:00
pg_namespace.dat Build in some knowledge about foreign-key relationships in the catalogs. 2021-02-02 17:11:55 -05:00
pg_namespace.h Remove special BKI_LOOKUP magic for namespace and role OIDs. 2021-02-03 12:01:48 -05:00
pg_opclass.dat Initial pgindent and pgperltidy run for v14. 2021-05-12 13:14:10 -04:00
pg_opclass.h Remove special BKI_LOOKUP magic for namespace and role OIDs. 2021-02-03 12:01:48 -05:00
pg_operator.dat Fix small inconsistencies in catalog definition of multirange operators 2021-07-15 14:18:53 +03:00
pg_operator.h Prevent ALTER TYPE/DOMAIN/OPERATOR from changing extension membership. 2021-08-17 14:29:22 -04:00
pg_opfamily.dat Dissociate btequalimage() from interval_ops, ending its deduplication. 2023-10-14 16:33:54 -07:00
pg_opfamily.h Remove special BKI_LOOKUP magic for namespace and role OIDs. 2021-02-03 12:01:48 -05:00
pg_partitioned_table.h Build in some knowledge about foreign-key relationships in the catalogs. 2021-02-02 17:11:55 -05:00
pg_policy.h Build in some knowledge about foreign-key relationships in the catalogs. 2021-02-02 17:11:55 -05:00
pg_proc.dat Set the volatility of the timestamptz version of date_bin() back to immutable 2021-09-03 13:40:32 -04:00
pg_proc.h Reconsider the handling of procedure OUT parameters. 2021-06-10 17:11:36 -04:00
pg_publication.h Invalidate all partitions for a partitioned table in publication. 2021-09-22 08:13:37 +05:30
pg_publication_rel.h Build in some knowledge about foreign-key relationships in the catalogs. 2021-02-02 17:11:55 -05:00
pg_range.dat Run reformat-dat-files to declutter the catalog data files. 2021-01-13 16:14:38 -05:00
pg_range.h Build in some knowledge about foreign-key relationships in the catalogs. 2021-02-02 17:11:55 -05:00
pg_replication_origin.h Add primary keys and unique constraints to system catalogs 2021-01-30 19:44:29 +01:00
pg_rewrite.h Build in some knowledge about foreign-key relationships in the catalogs. 2021-02-02 17:11:55 -05:00
pg_seclabel.h Build in some knowledge about foreign-key relationships in the catalogs. 2021-02-02 17:11:55 -05:00
pg_sequence.h Build in some knowledge about foreign-key relationships in the catalogs. 2021-02-02 17:11:55 -05:00
pg_shdepend.h Build in some knowledge about foreign-key relationships in the catalogs. 2021-02-02 17:11:55 -05:00
pg_shdescription.h Build in some knowledge about foreign-key relationships in the catalogs. 2021-02-02 17:11:55 -05:00
pg_shseclabel.h Build in some knowledge about foreign-key relationships in the catalogs. 2021-02-02 17:11:55 -05:00
pg_statistic.h Build in some knowledge about foreign-key relationships in the catalogs. 2021-02-02 17:11:55 -05:00
pg_statistic_ext.h Extended statistics on expressions 2021-03-27 00:01:11 +01:00
pg_statistic_ext_data.h Extended statistics on expressions 2021-03-27 00:01:11 +01:00
pg_subscription.h Fix incorrect permissions on pg_subscription. 2021-06-03 14:54:06 -04:00
pg_subscription_rel.h Allow multiple xacts during table sync in logical replication. 2021-02-12 07:41:51 +05:30
pg_tablespace.dat Build in some knowledge about foreign-key relationships in the catalogs. 2021-02-02 17:11:55 -05:00
pg_tablespace.h Remove special BKI_LOOKUP magic for namespace and role OIDs. 2021-02-03 12:01:48 -05:00
pg_transform.h Build in some knowledge about foreign-key relationships in the catalogs. 2021-02-02 17:11:55 -05:00
pg_trigger.h Build in some knowledge about foreign-key relationships in the catalogs. 2021-02-02 17:11:55 -05:00
pg_ts_config.dat Update copyright for 2021 2021-01-02 13:06:25 -05:00
pg_ts_config.h Remove special BKI_LOOKUP magic for namespace and role OIDs. 2021-02-03 12:01:48 -05:00
pg_ts_config_map.dat Update copyright for 2021 2021-01-02 13:06:25 -05:00
pg_ts_config_map.h Add primary keys and unique constraints to system catalogs 2021-01-30 19:44:29 +01:00
pg_ts_dict.dat Update copyright for 2021 2021-01-02 13:06:25 -05:00
pg_ts_dict.h Remove special BKI_LOOKUP magic for namespace and role OIDs. 2021-02-03 12:01:48 -05:00
pg_ts_parser.dat Update copyright for 2021 2021-01-02 13:06:25 -05:00
pg_ts_parser.h Remove special BKI_LOOKUP magic for namespace and role OIDs. 2021-02-03 12:01:48 -05:00
pg_ts_template.dat Update copyright for 2021 2021-01-02 13:06:25 -05:00
pg_ts_template.h Remove special BKI_LOOKUP magic for namespace and role OIDs. 2021-02-03 12:01:48 -05:00
pg_type.dat Do pre-release housekeeping on catalog data. 2021-05-12 13:36:06 -04:00
pg_type.h Prevent ALTER TYPE/DOMAIN/OPERATOR from changing extension membership. 2021-08-17 14:29:22 -04:00
pg_user_mapping.h Build in some knowledge about foreign-key relationships in the catalogs. 2021-02-02 17:11:55 -05:00
reformat_dat_file.pl Update copyright for 2021 2021-01-02 13:06:25 -05:00
renumber_oids.pl Initial pgindent and pgperltidy run for v14. 2021-05-12 13:14:10 -04:00
storage.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
storage_xlog.h Update copyright for 2021 2021-01-02 13:06:25 -05:00
toasting.h Fix toast rewrites in logical decoding. 2021-08-25 10:10:50 +05:30
unused_oids Update copyright for 2021 2021-01-02 13:06:25 -05:00