|
PostgreSQL Source Code git master
|
#include "postgres.h"#include "access/htup_details.h"#include "access/table.h"#include "catalog/dependency.h"#include "catalog/indexing.h"#include "catalog/pg_aggregate.h"#include "catalog/pg_language.h"#include "catalog/pg_operator.h"#include "catalog/pg_proc.h"#include "catalog/pg_type.h"#include "miscadmin.h"#include "parser/parse_coerce.h"#include "parser/parse_func.h"#include "parser/parse_oper.h"#include "utils/acl.h"#include "utils/builtins.h"#include "utils/lsyscache.h"#include "utils/rel.h"#include "utils/syscache.h"
Go to the source code of this file.
Functions | |
| static Oid | lookup_agg_function (List *fnName, int nargs, Oid *input_types, Oid variadicArgType, Oid *rettype) |
| ObjectAddress | AggregateCreate (const char *aggName, Oid aggNamespace, bool replace, char aggKind, int numArgs, int numDirectArgs, oidvector *parameterTypes, Datum allParameterTypes, Datum parameterModes, Datum parameterNames, List *parameterDefaults, Oid variadicArgType, List *aggtransfnName, List *aggfinalfnName, List *aggcombinefnName, List *aggserialfnName, List *aggdeserialfnName, List *aggmtransfnName, List *aggminvtransfnName, List *aggmfinalfnName, bool finalfnExtraArgs, bool mfinalfnExtraArgs, char finalfnModify, char mfinalfnModify, List *aggsortopName, Oid aggTransType, int32 aggTransSpace, Oid aggmTransType, int32 aggmTransSpace, const char *agginitval, const char *aggminitval, char proparallel) |
| ObjectAddress AggregateCreate | ( | const char * | aggName, |
| Oid | aggNamespace, | ||
| bool | replace, | ||
| char | aggKind, | ||
| int | numArgs, | ||
| int | numDirectArgs, | ||
| oidvector * | parameterTypes, | ||
| Datum | allParameterTypes, | ||
| Datum | parameterModes, | ||
| Datum | parameterNames, | ||
| List * | parameterDefaults, | ||
| Oid | variadicArgType, | ||
| List * | aggtransfnName, | ||
| List * | aggfinalfnName, | ||
| List * | aggcombinefnName, | ||
| List * | aggserialfnName, | ||
| List * | aggdeserialfnName, | ||
| List * | aggmtransfnName, | ||
| List * | aggminvtransfnName, | ||
| List * | aggmfinalfnName, | ||
| bool | finalfnExtraArgs, | ||
| bool | mfinalfnExtraArgs, | ||
| char | finalfnModify, | ||
| char | mfinalfnModify, | ||
| List * | aggsortopName, | ||
| Oid | aggTransType, | ||
| int32 | aggTransSpace, | ||
| Oid | aggmTransType, | ||
| int32 | aggmTransSpace, | ||
| const char * | agginitval, | ||
| const char * | aggminitval, | ||
| char | proparallel | ||
| ) |
Definition at line 46 of file pg_aggregate.c.
References ACL_USAGE, aclcheck_error_type(), ACLCHECK_OK, add_exact_object_address(), Assert, BoolGetDatum(), CatalogTupleInsert(), CatalogTupleUpdate(), CharGetDatum(), check_valid_internal_signature(), check_valid_polymorphic_signature(), CStringGetTextDatum, DEPENDENCY_NORMAL, elog, ereport, errcode(), errdetail(), errdetail_internal(), errmsg(), errmsg_plural(), ERROR, fb(), format_type_be(), free_object_addresses(), FUNC_MAX_ARGS, func_strict(), GETSTRUCT(), GetUserId(), heap_form_tuple(), heap_modify_tuple(), HeapTupleIsValid, i, Int16GetDatum(), Int32GetDatum(), InvalidOid, IsBinaryCoercible(), lookup_agg_function(), LookupOperName(), NameListToString(), new_object_addresses(), NIL, object_aclcheck(), ObjectAddressSet, ObjectIdGetDatum(), OidIsValid, PointerGetDatum(), ProcedureCreate(), record_object_address_dependencies(), ReleaseSysCache(), RowExclusiveLock, SearchSysCache1(), table_close(), table_open(), oidvector::values, and values.
Referenced by DefineAggregate().
|
static |
Definition at line 827 of file pg_aggregate.c.
References ACL_EXECUTE, aclcheck_error(), ACLCHECK_OK, enforce_generic_type_consistency(), ereport, errcode(), errmsg(), ERROR, fb(), func_get_detail(), func_signature_string(), FUNCDETAIL_NORMAL, get_func_name(), GetUserId(), i, IsBinaryCoercible(), NIL, object_aclcheck(), OBJECT_FUNCTION, and OidIsValid.
Referenced by AggregateCreate().