postgresql/src/include/utils
Tom Lane 5c80642aa8 Remove unnecessary int2vector-specific hash function and equality operator.
These functions were originally added in commit d8cedf67a to support
use of int2vector columns as catcache lookup keys.  However, there are
no catcaches that use such columns.  (Indeed I now think it must always
have been dead code: a catcache with such a key column would need an
underlying unique index on the column, but we've never had an int2vector
btree opclass.)

Getting rid of the int2vector-specific operator and function does not
lose any functionality, because operations on int2vectors will now fall
back to the generic anyarray support.  This avoids a wart that a btree
index on an int2vector column (made using anyarray_ops) would fail to
match equality searches, because int2vectoreq wasn't a member of the
opclass.  We don't really care much about that, since int2vector is not
meant as a type for users to use, but it's silly to have extra code and
less functionality.

If we ever do want a catcache to be indexed by an int2vector column,
we'd need to put back full btree and hash opclasses for int2vector,
comparable to the support for oidvector.  (The anyarray code can't be
used at such a low level, because it needs to do catcache lookups.)
But we'll deal with that if/when the need arises.

Also worth noting is that removal of the hash int2vector_ops opclass will
break any user-created hash indexes on int2vector columns.  While hash
anyarray_ops would serve the same purpose, it would probably not compute
the same hash values and thus wouldn't be on-disk-compatible.  Given that
int2vector isn't a user-facing type and we're planning other incompatible
changes in hash indexes for v10 anyway, this doesn't seem like something
to worry about, but it's probably worth mentioning here.

Amit Langote

Discussion: <d9bb74f8-b194-7307-9ebd-90645d377e45@lab.ntt.co.jp>
2016-10-12 14:54:08 -04:00
..
.gitignore
acl.h Add location field to DefElem 2016-09-06 12:00:00 -04:00
aclchk_internal.h
array.h In plpgsql, don't try to convert int2vector or oidvector to expanded array. 2016-08-18 14:49:08 -04:00
arrayaccess.h
ascii.h
attoptcache.h
builtins.h Remove unnecessary int2vector-specific hash function and equality operator. 2016-10-12 14:54:08 -04:00
bytea.h
cash.h
catcache.h
combocid.h
date.h Improve parsetree representation of special functions such as CURRENT_DATE. 2016-08-16 20:33:01 -04:00
datetime.h
datum.h
dynahash.h
dynamic_loader.h
elog.h Improve unreachability recognition in elog() macro. 2016-09-10 17:54:23 -04:00
evtcache.h
expandeddatum.h Inline the easy cases in MakeExpandedObjectReadOnly(). 2016-06-03 18:34:05 -04:00
fmgrtab.h
formatting.h
geo_decls.h pgindent run for 9.6 2016-06-09 18:02:36 -04:00
guc_tables.h
guc.h Show a sensible value in pg_settings.unit for GUC_UNIT_XSEGS variables. 2016-10-03 16:40:25 -04:00
help_config.h
hsearch.h
index_selfuncs.h
inet.h Create an SP-GiST opclass for inet/cidr. 2016-08-23 15:16:30 -04:00
int8.h
inval.h
json.h
jsonapi.h pgindent run for 9.6 2016-06-09 18:02:36 -04:00
jsonb.h Fix breakage in previous change 2016-09-30 15:27:51 -04:00
logtape.h Simplify the code for logical tape read buffers. 2016-10-12 12:05:45 +03:00
lsyscache.h
memdebug.h
memutils.h Add macros to make AllocSetContextCreate() calls simpler and safer. 2016-08-27 17:50:38 -04:00
nabstime.h
numeric.h Remove bogus dependencies on NUMERIC_MAX_PRECISION. 2016-08-14 15:06:01 -04:00
palloc.h
pg_crc.h
pg_locale.h Cope if platform declares mbstowcs_l(), but not locale_t, in <xlocale.h>. 2016-03-15 13:19:57 -04:00
pg_lsn.h
pg_rusage.h
plancache.h Avoid invalidating all foreign-join cached plans when user mappings change. 2016-07-15 17:23:02 -04:00
portal.h Fix TOAST access failure in RETURNING queries. 2016-08-07 17:46:08 -04:00
ps_status.h
rangetypes.h
rel.h Restore foreign-key-aware estimation of join relation sizes. 2016-06-18 15:22:34 -04:00
relcache.h Restore foreign-key-aware estimation of join relation sizes. 2016-06-18 15:22:34 -04:00
relfilenodemap.h
relmapper.h
reltrigger.h
resowner_private.h
resowner.h
rls.h
ruleutils.h
sampling.h
selfuncs.h Support CREATE ACCESS METHOD 2016-03-23 23:01:35 -03:00
snapmgr.h Prevent "snapshot too old" from trying to return pruned TOAST tuples. 2016-08-03 16:50:01 -04:00
snapshot.h Add the "snapshot too old" feature 2016-04-08 14:36:30 -05:00
sortsupport.h
spccache.h
syscache.h
timeout.h Be more predictable about reporting "lock timeout" vs "statement timeout". 2016-05-27 10:40:20 -04:00
timestamp.h Improve parsetree representation of special functions such as CURRENT_DATE. 2016-08-16 20:33:01 -04:00
tqual.h Fix copy-and-pasteo in 81c766b3fd. 2016-08-05 16:21:38 -04:00
tuplesort.h
tuplestore.h
typcache.h
tzparser.h
uuid.h
varbit.h
xml.h