1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-27 12:41:57 +03:00

Remove 'restrictinfojoinid' field from RestrictInfo nodes.

The only place it was being used was as temporary storage in indxpath.c,
and the logic was wrong: the same restrictinfo node could get chosen to
carry the info for two different joins.  Right fix is to return a second
list of unjoined-relids parallel to the list of clause groups.
This commit is contained in:
Tom Lane
1999-07-25 17:53:27 +00:00
parent ac4913a0dd
commit 8ae29a1d40
4 changed files with 78 additions and 39 deletions

View File

@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/nodes/copyfuncs.c,v 1.87 1999/07/24 23:21:06 tgl Exp $
* $Header: /cvsroot/pgsql/src/backend/nodes/copyfuncs.c,v 1.88 1999/07/25 17:53:27 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@ -1321,7 +1321,6 @@ _copyRestrictInfo(RestrictInfo *from)
Node_Copy(from, newnode, indexids);
Node_Copy(from, newnode, mergejoinorder);
newnode->hashjoinoperator = from->hashjoinoperator;
newnode->restrictinfojoinid = listCopy(from->restrictinfojoinid);
return newnode;
}

View File

@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/nodes/Attic/freefuncs.c,v 1.22 1999/07/17 20:17:06 momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/nodes/Attic/freefuncs.c,v 1.23 1999/07/25 17:53:27 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@ -929,7 +929,6 @@ _freeRestrictInfo(RestrictInfo *node)
freeObject(node->clause);
freeObject(node->indexids);
freeObject(node->mergejoinorder);
freeList(node->restrictinfojoinid);
pfree(node);
}