diff options
| author | Tom Lane | 2002-08-27 04:55:12 +0000 |
|---|---|---|
| committer | Tom Lane | 2002-08-27 04:55:12 +0000 |
| commit | 28e82066a1d17dce2c28ca5391dab1e4f1eb0c0f (patch) | |
| tree | 2204fa82946fd20ffaf10fd498de0c921ea301eb /src/include/nodes | |
| parent | bc8f725a4aa4e2118caaf9e7c4fe3cc5632a02c0 (diff) | |
PREPARE/EXECUTE statements. Patch by Neil Conway, some kibitzing
from Tom Lane.
Diffstat (limited to 'src/include/nodes')
| -rw-r--r-- | src/include/nodes/nodes.h | 5 | ||||
| -rw-r--r-- | src/include/nodes/parsenodes.h | 40 |
2 files changed, 43 insertions, 2 deletions
diff --git a/src/include/nodes/nodes.h b/src/include/nodes/nodes.h index f3437ce4cb..3f5f6d7449 100644 --- a/src/include/nodes/nodes.h +++ b/src/include/nodes/nodes.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: nodes.h,v 1.116 2002/08/19 15:08:47 tgl Exp $ + * $Id: nodes.h,v 1.117 2002/08/27 04:55:11 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -200,6 +200,9 @@ typedef enum NodeTag T_DropCastStmt, T_CreateOpClassStmt, T_RemoveOpClassStmt, + T_PrepareStmt, + T_ExecuteStmt, + T_DeallocateStmt, T_A_Expr = 700, T_ColumnRef, diff --git a/src/include/nodes/parsenodes.h b/src/include/nodes/parsenodes.h index ecf59f30c1..25ec8a3542 100644 --- a/src/include/nodes/parsenodes.h +++ b/src/include/nodes/parsenodes.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: parsenodes.h,v 1.201 2002/08/19 15:08:47 tgl Exp $ + * $Id: parsenodes.h,v 1.202 2002/08/27 04:55:12 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -1620,4 +1620,42 @@ typedef struct DropCastStmt } DropCastStmt; +/* ---------------------- + * PREPARE Statement + * ---------------------- + */ +typedef struct PrepareStmt +{ + NodeTag type; + char *name; /* Name of plan, arbitrary */ + List *argtypes; /* Types of parameters (TypeNames) */ + List *argtype_oids; /* Types of parameters (OIDs) */ + Query *query; /* The query itself */ +} PrepareStmt; + + +/* ---------------------- + * EXECUTE Statement + * ---------------------- + */ + +typedef struct ExecuteStmt +{ + NodeTag type; + char *name; /* The name of the plan to execute */ + RangeVar *into; /* Optional table to store results in */ + List *params; /* Values to assign to parameters */ +} ExecuteStmt; + + +/* ---------------------- + * DEALLOCATE Statement + * ---------------------- + */ +typedef struct DeallocateStmt +{ + NodeTag type; + char *name; /* The name of the plan to remove */ +} DeallocateStmt; + #endif /* PARSENODES_H */ |
