diff options
| author | Tom Lane | 1999-03-01 00:10:44 +0000 |
|---|---|---|
| committer | Tom Lane | 1999-03-01 00:10:44 +0000 |
| commit | b204d10c79b5177026565a0db531a86f585f09f4 (patch) | |
| tree | d16f429f5adb8eae6cef113ea730af6fc21771f0 /src/backend/nodes | |
| parent | d077c6149269701d0831634e8800b53c528d13ac (diff) | |
Executor no longer cares about mergejoinop, mergerightorder, mergeleftorder,
so remove them from MergeJoin node. Hack together a partial
solution for commuted mergejoin operators --- yesterday
a mergejoin int4 = int8 would crash if the planner decided to
commute it, today it works. The planner's representation of
mergejoins really needs a rewrite though.
Also, further testing of mergejoin ops in opr_sanity regress test.
Diffstat (limited to 'src/backend/nodes')
| -rw-r--r-- | src/backend/nodes/copyfuncs.c | 12 | ||||
| -rw-r--r-- | src/backend/nodes/freefuncs.c | 5 | ||||
| -rw-r--r-- | src/backend/nodes/outfuncs.c | 8 | ||||
| -rw-r--r-- | src/backend/nodes/readfuncs.c | 6 |
4 files changed, 4 insertions, 27 deletions
diff --git a/src/backend/nodes/copyfuncs.c b/src/backend/nodes/copyfuncs.c index 8810ae005a2..8f8e65c374a 100644 --- a/src/backend/nodes/copyfuncs.c +++ b/src/backend/nodes/copyfuncs.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/nodes/copyfuncs.c,v 1.74 1999/02/22 19:55:42 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/nodes/copyfuncs.c,v 1.75 1999/03/01 00:10:30 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -326,16 +326,6 @@ _copyMergeJoin(MergeJoin *from) */ Node_Copy(from, newnode, mergeclauses); - newnode->mergejoinop = from->mergejoinop; - - newnode->mergerightorder = (Oid *) palloc(sizeof(Oid) * 2); - newnode->mergerightorder[0] = from->mergerightorder[0]; - newnode->mergerightorder[1] = 0; - - newnode->mergeleftorder = (Oid *) palloc(sizeof(Oid) * 2); - newnode->mergeleftorder[0] = from->mergeleftorder[0]; - newnode->mergeleftorder[1] = 0; - return newnode; } diff --git a/src/backend/nodes/freefuncs.c b/src/backend/nodes/freefuncs.c index dd3f040ad45..c41c5fb4318 100644 --- a/src/backend/nodes/freefuncs.c +++ b/src/backend/nodes/freefuncs.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/nodes/Attic/freefuncs.c,v 1.14 1999/02/22 19:55:42 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/nodes/Attic/freefuncs.c,v 1.15 1999/03/01 00:10:31 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -267,9 +267,6 @@ _freeMergeJoin(MergeJoin *node) */ freeObject(node->mergeclauses); - pfree(node->mergerightorder); - pfree(node->mergeleftorder); - pfree(node); } diff --git a/src/backend/nodes/outfuncs.c b/src/backend/nodes/outfuncs.c index 78c90ff4207..11f79e47220 100644 --- a/src/backend/nodes/outfuncs.c +++ b/src/backend/nodes/outfuncs.c @@ -5,7 +5,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: outfuncs.c,v 1.76 1999/02/23 08:01:47 thomas Exp $ + * $Id: outfuncs.c,v 1.77 1999/03/01 00:10:31 tgl Exp $ * * NOTES * Every (plan) node in POSTGRES has an associated "out" routine which @@ -371,12 +371,6 @@ _outMergeJoin(StringInfo str, MergeJoin *node) appendStringInfo(str, " :mergeclauses "); _outNode(str, node->mergeclauses); - - appendStringInfo(str, - " :mergejoinop %u :mergerightorder %u :mergeleftorder %u ", - node->mergejoinop, - node->mergerightorder, - node->mergeleftorder); } /* diff --git a/src/backend/nodes/readfuncs.c b/src/backend/nodes/readfuncs.c index f0fa81a4e2e..3e1dca5a345 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.59 1999/02/18 00:49:15 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/nodes/readfuncs.c,v 1.60 1999/03/01 00:10:31 tgl Exp $ * * NOTES * Most of the read functions for plan nodes are tested. (In fact, they @@ -426,10 +426,6 @@ _readMergeJoin() token = lsptok(NULL, &length); /* eat :mergeclauses */ local_node->mergeclauses = nodeRead(true); /* now read it */ - token = lsptok(NULL, &length); /* eat :mergejoinop */ - token = lsptok(NULL, &length); /* get mergejoinop */ - local_node->mergejoinop = atol(token); - return local_node; } |
