33 #define TEXTDOMAIN PG_TEXTDOMAIN("plpgsql") 36 #define _(x) dgettext(TEXTDOMAIN, x) 1144 void (*error_callback) (
void *
arg);
1192 #define PLPGSQL_XCHECK_NONE 0 1193 #define PLPGSQL_XCHECK_SHADOWVAR (1 << 1) 1194 #define PLPGSQL_XCHECK_TOOMANYROWS (1 << 2) 1195 #define PLPGSQL_XCHECK_STRICTMULTIASSIGNMENT (1 << 3) 1196 #define PLPGSQL_XCHECK_ALL ((int) ~0) 1243 bool add2namespace);
1246 bool add2namespace);
1248 const char *fldname);
1250 bool allow_sqlstate);
1266 EState *simple_eval_estate,
1293 const char *name1,
const char *name2,
1294 const char *name3,
int *names_used);
1315 int startlocation,
int endlocation);
1317 extern void plpgsql_peek2(
int *tok1_p,
int *tok2_p,
int *tok1_loc,
PLpgSQL_promise_type promise
PLpgSQL_nsitem * plpgsql_ns_top(void)
PLpgSQL_stmt_type cmd_type
int plpgsql_yyparse(void)
PLpgSQL_raise_option_type
int plpgsql_extra_warnings
#define pg_attribute_noreturn()
struct PLpgSQL_stmt_dynexecute PLpgSQL_stmt_dynexecute
struct PLpgSQL_stmt_forq PLpgSQL_stmt_forq
struct PLpgSQL_stmt_block PLpgSQL_stmt_block
PLpgSQL_nsitem * plpgsql_ns_find_nearest_loop(PLpgSQL_nsitem *ns_cur)
struct PLpgSQL_stmt_return_query PLpgSQL_stmt_return_query
PLpgSQL_func_hashkey * fn_hashkey
PLpgSQL_stmt_type cmd_type
struct PLpgSQL_stmt_raise PLpgSQL_stmt_raise
struct PLpgSQL_stmt_fori PLpgSQL_stmt_fori
SPITupleTable * eval_tuptable
struct PLpgSQL_stmt_getdiag PLpgSQL_stmt_getdiag
PLpgSQL_function * plpgsql_compile_inline(char *proc_source)
PLpgSQL_plugin ** plpgsql_plugin_ptr
struct PLpgSQL_execstate PLpgSQL_execstate
ResourceOwner simple_eval_resowner
struct PLpgSQL_stmt_call PLpgSQL_stmt_call
PLpgSQL_stmt_type cmd_type
struct PLpgSQL_stmt_commit PLpgSQL_stmt_commit
PLpgSQL_stmt_type cmd_type
PLpgSQL_stmt_type cmd_type
PLpgSQL_stmt_type cmd_type
int plpgsql_recognize_err_condition(const char *condname, bool allow_sqlstate)
PLpgSQL_stmt_block * action
PLpgSQL_stmt_type cmd_type
PLpgSQL_type * plpgsql_parse_cwordtype(List *idents)
void plpgsql_peek2(int *tok1_p, int *tok2_p, int *tok1_loc, int *tok2_loc)
void plpgsql_append_source_text(StringInfo buf, int startlocation, int endlocation)
PLpgSQL_expr * default_val
PLpgSQL_expr * cursor_explicit_expr
PLpgSQL_stmt_type cmd_type
ResourceOwner tuple_store_owner
PLpgSQL_rec * plpgsql_build_record(const char *refname, int lineno, PLpgSQL_type *dtype, Oid rectypeid, bool add2namespace)
struct PLpgSQL_plugin PLpgSQL_plugin
struct PLpgSQL_stmt PLpgSQL_stmt
int plpgsql_base_yylex(void)
PLpgSQL_datum ** plpgsql_Datums
PLpgSQL_type * plpgsql_parse_wordtype(char *ident)
struct PLpgSQL_stmt_exit PLpgSQL_stmt_exit
void plpgsql_subxact_cb(SubXactEvent event, SubTransactionId mySubid, SubTransactionId parentSubid, void *arg)
PLpgSQL_stmt_type cmd_type
struct PLpgSQL_variable PLpgSQL_variable
#define FLEXIBLE_ARRAY_MEMBER
MemoryContext cast_hash_context
ExpandedRecordHeader * erh
struct PLpgSQL_condition * next
PLpgSQL_stmt_type cmd_type
bool plpgsql_check_asserts
PLpgSQL_type * plpgsql_parse_wordrowtype(char *ident)
struct PLpgSQL_stmt_dynfors PLpgSQL_stmt_dynfors
struct PLpgSQL_stmt_set PLpgSQL_stmt_set
PLpgSQL_recfield * plpgsql_build_recfield(PLpgSQL_rec *rec, const char *fldname)
struct PLpgSQL_exception PLpgSQL_exception
PLpgSQL_stmt_type cmd_type
void plpgsql_ns_additem(PLpgSQL_nsitem_type itemtype, int itemno, const char *name)
int plpgsql_scanner_errposition(int location)
struct PLpgSQL_type PLpgSQL_type
struct PLpgSQL_var PLpgSQL_var
IdentifierLookup plpgsql_IdentifierLookup
bool plpgsql_print_strict_params
int plpgsql_latest_lineno(void)
PLpgSQL_getdiag_kind kind
PLpgSQL_raise_option_type opt_type
PLpgSQL_resolve_option resolve_option
struct PLpgSQL_stmt_close PLpgSQL_stmt_close
Datum plpgsql_exec_function(PLpgSQL_function *func, FunctionCallInfo fcinfo, EState *simple_eval_estate, ResourceOwner simple_eval_resowner, bool atomic)
struct PLpgSQL_stmt_fors PLpgSQL_stmt_fors
struct PLpgSQL_stmt_forc PLpgSQL_stmt_forc
void plpgsql_parser_setup(struct ParseState *pstate, PLpgSQL_expr *expr)
void plpgsql_free_function_memory(PLpgSQL_function *func)
char * plpgsql_error_funcname
int cursor_explicit_argrow
TupleDesc tuple_store_desc
PLpgSQL_stmt_type cmd_type
PLpgSQL_stmt_type cmd_type
Oid plpgsql_exec_get_datum_type(PLpgSQL_execstate *estate, PLpgSQL_datum *datum)
void plpgsql_scanner_init(const char *str)
PLpgSQL_stmt_type cmd_type
CachedPlanSource * expr_simple_plansource
MemoryContext tuple_store_cxt
const char * plpgsql_getdiag_kindname(PLpgSQL_getdiag_kind kind)
struct PLpgSQL_execstate * cur_estate
EState * simple_eval_estate
bool plpgsql_parse_word(char *word1, const char *yytxt, bool lookup, PLwdatum *wdatum, PLword *word)
struct PLpgSQL_func_hashkey PLpgSQL_func_hashkey
struct PLpgSQL_stmt_while PLpgSQL_stmt_while
PLpgSQL_variable * target
PLpgSQL_expr * default_val
void plpgsql_exec_get_datum_type_info(PLpgSQL_execstate *estate, PLpgSQL_datum *datum, Oid *typeId, int32 *typMod, Oid *collation)
struct PLpgSQL_nsitem * ns
struct PLpgSQL_stmt_foreach_a PLpgSQL_stmt_foreach_a
PLpgSQL_stmt_type cmd_type
void plpgsql_adddatum(PLpgSQL_datum *newdatum)
struct PLpgSQL_stmt_return PLpgSQL_stmt_return
void plpgsql_push_back_token(int token)
struct PLpgSQL_stmt_fetch PLpgSQL_stmt_fetch
uint32 LocalTransactionId
struct PLpgSQL_case_when PLpgSQL_case_when
PLpgSQL_function * plpgsql_curr_compile
Tuplestorestate * tuple_store
void plpgsql_yyerror(const char *message) pg_attribute_noreturn()
const char * plpgsql_stmt_typename(PLpgSQL_stmt *stmt)
PLpgSQL_stmt_type cmd_type
struct PLpgSQL_datum PLpgSQL_datum
PLpgSQL_stmt_type cmd_type
ExprState * expr_simple_state
void plpgsql_HashTableInit(void)
MemoryContext stmt_mcontext_parent
struct PLpgSQL_exception_block PLpgSQL_exception_block
CachedPlan * expr_simple_plan
struct PLpgSQL_function PLpgSQL_function
struct PLpgSQL_rec PLpgSQL_rec
ExpandedRecordFieldInfo finfo
PLpgSQL_nsitem * plpgsql_ns_lookup(PLpgSQL_nsitem *ns_cur, bool localmode, const char *name1, const char *name2, const char *name3, int *names_used)
EventTriggerData * evtrigdata
LocalTransactionId expr_simple_lxid
struct PLpgSQL_recfield PLpgSQL_recfield
struct PLpgSQL_stmt_if PLpgSQL_stmt_if
struct PLpgSQL_function * func
PLpgSQL_condition * conditions
PLpgSQL_trigtype fn_is_trigger
struct PLpgSQL_nsitem * prev
PLpgSQL_stmt_type cmd_type
struct PLpgSQL_row PLpgSQL_row
PLpgSQL_stmt_type cmd_type
void plpgsql_ns_init(void)
bool plpgsql_parse_dblword(char *word1, char *word2, PLwdatum *wdatum, PLcword *cword)
PLpgSQL_exception_block * exceptions
struct PLpgSQL_stmt_case PLpgSQL_stmt_case
struct PLpgSQL_stmt_perform PLpgSQL_stmt_perform
PLpgSQL_stmt_type cmd_type
ExprContext * eval_econtext
PLpgSQL_stmt_type cmd_type
bool plpgsql_DumpExecTree
static void word(struct vars *, int, struct state *, struct state *)
struct PLpgSQL_condition PLpgSQL_condition
MemoryContext datum_context
bool plpgsql_parse_tripword(char *word1, char *word2, char *word3, PLwdatum *wdatum, PLcword *cword)
bool plpgsql_check_syntax
struct PLpgSQL_nsitem PLpgSQL_nsitem
struct PLpgSQL_raise_option PLpgSQL_raise_option
PLpgSQL_variable * plpgsql_build_variable(const char *refname, int lineno, PLpgSQL_type *dtype, bool add2namespace)
PLpgSQL_stmt_type cmd_type
PLpgSQL_type * plpgsql_build_datatype(Oid typeOid, int32 typmod, Oid collation, TypeName *origtypname)
PLpgSQL_variable * target
PLpgSQL_nsitem * plpgsql_ns_lookup_label(PLpgSQL_nsitem *ns_cur, const char *name)
struct PLpgSQL_stmt_assign PLpgSQL_stmt_assign
PLpgSQL_type * plpgsql_parse_cwordrowtype(List *idents)
PLpgSQL_nsitem_type itemtype
struct PLpgSQL_stmt_execsql PLpgSQL_stmt_execsql
PLpgSQL_stmt_type cmd_type
struct PLpgSQL_diag_item PLpgSQL_diag_item
void plpgsql_ns_push(const char *label, PLpgSQL_label_type label_type)
MemoryContext stmt_mcontext
void plpgsql_exec_event_trigger(PLpgSQL_function *func, EventTriggerData *trigdata)
PLpgSQL_stmt_type cmd_type
int plpgsql_location_to_lineno(int location)
struct PLpgSQL_stmt_assert PLpgSQL_stmt_assert
LocalTransactionId expr_simple_plan_lxid
struct PLpgSQL_if_elsif PLpgSQL_if_elsif
struct PLpgSQL_stmt_return_next PLpgSQL_stmt_return_next
PLpgSQL_stmt_type cmd_type
void plpgsql_xact_cb(XactEvent event, void *arg)
PLpgSQL_stmt_type cmd_type
PLpgSQL_variable * target
PLpgSQL_variable * target
struct PLpgSQL_stmt_loop PLpgSQL_stmt_loop
bool plpgsql_token_is_unreserved_keyword(int token)
struct PLpgSQL_stmt_rollback PLpgSQL_stmt_rollback
MemoryContext plpgsql_compile_tmp_cxt
int plpgsql_add_initdatums(int **varnos)
PLpgSQL_expr * default_val
PLpgSQL_condition * plpgsql_parse_err_condition(char *condname)
int plpgsql_variable_conflict
PLpgSQL_function * plpgsql_compile(FunctionCallInfo fcinfo, bool forValidator)
PLpgSQL_stmt_type cmd_type
PLpgSQL_stmt_type cmd_type
void plpgsql_dumptree(PLpgSQL_function *func)
void plpgsql_ns_pop(void)
PLpgSQL_stmt_block * plpgsql_parse_result
PLpgSQL_expr * default_val
void plpgsql_scanner_finish(void)
struct PLpgSQL_expr PLpgSQL_expr
HeapTuple plpgsql_exec_trigger(PLpgSQL_function *func, TriggerData *trigdata)
PLpgSQL_stmt_type cmd_type
bool returns_multiple_rows
struct PLpgSQL_stmt_open PLpgSQL_stmt_open