62 if (table_name ==
NULL)
70 errmsg(
"cursor \"%s\" does not exist", cursor_name)));
79 errmsg(
"cursor \"%s\" is not a SELECT query",
85 errmsg(
"cursor \"%s\" is held from a previous transaction",
118 errmsg(
"cursor \"%s\" has multiple FOR UPDATE/SHARE references to table \"%s\"",
119 cursor_name, table_name)));
127 errmsg(
"cursor \"%s\" does not have a FOR UPDATE/SHARE reference to table \"%s\"",
128 cursor_name, table_name)));
137 errmsg(
"cursor \"%s\" is not positioned on a row",
169 errmsg(
"cursor \"%s\" is not a simply updatable scan of table \"%s\"",
170 cursor_name, table_name)));
182 errmsg(
"cursor \"%s\" is not positioned on a row",
221#ifdef USE_ASSERT_CHECKING
228 errmsg(
"cursor \"%s\" is not a simply updatable scan of table \"%s\"",
229 cursor_name, table_name)));
239 errmsg(
"cursor \"%s\" is not a simply updatable scan of table \"%s\"",
240 cursor_name, table_name)));
280 errmsg(
"type of parameter %d (%s) does not match that when preparing the plan (%s)",
292 errmsg(
"no value found for parameter %d", paramId)));
#define TextDatumGetCString(d)
#define Assert(condition)
#define OidIsValid(objectId)
int errcode(int sqlerrcode)
int errmsg(const char *fmt,...)
#define ereport(elevel,...)
static ScanState * search_plan_tree(PlanState *node, Oid table_oid, bool *pending_rescan)
static char * fetch_cursor_param_value(ExprContext *econtext, int paramId)
bool execCurrentOf(CurrentOfExpr *cexpr, ExprContext *econtext, Oid table_oid, ItemPointer current_tid)
#define outerPlanState(node)
ItemPointerData * ItemPointer
static bool ItemPointerIsValid(const ItemPointerData *pointer)
char * get_rel_name(Oid relid)
#define IsA(nodeptr, _type_)
#define RowMarkRequiresRowShareLock(marktype)
Portal GetPortalByName(const char *name)
static Oid DatumGetObjectId(Datum X)
static Pointer DatumGetPointer(Datum X)
#define RelationGetRelid(relation)
ExecRowMark ** es_rowmarks
Index es_range_table_size
ParamListInfo ecxt_param_list_info
ItemPointerData xs_heaptid
Relation ss_currentRelation
#define TableOidAttributeNumber
#define SelfItemPointerAttributeNumber
static Datum slot_getsysattr(TupleTableSlot *slot, int attnum, bool *isnull)