Reimplement LIKE/ESCAPE as operators so that indexscan optimization
Tom Lane <tgl@sss.pgh.pa.us>
Reimplement LIKE/ESCAPE as operators so that indexscan optimization can still work, per recent discussion on pghackers. Correct some bugs in ILIKE implementation.
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/optimizer/path/indxpath.c | modified | +41 −1 |
| src/backend/parser/gram.y | modified | +18 −46 |
| src/backend/utils/adt/like.c | modified | +207 −284 |
| src/backend/utils/adt/selfuncs.c | modified | +62 −6 |
| src/include/catalog/catversion.h | modified | +2 −2 |
| src/include/catalog/pg_operator.h | modified | +16 −2 |
| src/include/catalog/pg_proc.h | modified | +19 −25 |
| src/include/utils/builtins.h | modified | +12 −14 |
| src/test/regress/expected/strings.out | modified | +2 −2 |