PostgreSQL Source Code git master
|
#include "postgres.h"
#include "executor/execExpr.h"
#include "hstore.h"
#include "nodes/nodeFuncs.h"
#include "nodes/subscripting.h"
#include "parser/parse_coerce.h"
#include "parser/parse_expr.h"
#include "utils/builtins.h"
Go to the source code of this file.
Functions | |
static void | hstore_subscript_transform (SubscriptingRef *sbsref, List *indirection, ParseState *pstate, bool isSlice, bool isAssignment) |
static void | hstore_subscript_fetch (ExprState *state, ExprEvalStep *op, ExprContext *econtext) |
static void | hstore_subscript_assign (ExprState *state, ExprEvalStep *op, ExprContext *econtext) |
static void | hstore_exec_setup (const SubscriptingRef *sbsref, SubscriptingRefState *sbsrefstate, SubscriptExecSteps *methods) |
PG_FUNCTION_INFO_V1 (hstore_subscript_handler) | |
Datum | hstore_subscript_handler (PG_FUNCTION_ARGS) |
|
static |
Definition at line 264 of file hstore_subs.c.
References Assert, hstore_subscript_assign(), hstore_subscript_fetch(), SubscriptingRefState::numlower, SubscriptingRefState::numupper, SubscriptExecSteps::sbs_assign, SubscriptExecSteps::sbs_check_subscripts, SubscriptExecSteps::sbs_fetch, and SubscriptExecSteps::sbs_fetch_old.
Referenced by hstore_subscript_handler().
|
static |
Definition at line 143 of file hstore_subs.c.
References ARRPTR, CALCDATASIZE, ExprEvalStep::d, DatumGetHStoreP, DatumGetTextPP, difference(), ereport, errcode(), errmsg(), ERROR, HS_ADDITEM, HS_COPYITEM, HS_COUNT, HS_FINALIZE, HS_SETCOUNT, HSTORE_KEY, HSTORE_KEYLEN, HSTORE_VALISNULL, HSTORE_VALLEN, hstoreCheckKeyLen, hstoreCheckValLen, hstorePairs, Pairs::isnull, Pairs::key, sort-test::key, Pairs::keylen, Pairs::needfree, palloc(), PointerGetDatum(), SubscriptingRefState::replacenull, SubscriptingRefState::replacevalue, ExprEvalStep::resnull, ExprEvalStep::resvalue, ExprEvalStep::sbsref, SET_VARSIZE, ExprEvalStep::state, STRPTR, SubscriptingRefState::upperindex, SubscriptingRefState::upperindexnull, Pairs::val, val, Pairs::vallen, VARDATA_ANY, VARSIZE, and VARSIZE_ANY_EXHDR.
Referenced by hstore_exec_setup().
|
static |
Definition at line 94 of file hstore_subs.c.
References ARRPTR, Assert, cstring_to_text_with_len(), ExprEvalStep::d, DatumGetHStoreP, DatumGetTextPP, HSTORE_VAL, HSTORE_VALISNULL, HSTORE_VALLEN, hstoreFindKey(), idx(), sort-test::key, PointerGetDatum(), ExprEvalStep::resnull, ExprEvalStep::resvalue, ExprEvalStep::sbsref, ExprEvalStep::state, STRPTR, SubscriptingRefState::upperindex, SubscriptingRefState::upperindexnull, VARDATA_ANY, and VARSIZE_ANY_EXHDR.
Referenced by hstore_exec_setup().
Datum hstore_subscript_handler | ( | PG_FUNCTION_ARGS | ) |
Definition at line 286 of file hstore_subs.c.
References hstore_exec_setup(), hstore_subscript_transform(), PG_RETURN_POINTER, and SubscriptRoutines::transform.
|
static |
Definition at line 42 of file hstore_subs.c.
References Assert, COERCE_IMPLICIT_CAST, coerce_to_target_type(), COERCION_ASSIGNMENT, ereport, errcode(), errmsg(), ERROR, exprLocation(), exprType(), A_Indices::is_slice, A_Indices::lidx, linitial_node, list_length(), list_make1, NIL, ParseState::p_expr_kind, parser_errposition(), SubscriptingRef::reflowerindexpr, SubscriptingRef::refupperindexpr, transformExpr(), and A_Indices::uidx.
Referenced by hstore_subscript_handler().
PG_FUNCTION_INFO_V1 | ( | hstore_subscript_handler | ) |