postgresql/src/backend/utils/adt
Tom Lane 7b8a63c3e9 Alter the xxx_pattern_ops opclasses to use the regular equality operator of
the associated datatype as their equality member.  This means that these
opclasses can now support plain equality comparisons along with LIKE tests,
thus avoiding the need for an extra index in some applications.  This
optimization was not possible when the pattern opclasses were first introduced,
because we didn't insist that text equality meant bitwise equality; but we
do now, so there is no semantic difference between regular and pattern
equality operators.

I removed the name_pattern_ops opclass altogether, since it's really useless:
name's regular comparisons are just strcmp() and are unlikely to become
something different.  Instead teach indxpath.c that btree name_ops can be
used for LIKE whether or not the locale is C.  This might lead to a useful
speedup in LIKE queries on the system catalogs in non-C locales.

The ~=~ and ~<>~ operators are gone altogether.  (It would have been nice to
keep them for backward compatibility's sake, but since the pg_amop structure
doesn't allow multiple equality operators per opclass, there's no way.)

A not-immediately-obvious incompatibility is that the sort order within
bpchar_pattern_ops indexes changes --- it had been identical to plain
strcmp, but is now trailing-blank-insensitive.  This will impact
in-place upgrades, if those ever happen.

Per discussions a couple months ago.
2008-05-27 00:13:09 +00:00
..
acl.c Simplify and standardize conversions between TEXT datums and ordinary C 2008-03-25 22:42:46 +00:00
array_userfuncs.c Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
arrayfuncs.c Restructure some header files a bit, in particular heapam.h, by removing some 2008-05-12 00:00:54 +00:00
arrayutils.c Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
ascii.c
bool.c
cash.c Allow float8, int8, and related datatypes to be passed by value on machines 2008-04-21 00:26:47 +00:00
char.c Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
date.c Simplify and standardize conversions between TEXT datums and ordinary C 2008-03-25 22:42:46 +00:00
datetime.c Restructure some header files a bit, in particular heapam.h, by removing some 2008-05-12 00:00:54 +00:00
datum.c
dbsize.c Fix a number of places that were making file-type tests infelicitously. 2008-03-31 01:31:43 +00:00
domains.c Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
encode.c
enum.c Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
float.c
format_type.c
formatting.c Simplify code in formatting.c now that to upper/lower/initcase do not 2008-05-20 01:41:02 +00:00
genfile.c Restructure some header files a bit, in particular heapam.h, by removing some 2008-05-12 00:00:54 +00:00
geo_ops.c Fix several datatype input functions that were allowing unused bytes in their 2008-04-11 22:52:05 +00:00
geo_selfuncs.c Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
inet_net_ntop.c
inet_net_pton.c Fix another passel of include-file breakage. Kris Jurka, Tom Lane 2006-07-14 16:59:19 +00:00
int8.c
int.c
like_match.c
like.c
lockfuncs.c
mac.c Downgrade implicit casts to text to be assignment-only, except for the ones 2007-06-05 21:31:09 +00:00
Makefile Refactor backend makefiles to remove lots of duplicate code 2008-02-19 10:30:09 +00:00
misc.c
nabstime.c Simplify and standardize conversions between TEXT datums and ordinary C 2008-03-25 22:42:46 +00:00
name.c Alter the xxx_pattern_ops opclasses to use the regular equality operator of 2008-05-27 00:13:09 +00:00
network.c
numeric.c Adjust power() error messages to be more descriptive. 2008-05-09 21:31:23 +00:00
numutils.c Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
oid.c Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
oracle_compat.c
pg_locale.c Make to_char()'s localized month/day names depend on LC_TIME, not LC_MESSAGES. 2008-05-19 18:08:16 +00:00
pg_lzcompress.c Improve pglz_decompress() so that it cannot clobber memory beyond the 2008-03-08 01:09:36 +00:00
pgstatfuncs.c Add support for tracking call counts and elapsed runtime for user-defined 2008-05-15 00:17:41 +00:00
pseudotypes.c Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
quote.c Simplify and standardize conversions between TEXT datums and ordinary C 2008-03-25 22:42:46 +00:00
regexp.c Convert three more guc settings to enum type: 2008-04-02 14:42:56 +00:00
regproc.c Move the HTSU_Result enum definition into snapshot.h, to avoid including 2008-03-26 21:10:39 +00:00
ri_triggers.c
rowtypes.c Restructure some header files a bit, in particular heapam.h, by removing some 2008-05-12 00:00:54 +00:00
ruleutils.c Restructure some header files a bit, in particular heapam.h, by removing some 2008-05-12 00:00:54 +00:00
selfuncs.c Restructure some header files a bit, in particular heapam.h, by removing some 2008-05-12 00:00:54 +00:00
tid.c
timestamp.c Add timestamp and timestamptz versions of generate_series(). 2008-05-04 23:19:24 +00:00
tsginidx.c
tsgistidx.c Extend GIN to support partial-match searches, and extend tsquery to support 2008-05-16 16:31:02 +00:00
tsquery_cleanup.c Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
tsquery_gist.c
tsquery_op.c Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
tsquery_rewrite.c
tsquery_util.c
tsquery.c
tsrank.c Extend GIN to support partial-match searches, and extend tsquery to support 2008-05-16 16:31:02 +00:00
tsvector_op.c Extend GIN to support partial-match searches, and extend tsquery to support 2008-05-16 16:31:02 +00:00
tsvector_parser.c Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
tsvector.c Extend GIN to support partial-match searches, and extend tsquery to support 2008-05-16 16:31:02 +00:00
txid.c Improve snapshot manager by keeping explicit track of snapshots. 2008-05-12 20:02:02 +00:00
uuid.c Fix some missed copyright updates. 2008-01-01 20:31:21 +00:00
varbit.c Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
varchar.c
varlena.c Alter the xxx_pattern_ops opclasses to use the regular equality operator of 2008-05-27 00:13:09 +00:00
version.c
xid.c
xml.c