diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 1999-07-24 23:21:14 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 1999-07-24 23:21:14 +0000 |
commit | ac4913a0dd433ac1c2207014f886338f2ccd5fef (patch) | |
tree | d959e2082fcd500541ccdc9875b093b40c7d116a /src/backend/nodes/readfuncs.c | |
parent | 348bdbce7942324dd19349d4d6f3f7dabae219c3 (diff) | |
download | postgresql-ac4913a0dd433ac1c2207014f886338f2ccd5fef.tar.gz postgresql-ac4913a0dd433ac1c2207014f886338f2ccd5fef.zip |
Clean up messy clause-selectivity code in clausesel.c; repair bug
identified by Hiroshi (incorrect cost attributed to OR clauses
after multiple passes through set_rest_selec()). I think the code
was trying to allow selectivities of OR subclauses to be passed in
from outside, but noplace was actually passing any useful data, and
set_rest_selec() was passing wrong data.
Restructure representation of "indexqual" in IndexPath nodes so that
it is the same as for indxqual in completed IndexScan nodes: namely,
a toplevel list with an entry for each pass of the index scan, having
sublists that are implicitly-ANDed index qual conditions for that pass.
You don't want to know what the old representation was :-(
Improve documentation of OR-clause indexscan functions.
Remove useless 'notclause' field from RestrictInfo nodes. (This might
force an initdb for anyone who has stored rules containing RestrictInfos,
but I do not think that RestrictInfo ever appears in completed plans.)
Diffstat (limited to 'src/backend/nodes/readfuncs.c')
-rw-r--r-- | src/backend/nodes/readfuncs.c | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/src/backend/nodes/readfuncs.c b/src/backend/nodes/readfuncs.c index 9d46b7e39da..e16398fb854 100644 --- a/src/backend/nodes/readfuncs.c +++ b/src/backend/nodes/readfuncs.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/nodes/readfuncs.c,v 1.69 1999/07/17 20:17:08 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/nodes/readfuncs.c,v 1.70 1999/07/24 23:21:08 tgl Exp $ * * NOTES * Most of the read functions for plan nodes are tested. (In fact, they @@ -1856,14 +1856,6 @@ _readRestrictInfo() local_node->selectivity = atof(token); - token = lsptok(NULL, &length); /* get :notclause */ - token = lsptok(NULL, &length); /* now read it */ - - if (!strncmp(token, "true", 4)) - local_node->notclause = true; - else - local_node->notclause = false; - token = lsptok(NULL, &length); /* get :indexids */ local_node->indexids = nodeRead(true); /* now read it */ |