|
PostgreSQL Source Code git master
|
#include "postgres.h"#include "executor/execExpr.h"#include "nodes/makefuncs.h"#include "nodes/nodeFuncs.h"#include "nodes/subscripting.h"#include "nodes/supportnodes.h"#include "parser/parse_coerce.h"#include "parser/parse_expr.h"#include "utils/array.h"#include "utils/fmgrprotos.h"#include "utils/lsyscache.h"
Go to the source code of this file.
Data Structures | |
| struct | ArraySubWorkspace |
Typedefs | |
| typedef struct ArraySubWorkspace | ArraySubWorkspace |
|
static |
Definition at line 474 of file arraysubs.c.
References array_subscript_assign(), array_subscript_assign_slice(), array_subscript_check_subscripts(), array_subscript_fetch(), array_subscript_fetch_old(), array_subscript_fetch_old_slice(), array_subscript_fetch_slice(), elog, ereport, errcode(), errmsg(), ERROR, fb(), get_typlen(), get_typlenbyvalalign(), MAXDIM, palloc_object, ArraySubWorkspace::refattrlength, ArraySubWorkspace::refelemalign, ArraySubWorkspace::refelembyval, ArraySubWorkspace::refelemlength, ArraySubWorkspace::refelemtype, SubscriptExecSteps::sbs_assign, SubscriptExecSteps::sbs_check_subscripts, SubscriptExecSteps::sbs_fetch, and SubscriptExecSteps::sbs_fetch_old.
Referenced by array_subscript_handler(), and raw_array_subscript_handler().
|
static |
Definition at line 295 of file arraysubs.c.
References array_set_element(), construct_empty_array(), ExprEvalStep::d, fb(), PointerGetDatum(), ArraySubWorkspace::refattrlength, ArraySubWorkspace::refelemalign, ArraySubWorkspace::refelembyval, ArraySubWorkspace::refelemlength, ArraySubWorkspace::refelemtype, ExprEvalStep::resnull, ExprEvalStep::resvalue, ExprEvalStep::sbsref, ExprEvalStep::state, and ArraySubWorkspace::upperindex.
Referenced by array_exec_setup().
|
static |
Definition at line 345 of file arraysubs.c.
References array_set_slice(), construct_empty_array(), ExprEvalStep::d, fb(), ArraySubWorkspace::lowerindex, PointerGetDatum(), ArraySubWorkspace::refattrlength, ArraySubWorkspace::refelemalign, ArraySubWorkspace::refelembyval, ArraySubWorkspace::refelemlength, ArraySubWorkspace::refelemtype, ExprEvalStep::resnull, ExprEvalStep::resvalue, ExprEvalStep::sbsref, ExprEvalStep::state, and ArraySubWorkspace::upperindex.
Referenced by array_exec_setup().
|
static |
Definition at line 181 of file arraysubs.c.
References ExprEvalStep::d, DatumGetInt32(), ereport, errcode(), errmsg(), ERROR, fb(), i, ArraySubWorkspace::lowerindex, ExprEvalStep::resnull, ExprEvalStep::sbsref_subscript, ExprEvalStep::state, and ArraySubWorkspace::upperindex.
Referenced by array_exec_setup().
|
static |
Definition at line 237 of file arraysubs.c.
References array_get_element(), Assert, ExprEvalStep::d, fb(), ArraySubWorkspace::refattrlength, ArraySubWorkspace::refelemalign, ArraySubWorkspace::refelembyval, ArraySubWorkspace::refelemlength, ExprEvalStep::resnull, ExprEvalStep::resvalue, ExprEvalStep::sbsref, ExprEvalStep::state, and ArraySubWorkspace::upperindex.
Referenced by array_exec_setup().
|
static |
Definition at line 400 of file arraysubs.c.
References array_get_element(), ExprEvalStep::d, fb(), ArraySubWorkspace::refattrlength, ArraySubWorkspace::refelemalign, ArraySubWorkspace::refelembyval, ArraySubWorkspace::refelemlength, ExprEvalStep::resnull, ExprEvalStep::resvalue, ExprEvalStep::sbsref, ExprEvalStep::state, and ArraySubWorkspace::upperindex.
Referenced by array_exec_setup().
|
static |
Definition at line 440 of file arraysubs.c.
References array_get_slice(), ExprEvalStep::d, fb(), ArraySubWorkspace::lowerindex, ArraySubWorkspace::refattrlength, ArraySubWorkspace::refelemalign, ArraySubWorkspace::refelembyval, ArraySubWorkspace::refelemlength, ExprEvalStep::resnull, ExprEvalStep::resvalue, ExprEvalStep::sbsref, ExprEvalStep::state, and ArraySubWorkspace::upperindex.
Referenced by array_exec_setup().
|
static |
Definition at line 265 of file arraysubs.c.
References array_get_slice(), Assert, ExprEvalStep::d, fb(), ArraySubWorkspace::lowerindex, ArraySubWorkspace::refattrlength, ArraySubWorkspace::refelemalign, ArraySubWorkspace::refelembyval, ArraySubWorkspace::refelemlength, ExprEvalStep::resnull, ExprEvalStep::resvalue, ExprEvalStep::sbsref, ExprEvalStep::state, and ArraySubWorkspace::upperindex.
Referenced by array_exec_setup().
| Datum array_subscript_handler | ( | PG_FUNCTION_ARGS | ) |
Definition at line 540 of file arraysubs.c.
References array_exec_setup(), array_subscript_transform(), fb(), PG_RETURN_POINTER, and SubscriptRoutines::transform.
| Datum array_subscript_handler_support | ( | PG_FUNCTION_ARGS | ) |
Definition at line 586 of file arraysubs.c.
References fb(), IsA, linitial, lsecond, PARAM_EXTERN, Param::paramid, Param::paramkind, PG_GETARG_POINTER, and PG_RETURN_POINTER.
|
static |
Definition at line 56 of file arraysubs.c.
References Assert, COERCE_IMPLICIT_CAST, coerce_to_target_type(), COERCION_ASSIGNMENT, ereport, errcode(), errmsg(), ERROR, exprLocation(), exprType(), fb(), idx(), Int32GetDatum(), InvalidOid, lappend(), lfirst_node, list_length(), makeConst(), MAXDIM, NIL, ParseState::p_expr_kind, parser_errposition(), SubscriptingRef::reflowerindexpr, SubscriptingRef::refupperindexpr, and transformExpr().
Referenced by array_subscript_handler(), and raw_array_subscript_handler().
| Datum raw_array_subscript_handler | ( | PG_FUNCTION_ARGS | ) |
Definition at line 567 of file arraysubs.c.
References array_exec_setup(), array_subscript_transform(), fb(), PG_RETURN_POINTER, and SubscriptRoutines::transform.