Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit9e7e29e

Browse files
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

12 files changed

+635
-366
lines changed

‎src/backend/nodes/copyfuncs.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*
88
*
99
* IDENTIFICATION
10-
* $Header: /cvsroot/pgsql/src/backend/nodes/copyfuncs.c,v 1.88 1999/07/25 17:53:27 tgl Exp $
10+
* $Header: /cvsroot/pgsql/src/backend/nodes/copyfuncs.c,v 1.89 1999/07/27 03:51:07 tgl Exp $
1111
*
1212
*-------------------------------------------------------------------------
1313
*/
@@ -1097,7 +1097,6 @@ CopyPathFields(Path *from, Path *newnode)
10971097
newnode->outerjoincost=from->outerjoincost;
10981098

10991099
newnode->joinid=listCopy(from->joinid);
1100-
Node_Copy(from,newnode,loc_restrictinfo);
11011100
}
11021101

11031102
/* ----------------

‎src/backend/nodes/freefuncs.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*
88
*
99
* IDENTIFICATION
10-
* $Header: /cvsroot/pgsql/src/backend/nodes/Attic/freefuncs.c,v 1.23 1999/07/25 17:53:27 tgl Exp $
10+
* $Header: /cvsroot/pgsql/src/backend/nodes/Attic/freefuncs.c,v 1.24 1999/07/27 03:51:08 tgl Exp $
1111
*
1212
*-------------------------------------------------------------------------
1313
*/
@@ -750,7 +750,6 @@ FreePathFields(Path *node)
750750
freeObject(node->pathkeys);
751751

752752
freeList(node->joinid);
753-
freeObject(node->loc_restrictinfo);
754753
}
755754

756755
/* ----------------

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp