- Notifications
You must be signed in to change notification settings - Fork28
Commit9e7e29e
committed
First cut at doing LIKE/regex indexing optimization in
optimizer rather than parser. This has many advantages, such as notgetting fooled by chance uses of operator names ~ and ~~ (the operatorsare identified by OID now), and not creating useless comparison operationsin contexts where the comparisons will not actually be used as indexquals.The new code also recognizes exact-match LIKE and regex patterns, andproduces an = indexqual instead of >= and <=.This change does NOT fix the problem with non-ASCII locales: the codestill doesn't know how to generate an upper bound indexqual for non-ASCIIcollation order. But it's no worse than before, just the same deficiencyin a different place...Also, dike out loc_restrictinfo fields in Plan nodes. These were doingnothing useful in the absence of 'expensive functions' optimization,and they took a considerable amount of processing to fill in.1 parent434df3f commit9e7e29e
File tree
12 files changed
+635
-366
lines changed- src
- backend
- nodes
- optimizer
- path
- plan
- util
- parser
- include
- catalog
- nodes
- optimizer
12 files changed
+635
-366
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| |||
1097 | 1097 | | |
1098 | 1098 | | |
1099 | 1099 | | |
1100 | | - | |
1101 | 1100 | | |
1102 | 1101 | | |
1103 | 1102 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| |||
750 | 750 | | |
751 | 751 | | |
752 | 752 | | |
753 | | - | |
754 | 753 | | |
755 | 754 | | |
756 | 755 | | |
| |||
0 commit comments
Comments
(0)