mirror of
https://github.com/postgres/postgres.git
synced 2025-11-10 17:42:29 +03:00
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.
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user