- Notifications
You must be signed in to change notification settings - Fork5
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 changedLines changed: 1 addition & 2 deletions
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 |
| |
|
Lines changed: 1 addition & 2 deletions
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)