mirror of
https://github.com/postgres/postgres.git
synced 2025-07-08 11:42:09 +03:00
Tid access method feature from Hiroshi Inoue, Inoue@tpf.co.jp
This commit is contained in:
@ -5,7 +5,7 @@
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: outfuncs.c,v 1.97 1999/10/07 04:23:04 tgl Exp $
|
||||
* $Id: outfuncs.c,v 1.98 1999/11/23 20:06:53 momjian Exp $
|
||||
*
|
||||
* NOTES
|
||||
* Every (plan) node in POSTGRES has an associated "out" routine which
|
||||
@ -451,6 +451,23 @@ _outIndexScan(StringInfo str, IndexScan *node)
|
||||
appendStringInfo(str, " :indxorderdir %d ", node->indxorderdir);
|
||||
}
|
||||
|
||||
/*
|
||||
* TidScan is a subclass of Scan
|
||||
*/
|
||||
static void
|
||||
_outTidScan(StringInfo str, TidScan *node)
|
||||
{
|
||||
appendStringInfo(str, " TIDSCAN ");
|
||||
_outPlanInfo(str, (Plan *) node);
|
||||
|
||||
appendStringInfo(str, " :scanrelid %u ", node->scan.scanrelid);
|
||||
appendStringInfo(str, " :needrescan %d ", node->needRescan);
|
||||
|
||||
appendStringInfo(str, " :tideval ");
|
||||
_outNode(str, node->tideval);
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Noname is a subclass of Plan
|
||||
*/
|
||||
@ -914,6 +931,25 @@ _outIndexPath(StringInfo str, IndexPath *node)
|
||||
_outIntList(str, node->joinrelids);
|
||||
}
|
||||
|
||||
/*
|
||||
* TidPath is a subclass of Path.
|
||||
*/
|
||||
static void
|
||||
_outTidPath(StringInfo str, TidPath *node)
|
||||
{
|
||||
appendStringInfo(str,
|
||||
" TIDPATH :pathtype %d :cost %f :pathkeys ",
|
||||
node->path.pathtype,
|
||||
node->path.path_cost);
|
||||
_outNode(str, node->path.pathkeys);
|
||||
|
||||
appendStringInfo(str, " :tideval ");
|
||||
_outNode(str, node->tideval);
|
||||
|
||||
appendStringInfo(str, " :un joined_relids ");
|
||||
_outIntList(str, node->unjoined_relids);
|
||||
}
|
||||
|
||||
/*
|
||||
* NestPath is a subclass of Path
|
||||
*/
|
||||
@ -1357,6 +1393,9 @@ _outNode(StringInfo str, void *obj)
|
||||
case T_IndexScan:
|
||||
_outIndexScan(str, obj);
|
||||
break;
|
||||
case T_TidScan:
|
||||
_outTidScan(str, obj);
|
||||
break;
|
||||
case T_Noname:
|
||||
_outNoname(str, obj);
|
||||
break;
|
||||
@ -1435,6 +1474,9 @@ _outNode(StringInfo str, void *obj)
|
||||
case T_IndexPath:
|
||||
_outIndexPath(str, obj);
|
||||
break;
|
||||
case T_TidPath:
|
||||
_outTidPath(str, obj);
|
||||
break;
|
||||
case T_NestPath:
|
||||
_outNestPath(str, obj);
|
||||
break;
|
||||
|
Reference in New Issue
Block a user