diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2002-10-14 22:14:35 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2002-10-14 22:14:35 +0000 |
commit | d508b057ac0834eb6ea83b10ba9fd6c439b454a4 (patch) | |
tree | c100e9e56c25d3f6f57cd2be986b294258665a36 /src/backend/nodes | |
parent | ea3728ee5b60ee479caa865590d14f71f612dcdb (diff) | |
download | postgresql-d508b057ac0834eb6ea83b10ba9fd6c439b454a4.tar.gz postgresql-d508b057ac0834eb6ea83b10ba9fd6c439b454a4.zip |
Adjust handling of command status strings in the presence of rules,
as per recent pghackers discussions. initdb forced due to change in
fields of stored Query nodes.
Diffstat (limited to 'src/backend/nodes')
-rw-r--r-- | src/backend/nodes/copyfuncs.c | 4 | ||||
-rw-r--r-- | src/backend/nodes/equalfuncs.c | 5 | ||||
-rw-r--r-- | src/backend/nodes/outfuncs.c | 7 | ||||
-rw-r--r-- | src/backend/nodes/readfuncs.c | 11 |
4 files changed, 17 insertions, 10 deletions
diff --git a/src/backend/nodes/copyfuncs.c b/src/backend/nodes/copyfuncs.c index bce849e4ec5..5fff2f762ab 100644 --- a/src/backend/nodes/copyfuncs.c +++ b/src/backend/nodes/copyfuncs.c @@ -15,7 +15,7 @@ * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/nodes/copyfuncs.c,v 1.213 2002/09/22 19:42:51 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/nodes/copyfuncs.c,v 1.214 2002/10/14 22:14:34 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -1778,6 +1778,7 @@ _copyQuery(Query *from) Query *newnode = makeNode(Query); newnode->commandType = from->commandType; + newnode->querySource = from->querySource; Node_Copy(from, newnode, utilityStmt); newnode->resultRelation = from->resultRelation; Node_Copy(from, newnode, into); @@ -1785,7 +1786,6 @@ _copyQuery(Query *from) newnode->isBinary = from->isBinary; newnode->hasAggs = from->hasAggs; newnode->hasSubLinks = from->hasSubLinks; - newnode->originalQuery = from->originalQuery; Node_Copy(from, newnode, rtable); Node_Copy(from, newnode, jointree); diff --git a/src/backend/nodes/equalfuncs.c b/src/backend/nodes/equalfuncs.c index 82d4fc6ab63..551c32d5dba 100644 --- a/src/backend/nodes/equalfuncs.c +++ b/src/backend/nodes/equalfuncs.c @@ -20,7 +20,7 @@ * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/nodes/equalfuncs.c,v 1.160 2002/09/22 19:42:51 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/nodes/equalfuncs.c,v 1.161 2002/10/14 22:14:34 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -573,6 +573,8 @@ _equalQuery(Query *a, Query *b) { if (a->commandType != b->commandType) return false; + if (a->querySource != b->querySource) + return false; if (!equal(a->utilityStmt, b->utilityStmt)) return false; if (a->resultRelation != b->resultRelation) @@ -587,7 +589,6 @@ _equalQuery(Query *a, Query *b) return false; if (a->hasSubLinks != b->hasSubLinks) return false; - /* we deliberately ignore originalQuery */ if (!equal(a->rtable, b->rtable)) return false; if (!equal(a->jointree, b->jointree)) diff --git a/src/backend/nodes/outfuncs.c b/src/backend/nodes/outfuncs.c index 364aa774ada..e1a34118a62 100644 --- a/src/backend/nodes/outfuncs.c +++ b/src/backend/nodes/outfuncs.c @@ -5,7 +5,7 @@ * Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $Header: /cvsroot/pgsql/src/backend/nodes/outfuncs.c,v 1.175 2002/09/22 19:42:51 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/nodes/outfuncs.c,v 1.176 2002/10/14 22:14:34 tgl Exp $ * * NOTES * Every (plan) node in POSTGRES has an associated "out" routine which @@ -229,7 +229,8 @@ _outIndexElem(StringInfo str, IndexElem *node) static void _outQuery(StringInfo str, Query *node) { - appendStringInfo(str, " QUERY :command %d :utility ", node->commandType); + appendStringInfo(str, " QUERY :command %d :source %d :utility ", + (int) node->commandType, (int) node->querySource); /* * Hack to work around missing outfuncs routines for a lot of the @@ -299,6 +300,8 @@ _outQuery(StringInfo str, Query *node) appendStringInfo(str, " :resultRelations "); _outIntList(str, node->resultRelations); + + /* planner-internal fields are not written out */ } static void diff --git a/src/backend/nodes/readfuncs.c b/src/backend/nodes/readfuncs.c index fc4bb97e4a7..33e28413439 100644 --- a/src/backend/nodes/readfuncs.c +++ b/src/backend/nodes/readfuncs.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/nodes/readfuncs.c,v 1.134 2002/09/22 19:42:51 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/nodes/readfuncs.c,v 1.135 2002/10/14 22:14:34 tgl Exp $ * * NOTES * Most of the read functions for plan nodes are tested. (In fact, they @@ -123,6 +123,10 @@ _readQuery(void) token = pg_strtok(&length); /* get commandType */ local_node->commandType = atoi(token); + token = pg_strtok(&length); /* skip :source */ + token = pg_strtok(&length); /* get querySource */ + local_node->querySource = atoi(token); + token = pg_strtok(&length); /* skip :utility */ local_node->utilityStmt = nodeRead(true); @@ -149,9 +153,6 @@ _readQuery(void) token = pg_strtok(&length); /* get hasSubLinks */ local_node->hasSubLinks = strtobool(token); - /* we always want originalQuery to be false in a read-in query */ - local_node->originalQuery = false; - token = pg_strtok(&length); /* skip :rtable */ local_node->rtable = nodeRead(true); @@ -188,6 +189,8 @@ _readQuery(void) token = pg_strtok(&length); /* skip :resultRelations */ local_node->resultRelations = toIntList(nodeRead(true)); + /* planner-internal fields are left zero */ + return local_node; } |