diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2003-12-30 23:53:15 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2003-12-30 23:53:15 +0000 |
commit | be6c38b9033c546e2a8a9fab4329b89be57a263b (patch) | |
tree | 521c34b2c94d52614160a5582654751e089b226e /src/backend/nodes/outfuncs.c | |
parent | 5e545151671fa4ab3cf0e62ffd1e207609ad1517 (diff) | |
download | postgresql-be6c38b9033c546e2a8a9fab4329b89be57a263b.tar.gz postgresql-be6c38b9033c546e2a8a9fab4329b89be57a263b.zip |
Adjust the definition of RestrictInfo's left_relids and right_relids
fields: now they are valid whenever the clause is a binary opclause,
not only when it is a potential join clause (there is a new boolean
field canjoin to signal the latter condition). This lets us avoid
recomputing the relid sets over and over while examining indexes.
Still more work to do to make this as useful as it could be, because
there are places that could use the info but don't have access to the
RestrictInfo node.
Diffstat (limited to 'src/backend/nodes/outfuncs.c')
-rw-r--r-- | src/backend/nodes/outfuncs.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/backend/nodes/outfuncs.c b/src/backend/nodes/outfuncs.c index 0946cbc9eb7..6b8a8a4a874 100644 --- a/src/backend/nodes/outfuncs.c +++ b/src/backend/nodes/outfuncs.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/nodes/outfuncs.c,v 1.222 2003/11/29 19:51:49 pgsql Exp $ + * $PostgreSQL: pgsql/src/backend/nodes/outfuncs.c,v 1.223 2003/12/30 23:53:14 tgl Exp $ * * NOTES * Every node type that can appear in stored rules' parsetrees *must* @@ -1074,9 +1074,10 @@ _outRestrictInfo(StringInfo str, RestrictInfo *node) /* NB: this isn't a complete set of fields */ WRITE_NODE_FIELD(clause); WRITE_BOOL_FIELD(ispusheddown); - WRITE_NODE_FIELD(subclauseindices); + WRITE_BOOL_FIELD(canjoin); WRITE_BITMAPSET_FIELD(left_relids); WRITE_BITMAPSET_FIELD(right_relids); + WRITE_NODE_FIELD(subclauseindices); WRITE_OID_FIELD(mergejoinoperator); WRITE_OID_FIELD(left_sortop); WRITE_OID_FIELD(right_sortop); |