1
0
mirror of https://github.com/postgres/postgres.git synced 2025-06-14 18:42:34 +03:00

execScan.c: in the end of scan projInfo->pi_slot must be

return, not a slot returned from access method (they have
	different TupleDesc and MergeJoin node was broken).
nodeIndexscan.c: index_markpos()/index_restrpos() call index-specific
	mark/restr funcs and are in use now (instead of
	IndexScanMarkPosition()/ExecIndexRestrPos()).
This commit is contained in:
Vadim B. Mikheev
1998-02-26 12:13:11 +00:00
parent 2c2b98385a
commit 8749b6c794
2 changed files with 41 additions and 28 deletions

View File

@ -11,7 +11,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/executor/execScan.c,v 1.6 1997/09/08 21:43:02 momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/executor/execScan.c,v 1.7 1998/02/26 12:13:09 vadim Exp $
*
*-------------------------------------------------------------------------
*/
@ -104,11 +104,23 @@ ExecScan(Scan *node,
/* ----------------
* if the slot returned by the accessMtd contains
* NULL, then it means there is nothing more to scan
* so we just return the empty slot.
* so we just return the empty slot...
*
* ... with invalid TupleDesc (not the same as in
* projInfo->pi_slot) and break upper MergeJoin node.
* New code below do what ExecProject() does. - vadim 02/26/98
* ----------------
*/
if (TupIsNull(slot))
return slot;
{
scanstate->cstate.cs_TupFromTlist = false;
resultSlot = scanstate->cstate.cs_ProjInfo->pi_slot;
return (TupleTableSlot *)
ExecStoreTuple (NULL,
resultSlot,
InvalidBuffer,
true);
}
/* ----------------
* place the current tuple into the expr context