diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2021-11-17 16:54:12 -0500 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2021-11-17 16:54:12 -0500 |
commit | a148f8bc04b9980f019ea0d4b89311cf0bdc22b7 (patch) | |
tree | 58867cab7541cf8f150fd5ac4135233ef4b653e3 /src/backend/executor/nodeRecursiveunion.c | |
parent | 248c3a937dd018a72095f407cff727c9f08db0c1 (diff) | |
download | postgresql-a148f8bc04b9980f019ea0d4b89311cf0bdc22b7.tar.gz postgresql-a148f8bc04b9980f019ea0d4b89311cf0bdc22b7.zip |
Add a planner support function for starts_with().
This fills in some gaps in planner support for starts_with() and
the equivalent ^@ operator:
* A condition such as "textcol ^@ constant" can now use a regular
btree index, not only an SP-GiST index, so long as the index's
collation is C. (This works just like "textcol LIKE 'foo%'".)
* "starts_with(textcol, constant)" can be optimized the same as
"textcol ^@ constant".
* Fixed-prefix LIKE and regex patterns are now more like starts_with()
in another way: if you apply one to an SPGiST-indexed column, you'll
get an index condition using ^@ rather than two index conditions with
>= and <.
Per a complaint from Shay Rojansky. Patch by me; thanks to
Nathan Bossart for review.
Discussion: https://postgr.es/m/232599.1633800229@sss.pgh.pa.us
Diffstat (limited to 'src/backend/executor/nodeRecursiveunion.c')
0 files changed, 0 insertions, 0 deletions