postgresql/src/include/executor/spi_priv.h

54 lines
1.4 KiB
C
Raw Normal View History

/*-------------------------------------------------------------------------
*
* spi_priv.h
* Server Programming Interface private declarations
*
* Portions Copyright (c) 1996-2007, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
* $PostgreSQL: pgsql/src/include/executor/spi_priv.h,v 1.27 2007/02/20 17:32:17 tgl Exp $
*
*-------------------------------------------------------------------------
*/
#ifndef SPI_PRIV_H
#define SPI_PRIV_H
#include "executor/spi.h"
typedef struct
{
/* current results */
uint32 processed; /* by Executor */
Oid lastoid;
SPITupleTable *tuptable;
MemoryContext procCxt; /* procedure context */
MemoryContext execCxt; /* executor context */
MemoryContext savedcxt;
2005-10-15 04:49:52 +02:00
SubTransactionId connectSubid; /* ID of connecting subtransaction */
} _SPI_connection;
typedef struct
{
/* Context containing _SPI_plan itself as well as subsidiary data */
MemoryContext plancxt;
/* Original query string (used for error reporting) */
const char *query;
/*
* List of List of PlannedStmts and utility stmts; one sublist per
* original parsetree
*/
List *stmt_list_list;
/* Argument types, if a prepared plan */
int nargs;
Oid *argtypes;
} _SPI_plan;
#define _SPI_CPLAN_CURCXT 0
#define _SPI_CPLAN_PROCXT 1
#define _SPI_CPLAN_TOPCXT 2
#endif /* SPI_PRIV_H */