PostgreSQL Source Code
git master
|
#include "postgres.h"
#include "access/detoast.h"
#include "catalog/pg_language.h"
#include "catalog/pg_proc.h"
#include "catalog/pg_type.h"
#include "executor/functions.h"
#include "lib/stringinfo.h"
#include "miscadmin.h"
#include "nodes/makefuncs.h"
#include "nodes/nodeFuncs.h"
#include "pgstat.h"
#include "utils/acl.h"
#include "utils/builtins.h"
#include "utils/fmgrtab.h"
#include "utils/guc.h"
#include "utils/lsyscache.h"
#include "utils/syscache.h"
Go to the source code of this file.
Data Structures | |
struct | CFuncHashTabEntry |
struct | fmgr_security_definer_cache |
Variables | |
PGDLLIMPORT needs_fmgr_hook_type | needs_fmgr_hook = NULL |
PGDLLIMPORT fmgr_hook_type | fmgr_hook = NULL |
static HTAB * | CFuncHash = NULL |
Datum CallerFInfoFunctionCall1 | ( | PGFunction | func, |
FmgrInfo * | flinfo, | ||
Oid | collation, | ||
Datum | arg1 | ||
) |
Definition at line 1067 of file fmgr.c.
References elog, ERROR, InitFunctionCallInfoData, and LOCAL_FCINFO.
Datum CallerFInfoFunctionCall2 | ( | PGFunction | func, |
FmgrInfo * | flinfo, | ||
Oid | collation, | ||
Datum | arg1, | ||
Datum | arg2 | ||
) |
Definition at line 1087 of file fmgr.c.
References elog, ERROR, InitFunctionCallInfoData, and LOCAL_FCINFO.
Referenced by gbt_enumge(), gbt_enumgt(), gbt_enumkey_cmp(), gbt_enumle(), gbt_enumlt(), gin_btree_compare_prefix(), and gin_enum_cmp().
Definition at line 2038 of file fmgr.c.
References ACL_EXECUTE, ACL_USAGE, aclcheck_error(), ACLCHECK_OK, elog, ereport, errcode(), errmsg(), ERROR, GETSTRUCT, GetUserId(), HeapTupleIsValid, LANGOID, NameStr, OBJECT_FUNCTION, OBJECT_LANGUAGE, ObjectIdGetDatum, pg_language_aclcheck(), pg_proc_aclcheck(), PROCOID, ReleaseSysCache(), and SearchSysCache1().
Referenced by fmgr_c_validator(), fmgr_internal_validator(), fmgr_sql_validator(), plperl_validator(), plpgsql_validator(), and plpython_validator().
void clear_external_function_hash | ( | void * | filehandle | ) |
Definition at line 595 of file fmgr.c.
References hash_destroy().
Referenced by internal_unload_library().
Datum DirectFunctionCall1Coll | ( | PGFunction | func, |
Oid | collation, | ||
Datum | arg1 | ||
) |
Definition at line 794 of file fmgr.c.
References elog, ERROR, InitFunctionCallInfoData, and LOCAL_FCINFO.
Referenced by Generic_Text_IC_like(), libpqrcv_create_slot(), and texthashfast().
Datum DirectFunctionCall2Coll | ( | PGFunction | func, |
Oid | collation, | ||
Datum | arg1, | ||
Datum | arg2 | ||
) |
Definition at line 814 of file fmgr.c.
References elog, ERROR, InitFunctionCallInfoData, and LOCAL_FCINFO.
Referenced by gbt_textcmp(), gbt_texteq(), gbt_textge(), gbt_textgt(), gbt_textle(), gbt_textlt(), spg_text_leaf_consistent(), text_isequal(), and texteqfast().
Datum DirectFunctionCall3Coll | ( | PGFunction | func, |
Oid | collation, | ||
Datum | arg1, | ||
Datum | arg2, | ||
Datum | arg3 | ||
) |
Definition at line 836 of file fmgr.c.
References elog, ERROR, InitFunctionCallInfoData, and LOCAL_FCINFO.
Referenced by execute_extension_script().
Datum DirectFunctionCall4Coll | ( | PGFunction | func, |
Oid | collation, | ||
Datum | arg1, | ||
Datum | arg2, | ||
Datum | arg3, | ||
Datum | arg4 | ||
) |
Definition at line 861 of file fmgr.c.
References elog, ERROR, InitFunctionCallInfoData, and LOCAL_FCINFO.
Referenced by execute_extension_script().
Datum DirectFunctionCall5Coll | ( | PGFunction | func, |
Oid | collation, | ||
Datum | arg1, | ||
Datum | arg2, | ||
Datum | arg3, | ||
Datum | arg4, | ||
Datum | arg5 | ||
) |
Definition at line 888 of file fmgr.c.
References elog, ERROR, InitFunctionCallInfoData, and LOCAL_FCINFO.
Referenced by neqjoinsel().
Datum DirectFunctionCall6Coll | ( | PGFunction | func, |
Oid | collation, | ||
Datum | arg1, | ||
Datum | arg2, | ||
Datum | arg3, | ||
Datum | arg4, | ||
Datum | arg5, | ||
Datum | arg6 | ||
) |
Definition at line 917 of file fmgr.c.
References elog, ERROR, InitFunctionCallInfoData, and LOCAL_FCINFO.
Datum DirectFunctionCall7Coll | ( | PGFunction | func, |
Oid | collation, | ||
Datum | arg1, | ||
Datum | arg2, | ||
Datum | arg3, | ||
Datum | arg4, | ||
Datum | arg5, | ||
Datum | arg6, | ||
Datum | arg7 | ||
) |
Definition at line 949 of file fmgr.c.
References elog, ERROR, InitFunctionCallInfoData, and LOCAL_FCINFO.
Datum DirectFunctionCall8Coll | ( | PGFunction | func, |
Oid | collation, | ||
Datum | arg1, | ||
Datum | arg2, | ||
Datum | arg3, | ||
Datum | arg4, | ||
Datum | arg5, | ||
Datum | arg6, | ||
Datum | arg7, | ||
Datum | arg8 | ||
) |
Definition at line 983 of file fmgr.c.
References elog, ERROR, InitFunctionCallInfoData, and LOCAL_FCINFO.
Datum DirectFunctionCall9Coll | ( | PGFunction | func, |
Oid | collation, | ||
Datum | arg1, | ||
Datum | arg2, | ||
Datum | arg3, | ||
Datum | arg4, | ||
Datum | arg5, | ||
Datum | arg6, | ||
Datum | arg7, | ||
Datum | arg8, | ||
Datum | arg9 | ||
) |
Definition at line 1019 of file fmgr.c.
References elog, ERROR, InitFunctionCallInfoData, and LOCAL_FCINFO.
const Pg_finfo_record* fetch_finfo_record | ( | void * | filehandle, |
const char * | funcname | ||
) |
Definition at line 472 of file fmgr.c.
References Pg_finfo_record::api_version, elog, ereport, errcode(), errhint(), errmsg(), ERROR, lookup_external_function(), pfree(), and psprintf().
Referenced by fmgr_c_validator(), and fmgr_info_C_lang().
Definition at line 1709 of file fmgr.c.
References palloc(), and PointerGetDatum.
Referenced by assign_random_seed(), compute_range_stats(), executeItemOptUnwrapTarget(), float8_lerp(), gbt_num_fetch(), hash_metapage_info(), index_store_float8_orderby_distances(), int8_to_char(), interval_avg(), leftmostvalue_float8(), normal_rand(), pg_stats_ext_mcvlist_items(), pgstathashindex(), pgstattuple_approx_internal(), spg_kd_picksplit(), SPI_sql_row_to_xmlelement(), and SV_to_JsonbValue().
Definition at line 126 of file fmgr.c.
References CurrentMemoryContext, and fmgr_info_cxt_security().
Referenced by _bt_find_extreme_element(), _bt_sort_array_elements(), _sv_to_datum_finfo(), BeginCopyFrom(), brin_page_items(), build_pertrans_for_aggref(), call_pltcl_start_proc(), compute_distinct_stats(), CopyTo(), create_foreign_modify(), eqjoinsel_inner(), eqjoinsel_semi(), EventTriggerInvoke(), ExecBuildGroupingEqual(), ExecCallTriggerFunc(), ExecHashTableCreate(), ExecInitAgg(), ExecInitExprRec(), ExecInitFunc(), ExecInitSubPlan(), ExecInitTableFuncScan(), ExecInitWindowAgg(), execTuplesHashPrepare(), ExecuteCallStmt(), fetch_fp_info(), generic_restriction_selectivity(), get_stats_slot_range(), gincost_pattern(), inet_mcv_join_sel(), initialize_peragg(), match_pattern_prefix(), mcv_get_match_bitmap(), networkjoinsel_semi(), networksel(), OidFunctionCall0Coll(), OidFunctionCall1Coll(), OidFunctionCall2Coll(), OidFunctionCall3Coll(), OidFunctionCall4Coll(), OidFunctionCall5Coll(), OidFunctionCall6Coll(), OidFunctionCall7Coll(), OidFunctionCall8Coll(), OidFunctionCall9Coll(), OidInputFunctionCall(), OidOutputFunctionCall(), OidReceiveFunctionCall(), OidSendFunctionCall(), patternsel_common(), pg_stats_ext_mcvlist_items(), plperl_ref_from_pg_array(), prefix_selectivity(), prepare_query_params(), printtup_prepare_info(), scalararraysel(), scalarineqsel(), ScanKeyEntryInitialize(), ScanKeyInit(), text_format(), TupleDescGetAttInMetadata(), and var_eq_const().
Definition at line 361 of file fmgr.c.
References Pg_finfo_record::api_version, elog, ERROR, fetch_finfo_record(), FmgrInfo::fn_addr, CFuncHashTabEntry::inforec, load_external_function(), lookup_C_func(), pfree(), PROCOID, record_C_func(), SysCacheGetAttr(), TextDatumGetCString, and CFuncHashTabEntry::user_fn.
Referenced by fmgr_info_cxt_security().
void fmgr_info_copy | ( | FmgrInfo * | dstinfo, |
FmgrInfo * | srcinfo, | ||
MemoryContext | destcxt | ||
) |
Definition at line 611 of file fmgr.c.
References FmgrInfo::fn_extra, and FmgrInfo::fn_mcxt.
Referenced by bringetbitmap(), find_partition_scheme(), gistrescan(), inclusion_get_procinfo(), initBloomState(), initGinState(), initGISTstate(), perform_pruning_base_step(), satisfies_hash_partition(), ScanKeyEntryInitializeWithInfo(), and spgbeginscan().
void fmgr_info_cxt | ( | Oid | functionId, |
FmgrInfo * | finfo, | ||
MemoryContext | mcxt | ||
) |
Definition at line 136 of file fmgr.c.
References fmgr_info_cxt_security().
Referenced by array_in(), array_out(), array_position_common(), array_positions(), array_recv(), array_send(), array_to_text_internal(), build_concat_foutcache(), CatalogCacheInitializeCache(), compile_plperl_function(), compile_pltcl_function(), domain_state_setup(), ExecInitWindowAgg(), get_multirange_io_data(), get_range_io_data(), hstore_from_record(), hstore_populate_record(), inclusion_get_strategy_procinfo(), index_getprocinfo(), init_sexpr(), InitializeClientEncoding(), InitializeRelfilenodeMap(), load_rangetype_info(), lookup_ts_dictionary_cache(), lookup_ts_parser_cache(), lookup_type_cache(), minmax_get_strategy_procinfo(), mode_final(), perform_pruning_base_step(), plperl_spi_prepare(), plsample_func_handler(), pltcl_SPI_prepare(), PLy_input_setup_func(), PLy_output_setup_func(), PLyString_ToComposite(), prepare_column_cache(), PrepareClientEncoding(), preparePresortedCols(), PrepareSortSupportComparisonShim(), record_in(), record_out(), record_recv(), record_send(), RelationBuildPartitionKey(), and ri_HashCompareOp().
|
static |
Definition at line 146 of file fmgr.c.
References elog, ereport, errcode(), errmsg(), ERROR, fmgr_info_C_lang(), fmgr_info_other_lang(), fmgr_isbuiltin(), fmgr_lookupByName(), fmgr_security_definer(), fmgr_sql(), FmgrHookIsNeeded, FmgrInfo::fn_addr, FmgrInfo::fn_expr, FmgrInfo::fn_extra, FmgrInfo::fn_mcxt, FmgrInfo::fn_nargs, FmgrInfo::fn_oid, FmgrInfo::fn_retset, FmgrInfo::fn_stats, FmgrInfo::fn_strict, FmgrBuiltin::func, GETSTRUCT, heap_attisnull(), HeapTupleIsValid, InvalidOid, FmgrBuiltin::nargs, ObjectIdGetDatum, pfree(), PROCOID, ReleaseSysCache(), FmgrBuiltin::retset, SearchSysCache1(), FmgrBuiltin::strict, SysCacheGetAttr(), TextDatumGetCString, TRACK_FUNC_ALL, TRACK_FUNC_OFF, and TRACK_FUNC_PL.
Referenced by fmgr_info(), fmgr_info_cxt(), fmgr_info_other_lang(), and fmgr_security_definer().
|
static |
Definition at line 435 of file fmgr.c.
References CurrentMemoryContext, elog, ERROR, fmgr_info_cxt_security(), FmgrInfo::fn_addr, GETSTRUCT, HeapTupleIsValid, LANGOID, ObjectIdGetDatum, ReleaseSysCache(), and SearchSysCache1().
Referenced by fmgr_info_cxt_security().
Oid fmgr_internal_function | ( | const char * | proname | ) |
Definition at line 626 of file fmgr.c.
References fmgr_lookupByName(), FmgrBuiltin::foid, and InvalidOid.
Referenced by fmgr_internal_validator().
|
static |
Definition at line 75 of file fmgr.c.
References fmgr_builtin_oid_index, fmgr_builtins, fmgr_last_builtin_oid, and InvalidOidBuiltinMapping.
Referenced by fmgr_info_cxt_security().
|
static |
Definition at line 100 of file fmgr.c.
References fmgr_builtins, fmgr_nbuiltins, and i.
Referenced by fmgr_info_cxt_security(), and fmgr_internal_function().
Datum fmgr_security_definer | ( | PG_FUNCTION_ARGS | ) |
Definition at line 661 of file fmgr.c.
References fmgr_security_definer_cache::arg, AtEOXact_GUC(), DatumGetArrayTypePCopy, elog, ERROR, ExprMultipleResult, FHET_ABORT, FHET_END, FHET_START, fmgr_security_definer_cache::flinfo, fmgr_hook, fmgr_info_cxt_security(), FmgrInfo::fn_expr, FmgrInfo::fn_extra, FmgrInfo::fn_mcxt, FunctionCallInvoke, GETSTRUCT, GetUserIdAndSecContext(), GUC_ACTION_SAVE, HeapTupleIsValid, IsA, MemoryContextAllocZero(), MemoryContextSwitchTo(), NewGUCNestLevel(), ObjectIdGetDatum, OidIsValid, PG_CATCH, PG_END_TRY, PG_RE_THROW, PG_TRY, PGC_S_SESSION, PGC_SUSET, PGC_USERSET, pgstat_end_function_usage(), pgstat_init_function_usage(), ProcessGUCArray(), PROCOID, fmgr_security_definer_cache::proconfig, ReleaseSysCache(), SearchSysCache1(), SECURITY_LOCAL_USERID_CHANGE, SetUserIdAndSecContext(), superuser(), SysCacheGetAttr(), and fmgr_security_definer_cache::userid.
Referenced by fmgr_info_cxt_security().
void fmgr_symbol | ( | Oid | functionId, |
char ** | mod, | ||
char ** | fn | ||
) |
Definition at line 283 of file fmgr.c.
References elog, ERROR, FmgrHookIsNeeded, GETSTRUCT, heap_attisnull(), HeapTupleIsValid, ObjectIdGetDatum, PROCOID, pstrdup(), ReleaseSysCache(), SearchSysCache1(), SysCacheGetAttr(), and TextDatumGetCString.
Referenced by llvm_function_reference().
Definition at line 1114 of file fmgr.c.
References elog, ERROR, FmgrInfo::fn_oid, FunctionCallInvoke, InitFunctionCallInfoData, and LOCAL_FCINFO.
Referenced by OidFunctionCall0Coll().
Definition at line 1131 of file fmgr.c.
References elog, ERROR, FmgrInfo::fn_oid, FunctionCallInvoke, InitFunctionCallInfoData, and LOCAL_FCINFO.
Referenced by _hash_datum2hashkey(), brin_inclusion_add_value(), element_hash(), ExecHashBuildSkewHash(), ExecHashGetHashValue(), gistCompressValues(), gistdentryinit(), gistFetchAtt(), hash_multirange(), hash_range(), OidFunctionCall1Coll(), signValue(), spgdoinsert(), and TupleHashTableHash_internal().
Definition at line 1151 of file fmgr.c.
References elog, ERROR, FmgrInfo::fn_oid, FunctionCallInvoke, InitFunctionCallInfoData, and LOCAL_FCINFO.
Referenced by _bt_check_rowcompare(), _bt_checkkeys(), _bt_compare(), _bt_compare_array_elements(), _bt_compare_scankey_args(), _bt_find_extreme_element(), _bt_keep_natts(), _hash_checkqual(), array_position_common(), array_positions(), brin_inclusion_add_value(), brin_inclusion_consistent(), brin_inclusion_union(), brin_minmax_add_value(), brin_minmax_consistent(), brin_minmax_union(), call_subtype_diff(), cmpEntries(), compute_distinct_stats(), compute_partition_hash_value(), compute_range_stats(), create_range_bounds(), doPickSplit(), element_compare(), execTuplesUnequal(), genericPickSplit(), get_distance(), get_position(), get_stats_slot_range(), ginCompareEntries(), gistMakeUnionItVec(), gistMakeUnionKey(), gistUserPicksplit(), hash_multirange_extended(), hash_range_extended(), ineq_histogram_selectivity(), make_greater_string(), mcv_get_match_bitmap(), merge_list_bounds(), mode_final(), multirange_elem_bsearch_comparison(), OidFunctionCall2Coll(), partition_list_bsearch(), partition_rbound_cmp(), partition_rbound_datum_cmp(), process_ordered_aggregate_single(), qsort_partition_list_value_cmp(), range_cmp_bound_values(), range_cmp_bounds(), range_contains_elem_internal(), ri_AttributesEqual(), satisfies_hash_partition(), spgdoinsert(), spgGetCache(), spgInnerTest(), spgLeafTest(), and tuples_equal().
Definition at line 1173 of file fmgr.c.
References elog, ERROR, FmgrInfo::fn_oid, FunctionCallInvoke, InitFunctionCallInfoData, and LOCAL_FCINFO.
Referenced by bringetbitmap(), ginExtractEntries(), gistKeyIsEQ(), gistpenalty(), OidFunctionCall3Coll(), and union_tuples().
Datum FunctionCall4Coll | ( | FmgrInfo * | flinfo, |
Oid | collation, | ||
Datum | arg1, | ||
Datum | arg2, | ||
Datum | arg3, | ||
Datum | arg4 | ||
) |
Definition at line 1198 of file fmgr.c.
References elog, ERROR, FmgrInfo::fn_oid, FunctionCallInvoke, InitFunctionCallInfoData, and LOCAL_FCINFO.
Referenced by brinbuildCallback(), brininsert(), collectMatchBitmap(), matchPartialInPendingList(), OidFunctionCall4Coll(), and scalararraysel().
Datum FunctionCall5Coll | ( | FmgrInfo * | flinfo, |
Oid | collation, | ||
Datum | arg1, | ||
Datum | arg2, | ||
Datum | arg3, | ||
Datum | arg4, | ||
Datum | arg5 | ||
) |
Definition at line 1225 of file fmgr.c.
References elog, ERROR, FmgrInfo::fn_oid, FunctionCallInvoke, InitFunctionCallInfoData, and LOCAL_FCINFO.
Referenced by gistindex_keytest(), OidFunctionCall5Coll(), scalararraysel(), update_frameheadpos(), and update_frametailpos().
Datum FunctionCall6Coll | ( | FmgrInfo * | flinfo, |
Oid | collation, | ||
Datum | arg1, | ||
Datum | arg2, | ||
Datum | arg3, | ||
Datum | arg4, | ||
Datum | arg5, | ||
Datum | arg6 | ||
) |
Definition at line 1254 of file fmgr.c.
References elog, ERROR, FmgrInfo::fn_oid, FunctionCallInvoke, InitFunctionCallInfoData, and LOCAL_FCINFO.
Referenced by OidFunctionCall6Coll().
Datum FunctionCall7Coll | ( | FmgrInfo * | flinfo, |
Oid | collation, | ||
Datum | arg1, | ||
Datum | arg2, | ||
Datum | arg3, | ||
Datum | arg4, | ||
Datum | arg5, | ||
Datum | arg6, | ||
Datum | arg7 | ||
) |
Definition at line 1286 of file fmgr.c.
References elog, ERROR, FmgrInfo::fn_oid, FunctionCallInvoke, InitFunctionCallInfoData, and LOCAL_FCINFO.
Referenced by directTriConsistentFn(), gincost_pattern(), OidFunctionCall7Coll(), and shimBoolConsistentFn().
Datum FunctionCall8Coll | ( | FmgrInfo * | flinfo, |
Oid | collation, | ||
Datum | arg1, | ||
Datum | arg2, | ||
Datum | arg3, | ||
Datum | arg4, | ||
Datum | arg5, | ||
Datum | arg6, | ||
Datum | arg7, | ||
Datum | arg8 | ||
) |
Definition at line 1320 of file fmgr.c.
References elog, ERROR, FmgrInfo::fn_oid, FunctionCallInvoke, InitFunctionCallInfoData, and LOCAL_FCINFO.
Referenced by directBoolConsistentFn(), and OidFunctionCall8Coll().
Datum FunctionCall9Coll | ( | FmgrInfo * | flinfo, |
Oid | collation, | ||
Datum | arg1, | ||
Datum | arg2, | ||
Datum | arg3, | ||
Datum | arg4, | ||
Datum | arg5, | ||
Datum | arg6, | ||
Datum | arg7, | ||
Datum | arg8, | ||
Datum | arg9 | ||
) |
Definition at line 1356 of file fmgr.c.
References elog, ERROR, FmgrInfo::fn_oid, FunctionCallInvoke, InitFunctionCallInfoData, and LOCAL_FCINFO.
Referenced by OidFunctionCall9Coll().
Definition at line 1887 of file fmgr.c.
References fmgr_security_definer_cache::arg, generate_unaccent_rules::args, IsA, list_length(), list_nth(), and PARAM_EXTERN.
Referenced by get_fn_expr_arg_stable().
Definition at line 1822 of file fmgr.c.
References generate_unaccent_rules::args, exprType(), get_base_element_type(), InvalidOid, IsA, list_length(), and list_nth().
Referenced by get_fn_expr_argtype(), prepare_sql_fn_parse_info(), resolve_polymorphic_argtypes(), and resolve_polymorphic_tupdesc().
Definition at line 1868 of file fmgr.c.
References FmgrInfo::fn_expr, and get_call_expr_arg_stable().
Referenced by extract_variadic_args(), leadlag_common(), and window_nth_value().
Definition at line 1803 of file fmgr.c.
References FmgrInfo::fn_expr, get_call_expr_argtype(), and InvalidOid.
Referenced by array_agg_array_transfn(), array_agg_transfn(), array_fill(), array_fill_with_lower_bounds(), build_concat_foutcache(), concat_internal(), count_nulls(), dblink_close(), dblink_exec(), dblink_fetch(), dblink_open(), dblink_record_internal(), enum_first(), enum_last(), enum_range_all(), enum_range_bounds(), extract_variadic_args(), fetch_array_arg_replace_nulls(), get_record_type_from_argument(), hstore_from_record(), hstore_populate_record(), hypothetical_check_argtypes(), json_agg_transfn(), json_object_agg_transfn(), jsonb_agg_transfn(), jsonb_object_agg_transfn(), multirange_intersect_agg_transfn(), pg_collation_for(), pg_column_size(), pg_typeof(), range_agg_transfn(), range_intersect_agg_transfn(), satisfies_hash_partition(), text_format(), to_json(), and to_jsonb().
Definition at line 1781 of file fmgr.c.
References exprType(), FmgrInfo::fn_expr, and InvalidOid.
Referenced by do_compile(), multirange_constructor0(), multirange_constructor1(), multirange_constructor2(), range_agg_finalfn(), range_constructor2(), and range_constructor3().
Definition at line 1937 of file fmgr.c.
References FmgrInfo::fn_expr, and IsA.
Referenced by concat_internal(), count_nulls(), extract_variadic_args(), satisfies_hash_partition(), and text_format().
Definition at line 1990 of file fmgr.c.
References Const::constisnull, Const::consttype, Const::constvalue, DatumGetByteaP, ereport, errcode(), errmsg(), ERROR, FmgrInfo::fn_expr, and IsA.
Definition at line 1974 of file fmgr.c.
References Const::constisnull, Const::consttype, FmgrInfo::fn_expr, and IsA.
Definition at line 1532 of file fmgr.c.
References CStringGetDatum, elog, ERROR, FmgrInfo::fn_oid, FmgrInfo::fn_strict, FunctionCallInvoke, InitFunctionCallInfoData, Int32GetDatum, InvalidOid, LOCAL_FCINFO, and ObjectIdGetDatum.
Referenced by BuildTupleFromCStrings(), domain_in(), hstore_populate_record(), make_tuple_from_result_row(), multirange_in(), NextCopyFrom(), OidInputFunctionCall(), plperl_sv_to_datum(), plsample_func_handler(), pltcl_func_handler(), pltcl_returnnext(), pltcl_SPI_execute_plan(), PLyObject_ToScalar(), PLyString_ToComposite(), populate_scalar(), range_in(), ReadArrayStr(), record_in(), and XmlTableGetValue().
Datum Int64GetDatum | ( | int64 | X | ) |
Definition at line 1700 of file fmgr.c.
References palloc(), and PointerGetDatum.
Referenced by brin_metapage_info(), brin_summarize_new_values(), build_minmax_path(), DefineSequence(), delay_execution_planner(), ExecEvalNextValueExpr(), gbt_num_fetch(), generate_series_step_int8(), gin_metapage_info(), gin_page_opaque_info(), gist_page_opaque_info(), hash_array_extended(), hash_bitmap_info(), hash_metapage_info(), hash_page_items(), hash_page_stats(), hash_record_extended(), int4_cash(), int8_cash(), int8_to_char(), int8range_canonical(), leftmostvalue_int8(), leftmostvalue_money(), make_const(), perform_work_item(), pg_buffercache_pages(), pg_control_system(), pg_get_replication_slots(), pg_get_shmem_allocations(), pg_ls_dir_files(), pg_sequence_parameters(), pg_stat_file(), pg_stat_get_archiver(), pg_stat_get_progress_info(), pg_stat_get_replication_slots(), pg_stat_get_slru(), pg_stat_get_wal(), pg_stat_statements_info(), pg_visibility_map_rel(), pg_visibility_map_summary(), pg_visibility_rel(), pgstatginindex_internal(), pgstathashindex(), pgstattuple_approx_internal(), PutMemoryContextsStatsTupleStore(), report_corruption(), StartReplication(), and validate_index_callback().
|
static |
Definition at line 532 of file fmgr.c.
References CFuncHashTabEntry::fn_tid, CFuncHashTabEntry::fn_xmin, GETSTRUCT, HASH_FIND, hash_search(), HeapTupleHeaderGetRawXmin, ItemPointerEquals(), HeapTupleData::t_data, and HeapTupleData::t_self.
Referenced by fmgr_info_C_lang().
Definition at line 1403 of file fmgr.c.
References fmgr_security_definer_cache::flinfo, fmgr_info(), and FunctionCall0Coll().
Definition at line 1413 of file fmgr.c.
References fmgr_security_definer_cache::flinfo, fmgr_info(), and FunctionCall1Coll().
Referenced by _bt_allequalimage(), and _hash_datum2hashkey_type().
Definition at line 1423 of file fmgr.c.
References fmgr_security_definer_cache::flinfo, fmgr_info(), and FunctionCall2Coll().
Referenced by _bt_compare_scankey_args(), and index_recheck_constraint().
Definition at line 1433 of file fmgr.c.
References fmgr_security_definer_cache::flinfo, fmgr_info(), and FunctionCall3Coll().
Datum OidFunctionCall4Coll | ( | Oid | functionId, |
Oid | collation, | ||
Datum | arg1, | ||
Datum | arg2, | ||
Datum | arg3, | ||
Datum | arg4 | ||
) |
Definition at line 1444 of file fmgr.c.
References fmgr_security_definer_cache::flinfo, fmgr_info(), and FunctionCall4Coll().
Referenced by restriction_selectivity().
Datum OidFunctionCall5Coll | ( | Oid | functionId, |
Oid | collation, | ||
Datum | arg1, | ||
Datum | arg2, | ||
Datum | arg3, | ||
Datum | arg4, | ||
Datum | arg5 | ||
) |
Definition at line 1455 of file fmgr.c.
References fmgr_security_definer_cache::flinfo, fmgr_info(), and FunctionCall5Coll().
Referenced by join_selectivity().
Datum OidFunctionCall6Coll | ( | Oid | functionId, |
Oid | collation, | ||
Datum | arg1, | ||
Datum | arg2, | ||
Datum | arg3, | ||
Datum | arg4, | ||
Datum | arg5, | ||
Datum | arg6 | ||
) |
Definition at line 1466 of file fmgr.c.
References fmgr_security_definer_cache::flinfo, fmgr_info(), and FunctionCall6Coll().
Datum OidFunctionCall7Coll | ( | Oid | functionId, |
Oid | collation, | ||
Datum | arg1, | ||
Datum | arg2, | ||
Datum | arg3, | ||
Datum | arg4, | ||
Datum | arg5, | ||
Datum | arg6, | ||
Datum | arg7 | ||
) |
Definition at line 1479 of file fmgr.c.
References fmgr_security_definer_cache::flinfo, fmgr_info(), and FunctionCall7Coll().
Datum OidFunctionCall8Coll | ( | Oid | functionId, |
Oid | collation, | ||
Datum | arg1, | ||
Datum | arg2, | ||
Datum | arg3, | ||
Datum | arg4, | ||
Datum | arg5, | ||
Datum | arg6, | ||
Datum | arg7, | ||
Datum | arg8 | ||
) |
Definition at line 1492 of file fmgr.c.
References fmgr_security_definer_cache::flinfo, fmgr_info(), and FunctionCall8Coll().
Datum OidFunctionCall9Coll | ( | Oid | functionId, |
Oid | collation, | ||
Datum | arg1, | ||
Datum | arg2, | ||
Datum | arg3, | ||
Datum | arg4, | ||
Datum | arg5, | ||
Datum | arg6, | ||
Datum | arg7, | ||
Datum | arg8, | ||
Datum | arg9 | ||
) |
Definition at line 1505 of file fmgr.c.
References fmgr_security_definer_cache::flinfo, fmgr_info(), and FunctionCall9Coll().
Definition at line 1647 of file fmgr.c.
References fmgr_security_definer_cache::flinfo, fmgr_info(), and InputFunctionCall().
Referenced by DefineAggregate(), exec_bind_message(), get_typdefault(), GetAggInitVal(), InsertOneValue(), parse_fcall_arguments(), slot_modify_data(), slot_store_data(), and stringTypeDatum().
Definition at line 1656 of file fmgr.c.
References fmgr_security_definer_cache::flinfo, fmgr_info(), and OutputFunctionCall().
Referenced by BuildIndexValueDescription(), BuildParamLogString(), convert_value_to_string(), datum_to_json(), datum_to_jsonb(), debugtup(), deparseConst(), ExecBuildSlotPartitionKeyDescription(), ExecBuildSlotValueDescription(), get_const_expr(), InsertOneValue(), logicalrep_write_tuple(), map_sql_value_to_xml_value(), plperl_hash_from_tuple(), plperl_sv_to_literal(), pltcl_build_tuple_argument(), pltcl_set_tuple_values(), print_expr(), ri_ReportViolation(), SendFunctionResult(), set_limit(), SPI_getvalue(), and tuple_to_stringinfo().
Datum OidReceiveFunctionCall | ( | Oid | functionId, |
StringInfo | buf, | ||
Oid | typioparam, | ||
int32 | typmod | ||
) |
Definition at line 1665 of file fmgr.c.
References fmgr_security_definer_cache::flinfo, fmgr_info(), and ReceiveFunctionCall().
Referenced by exec_bind_message(), parse_fcall_arguments(), parse_fcall_arguments_20(), slot_modify_data(), and slot_store_data().
Definition at line 1675 of file fmgr.c.
References fmgr_security_definer_cache::flinfo, fmgr_info(), and SendFunctionCall().
Referenced by logicalrep_write_tuple(), and SendFunctionResult().
Definition at line 1576 of file fmgr.c.
References DatumGetCString, and FunctionCall1.
Referenced by array_out(), array_to_text_internal(), brin_page_items(), concat_internal(), convert_prep_stmt_params(), CopyOneRowTo(), hstore_from_record(), make_array_ref(), multirange_out(), OidOutputFunctionCall(), plperl_call_perl_func(), plsample_func_handler(), pltcl_func_handler(), PLyString_FromScalar(), printtup(), printtup_20(), process_query_params(), range_out(), record_out(), text_format(), and text_format_string_conversion().
Definition at line 1734 of file fmgr.c.
References detoast_attr(), palloc(), VARATT_IS_EXTENDED, and VARSIZE.
Definition at line 1757 of file fmgr.c.
References detoast_attr(), VARATT_IS_COMPRESSED, and VARATT_IS_EXTERNAL.
Referenced by text_to_cstring(), and text_to_cstring_buffer().
Definition at line 1750 of file fmgr.c.
References detoast_attr_slice().
Datum ReceiveFunctionCall | ( | FmgrInfo * | flinfo, |
StringInfo | buf, | ||
Oid | typioparam, | ||
int32 | typmod | ||
) |
Definition at line 1590 of file fmgr.c.
References elog, ERROR, FmgrInfo::fn_oid, FmgrInfo::fn_strict, FunctionCallInvoke, InitFunctionCallInfoData, Int32GetDatum, InvalidOid, LOCAL_FCINFO, ObjectIdGetDatum, and PointerGetDatum.
Referenced by CopyReadBinaryAttribute(), domain_recv(), multirange_recv(), OidReceiveFunctionCall(), range_recv(), ReadArrayBinary(), and record_recv().
|
static |
Definition at line 556 of file fmgr.c.
References HASHCTL::entrysize, CFuncHashTabEntry::fn_tid, CFuncHashTabEntry::fn_xmin, GETSTRUCT, HASH_BLOBS, hash_create(), HASH_ELEM, HASH_ENTER, hash_search(), HeapTupleHeaderGetRawXmin, CFuncHashTabEntry::inforec, HASHCTL::keysize, HeapTupleData::t_data, HeapTupleData::t_self, and CFuncHashTabEntry::user_fn.
Referenced by fmgr_info_C_lang().
Definition at line 1637 of file fmgr.c.
References DatumGetByteaP, and FunctionCall1.
Referenced by array_send(), CopyOneRowTo(), multirange_send(), OidSendFunctionCall(), printtup(), printtup_internal_20(), range_send(), and record_send().
Definition at line 1963 of file fmgr.c.
References FmgrInfo::fn_expr, InvalidOid, makeConst(), and PointerGetDatum.
Referenced by gincost_pattern(), and index_getprocinfo().
PGDLLIMPORT fmgr_hook_type fmgr_hook = NULL |
Definition at line 39 of file fmgr.c.
Referenced by fmgr_security_definer(), and sepgsql_init_client_label().
PGDLLIMPORT needs_fmgr_hook_type needs_fmgr_hook = NULL |
Definition at line 38 of file fmgr.c.
Referenced by sepgsql_init_client_label().