postgresql/src
Tom Lane 49fa99e54e Move pattern selectivity code from selfuncs.c to like_support.c.
While at it, refactor patternsel() a bit so that it can be used from
the LIKE/regex planner support functions as well.  This makes the
planner able to deal equally well with either operator or function
syntax for these operations.  I'm not excited about that as a feature
in itself, but it provides a nice model for extensions to follow if
they want such behavior for their operations.

This change localizes the use of pattern_fixed_prefix() and
make_greater_string() so that they no longer need be exported.
(We might get pushback from extensions about that, perhaps,
in which case I'd be inclined to re-export them in a new header
file like_support.h.)

This reduces the bulk of selfuncs.c a fair amount, removing ~1370
lines or about one-sixth of that file; it's still too big, but this
is progress.

Discussion: https://postgr.es/m/24537.1550093915@sss.pgh.pa.us
2019-02-14 10:51:59 -05:00
..
backend Move pattern selectivity code from selfuncs.c to like_support.c. 2019-02-14 10:51:59 -05:00
bin More unconstify use 2019-02-13 11:50:16 +01:00
common More float test and portability fixes. 2019-02-13 19:35:50 +00:00
fe_utils More unconstify use 2019-02-13 11:50:16 +01:00
include Move pattern selectivity code from selfuncs.c to like_support.c. 2019-02-14 10:51:59 -05:00
interfaces More unconstify use 2019-02-13 11:50:16 +01:00
makefiles Move port-specific parts of with_temp_install to port makefile. 2019-02-04 18:54:56 +00:00
pl More unconstify use 2019-02-13 11:50:16 +01:00
port Fix portability issues in pg_bitutils 2019-02-13 20:09:48 -03:00
template Yet further rethinking of build changes for macOS Mojave. 2018-11-02 18:54:00 -04:00
test Remove a stray subnormal value from float tests. 2019-02-13 20:42:57 +00:00
timezone More unconstify use 2019-02-13 11:50:16 +01:00
tools Add basic support for using the POPCNT and SSE4.2s LZCNT opcodes 2019-02-13 16:10:06 -03:00
tutorial SQL comment: remove extra word in heading comment 2019-01-25 18:57:21 -05:00
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02:00
DEVELOPERS
Makefile Fix partial-build problems introduced by having more generated headers. 2018-04-09 16:42:10 -04:00
Makefile.global.in Add basic support for using the POPCNT and SSE4.2s LZCNT opcodes 2019-02-13 16:10:06 -03:00
Makefile.shlib Ensure static libraries have correct mod time even if ranlib messes it up. 2018-11-29 15:53:44 -05:00
nls-global.mk Replace @postgresql.org with @lists.postgresql.org for mailinglists 2019-01-19 19:06:35 +01:00