#include "catalog/genbki.h"#include "nodes/pg_list.h"

Go to the source code of this file.
Defines | |
| #define | AggregateRelationId 2600 |
| #define | Natts_pg_aggregate 6 |
| #define | Anum_pg_aggregate_aggfnoid 1 |
| #define | Anum_pg_aggregate_aggtransfn 2 |
| #define | Anum_pg_aggregate_aggfinalfn 3 |
| #define | Anum_pg_aggregate_aggsortop 4 |
| #define | Anum_pg_aggregate_aggtranstype 5 |
| #define | Anum_pg_aggregate_agginitval 6 |
Typedefs | |
| typedef FormData_pg_aggregate * | Form_pg_aggregate |
Functions | |
| CATALOG (pg_aggregate, 2600) BKI_WITHOUT_OIDS | |
| DATA (insert(2100 int8_avg_accum numeric_avg0 1231"{0,0}")) | |
| DATA (insert(2101 int4_avg_accum int8_avg0 1016"{0,0}")) | |
| DATA (insert(2102 int2_avg_accum int8_avg0 1016"{0,0}")) | |
| DATA (insert(2103 numeric_avg_accum numeric_avg0 1231"{0,0}")) | |
| DATA (insert(2104 float4_accum float8_avg0 1022"{0,0,0}")) | |
| DATA (insert(2105 float8_accum float8_avg0 1022"{0,0,0}")) | |
| DATA (insert(2106 interval_accum interval_avg 0 1187"{0 second,0 second}")) | |
| DATA (insert(2107 int8_sum-0 1700 _null_)) | |
| DATA (insert(2108 int4_sum-0 20_null_)) | |
| DATA (insert(2109 int2_sum-0 20_null_)) | |
| DATA (insert(2110 float4pl-0 700_null_)) | |
| DATA (insert(2111 float8pl-0 701_null_)) | |
| DATA (insert(2112 cash_pl-0 790_null_)) | |
| DATA (insert(2113 interval_pl-0 1186 _null_)) | |
| DATA (insert(2114 numeric_add-0 1700 _null_)) | |
| DATA (insert(2115 int8larger-41320_null_)) | |
| DATA (insert(2116 int4larger-52123_null_)) | |
| DATA (insert(2117 int2larger-52021_null_)) | |
| DATA (insert(2118 oidlarger-61026_null_)) | |
| DATA (insert(2119 float4larger-623700_null_)) | |
| DATA (insert(2120 float8larger-674701_null_)) | |
| DATA (insert(2121 int4larger-563702_null_)) | |
| DATA (insert(2122 date_larger-1097 1082 _null_)) | |
| DATA (insert(2123 time_larger-1112 1083 _null_)) | |
| DATA (insert(2124 timetz_larger-1554 1266 _null_)) | |
| DATA (insert(2125 cashlarger-903790_null_)) | |
| DATA (insert(2126 timestamp_larger-2064 1114 _null_)) | |
| DATA (insert(2127 timestamptz_larger-1324 1184 _null_)) | |
| DATA (insert(2128 interval_larger-1334 1186 _null_)) | |
| DATA (insert(2129 text_larger-66625_null_)) | |
| DATA (insert(2130 numeric_larger-1756 1700 _null_)) | |
| DATA (insert(2050 array_larger-1073 2277 _null_)) | |
| DATA (insert(2244 bpchar_larger-1060 1042 _null_)) | |
| DATA (insert(2797 tidlarger-2800 27_null_)) | |
| DATA (insert(3526 enum_larger-3519 3500 _null_)) | |
| DATA (insert(2131 int8smaller-41220_null_)) | |
| DATA (insert(2132 int4smaller-9723_null_)) | |
| DATA (insert(2133 int2smaller-9521_null_)) | |
| DATA (insert(2134 oidsmaller-60926_null_)) | |
| DATA (insert(2135 float4smaller-622700_null_)) | |
| DATA (insert(2136 float8smaller-672701_null_)) | |
| DATA (insert(2137 int4smaller-562702_null_)) | |
| DATA (insert(2138 date_smaller-1095 1082 _null_)) | |
| DATA (insert(2139 time_smaller-1110 1083 _null_)) | |
| DATA (insert(2140 timetz_smaller-1552 1266 _null_)) | |
| DATA (insert(2141 cashsmaller-902790_null_)) | |
| DATA (insert(2142 timestamp_smaller-2062 1114 _null_)) | |
| DATA (insert(2143 timestamptz_smaller-1322 1184 _null_)) | |
| DATA (insert(2144 interval_smaller-1332 1186 _null_)) | |
| DATA (insert(2145 text_smaller-66425_null_)) | |
| DATA (insert(2146 numeric_smaller-1754 1700 _null_)) | |
| DATA (insert(2051 array_smaller-1072 2277 _null_)) | |
| DATA (insert(2245 bpchar_smaller-1058 1042 _null_)) | |
| DATA (insert(2798 tidsmaller-2799 27_null_)) | |
| DATA (insert(3527 enum_smaller-3518 3500 _null_)) | |
| DATA (insert(2147 int8inc_any-020"0")) | |
| DATA (insert(2803 int8inc-020"0")) | |
| DATA (insert(2718 int8_accum numeric_var_pop 0 1231"{0,0,0}")) | |
| DATA (insert(2719 int4_accum numeric_var_pop 0 1231"{0,0,0}")) | |
| DATA (insert(2720 int2_accum numeric_var_pop 0 1231"{0,0,0}")) | |
| DATA (insert(2721 float4_accum float8_var_pop 0 1022"{0,0,0}")) | |
| DATA (insert(2722 float8_accum float8_var_pop 0 1022"{0,0,0}")) | |
| DATA (insert(2723 numeric_accumnumeric_var_pop 0 1231"{0,0,0}")) | |
| DATA (insert(2641 int8_accum numeric_var_samp 0 1231"{0,0,0}")) | |
| DATA (insert(2642 int4_accum numeric_var_samp 0 1231"{0,0,0}")) | |
| DATA (insert(2643 int2_accum numeric_var_samp 0 1231"{0,0,0}")) | |
| DATA (insert(2644 float4_accum float8_var_samp 0 1022"{0,0,0}")) | |
| DATA (insert(2645 float8_accum float8_var_samp 0 1022"{0,0,0}")) | |
| DATA (insert(2646 numeric_accumnumeric_var_samp 0 1231"{0,0,0}")) | |
| DATA (insert(2148 int8_accum numeric_var_samp 0 1231"{0,0,0}")) | |
| DATA (insert(2149 int4_accum numeric_var_samp 0 1231"{0,0,0}")) | |
| DATA (insert(2150 int2_accum numeric_var_samp 0 1231"{0,0,0}")) | |
| DATA (insert(2151 float4_accum float8_var_samp 0 1022"{0,0,0}")) | |
| DATA (insert(2152 float8_accum float8_var_samp 0 1022"{0,0,0}")) | |
| DATA (insert(2153 numeric_accumnumeric_var_samp 0 1231"{0,0,0}")) | |
| DATA (insert(2724 int8_accum numeric_stddev_pop0 1231"{0,0,0}")) | |
| DATA (insert(2725 int4_accum numeric_stddev_pop0 1231"{0,0,0}")) | |
| DATA (insert(2726 int2_accum numeric_stddev_pop0 1231"{0,0,0}")) | |
| DATA (insert(2727 float4_accum float8_stddev_pop 0 1022"{0,0,0}")) | |
| DATA (insert(2728 float8_accum float8_stddev_pop 0 1022"{0,0,0}")) | |
| DATA (insert(2729 numeric_accum numeric_stddev_pop 0 1231"{0,0,0}")) | |
| DATA (insert(2712 int8_accum numeric_stddev_samp0 1231"{0,0,0}")) | |
| DATA (insert(2713 int4_accum numeric_stddev_samp0 1231"{0,0,0}")) | |
| DATA (insert(2714 int2_accum numeric_stddev_samp0 1231"{0,0,0}")) | |
| DATA (insert(2715 float4_accum float8_stddev_samp 0 1022"{0,0,0}")) | |
| DATA (insert(2716 float8_accum float8_stddev_samp 0 1022"{0,0,0}")) | |
| DATA (insert(2717 numeric_accum numeric_stddev_samp 0 1231"{0,0,0}")) | |
| DATA (insert(2154 int8_accum numeric_stddev_samp0 1231"{0,0,0}")) | |
| DATA (insert(2155 int4_accum numeric_stddev_samp0 1231"{0,0,0}")) | |
| DATA (insert(2156 int2_accum numeric_stddev_samp0 1231"{0,0,0}")) | |
| DATA (insert(2157 float4_accum float8_stddev_samp 0 1022"{0,0,0}")) | |
| DATA (insert(2158 float8_accum float8_stddev_samp 0 1022"{0,0,0}")) | |
| DATA (insert(2159 numeric_accum numeric_stddev_samp 0 1231"{0,0,0}")) | |
| DATA (insert(2818 int8inc_float8_float8-0 20"0")) | |
| DATA (insert(2819 float8_regr_accum float8_regr_sxx0 1022"{0,0,0,0,0,0}")) | |
| DATA (insert(2820 float8_regr_accum float8_regr_syy0 1022"{0,0,0,0,0,0}")) | |
| DATA (insert(2821 float8_regr_accum float8_regr_sxy0 1022"{0,0,0,0,0,0}")) | |
| DATA (insert(2822 float8_regr_accum float8_regr_avgx0 1022"{0,0,0,0,0,0}")) | |
| DATA (insert(2823 float8_regr_accum float8_regr_avgy0 1022"{0,0,0,0,0,0}")) | |
| DATA (insert(2824 float8_regr_accum float8_regr_r20 1022"{0,0,0,0,0,0}")) | |
| DATA (insert(2825 float8_regr_accum float8_regr_slope0 1022"{0,0,0,0,0,0}")) | |
| DATA (insert(2826 float8_regr_accum float8_regr_intercept 0 1022"{0,0,0,0,0,0}")) | |
| DATA (insert(2827 float8_regr_accum float8_covar_pop0 1022"{0,0,0,0,0,0}")) | |
| DATA (insert(2828 float8_regr_accum float8_covar_samp0 1022"{0,0,0,0,0,0}")) | |
| DATA (insert(2829 float8_regr_accum float8_corr0 1022"{0,0,0,0,0,0}")) | |
| DATA (insert(2517 booland_statefunc-58 16_null_)) | |
| DATA (insert(2518 boolor_statefunc-59 16_null_)) | |
| DATA (insert(2519 booland_statefunc-58 16_null_)) | |
| DATA (insert(2236 int2and-0 21_null_)) | |
| DATA (insert(2237 int2or-0 21_null_)) | |
| DATA (insert(2238 int4and-0 23_null_)) | |
| DATA (insert(2239 int4or-0 23_null_)) | |
| DATA (insert(2240 int8and-0 20_null_)) | |
| DATA (insert(2241 int8or-0 20_null_)) | |
| DATA (insert(2242 bitand-0 1560 _null_)) | |
| DATA (insert(2243 bitor-0 1560 _null_)) | |
| DATA (insert(2901 xmlconcat2-0 142_null_)) | |
| DATA (insert(2335 array_agg_transfn array_agg_finalfn0 2281 _null_)) | |
| DATA (insert(3538 string_agg_transfn string_agg_finalfn0 2281 _null_)) | |
| DATA (insert(3545 bytea_string_agg_transfn bytea_string_agg_finalfn0 2281 _null_)) | |
| DATA (insert(3175 json_agg_transfn json_agg_finalfn0 2281 _null_)) | |
| Oid | AggregateCreate (const char *aggName, Oid aggNamespace, Oid *aggArgTypes, int numArgs, List *aggtransfnName, List *aggfinalfnName, List *aggsortopName, Oid aggTransType, const char *agginitval) |
Variables | |
| FormData_pg_aggregate | |
| #define AggregateRelationId 2600 |
Definition at line 38 of file pg_aggregate.h.
Referenced by AggregateCreate(), and RemoveFunctionById().
| #define Anum_pg_aggregate_aggfinalfn 3 |
Definition at line 68 of file pg_aggregate.h.
Referenced by AggregateCreate().
| #define Anum_pg_aggregate_aggfnoid 1 |
Definition at line 66 of file pg_aggregate.h.
Referenced by AggregateCreate().
| #define Anum_pg_aggregate_agginitval 6 |
Definition at line 71 of file pg_aggregate.h.
Referenced by AggregateCreate(), ExecInitAgg(), and initialize_peragg().
| #define Anum_pg_aggregate_aggsortop 4 |
Definition at line 69 of file pg_aggregate.h.
Referenced by AggregateCreate().
| #define Anum_pg_aggregate_aggtransfn 2 |
Definition at line 67 of file pg_aggregate.h.
Referenced by AggregateCreate().
| #define Anum_pg_aggregate_aggtranstype 5 |
Definition at line 70 of file pg_aggregate.h.
Referenced by AggregateCreate().
| #define Natts_pg_aggregate 6 |
Definition at line 65 of file pg_aggregate.h.
| typedef FormData_pg_aggregate* Form_pg_aggregate |
Definition at line 58 of file pg_aggregate.h.
| Oid AggregateCreate | ( | const char * | aggName, | |
| Oid | aggNamespace, | |||
| Oid * | aggArgTypes, | |||
| int | numArgs, | |||
| List * | aggtransfnName, | |||
| List * | aggfinalfnName, | |||
| List * | aggsortopName, | |||
| Oid | aggTransType, | |||
| const char * | agginitval | |||
| ) |
Definition at line 46 of file pg_aggregate.c.
References ACL_USAGE, aclcheck_error_type(), ACLCHECK_OK, AggregateRelationId, Anum_pg_aggregate_aggfinalfn, Anum_pg_aggregate_aggfnoid, Anum_pg_aggregate_agginitval, Anum_pg_aggregate_aggsortop, Anum_pg_aggregate_aggtransfn, Anum_pg_aggregate_aggtranstype, Assert, buildoidvector(), CatalogUpdateIndexes(), ObjectAddress::classId, CStringGetTextDatum, DEPENDENCY_NORMAL, elog, ereport, errcode(), errdetail(), errmsg(), ERROR, format_type_be(), GETSTRUCT, GetUserId(), heap_close, heap_form_tuple(), heap_open(), HeapTupleIsValid, i, INTERNALlanguageId, INTERNALOID, InvalidOid, IsBinaryCoercible(), IsPolymorphicType, lookup_agg_function(), LookupOperName(), NameListToString(), NIL, NULL, ObjectAddress::objectId, ObjectIdGetDatum, ObjectAddress::objectSubId, OidIsValid, palloc(), pg_type_aclcheck(), PointerGetDatum, ProcedureCreate(), PROCOID, PROVOLATILE_IMMUTABLE, RelationData::rd_att, recordDependencyOn(), ReleaseSysCache(), RowExclusiveLock, SearchSysCache1, simple_heap_insert(), and values.
Referenced by DefineAggregate().
{
Relation aggdesc;
HeapTuple tup;
bool nulls[Natts_pg_aggregate];
Datum values[Natts_pg_aggregate];
Form_pg_proc proc;
Oid transfn;
Oid finalfn = InvalidOid; /* can be omitted */
Oid sortop = InvalidOid; /* can be omitted */
bool hasPolyArg;
bool hasInternalArg;
Oid rettype;
Oid finaltype;
Oid *fnArgs;
int nargs_transfn;
Oid procOid;
TupleDesc tupDesc;
int i;
ObjectAddress myself,
referenced;
AclResult aclresult;
/* sanity checks (caller should have caught these) */
if (!aggName)
elog(ERROR, "no aggregate name supplied");
if (!aggtransfnName)
elog(ERROR, "aggregate must have a transition function");
/* check for polymorphic and INTERNAL arguments */
hasPolyArg = false;
hasInternalArg = false;
for (i = 0; i < numArgs; i++)
{
if (IsPolymorphicType(aggArgTypes[i]))
hasPolyArg = true;
else if (aggArgTypes[i] == INTERNALOID)
hasInternalArg = true;
}
/*
* If transtype is polymorphic, must have polymorphic argument also; else
* we will have no way to deduce the actual transtype.
*/
if (IsPolymorphicType(aggTransType) && !hasPolyArg)
ereport(ERROR,
(errcode(ERRCODE_INVALID_FUNCTION_DEFINITION),
errmsg("cannot determine transition data type"),
errdetail("An aggregate using a polymorphic transition type must have at least one polymorphic argument.")));
/* find the transfn */
nargs_transfn = numArgs + 1;
fnArgs = (Oid *) palloc(nargs_transfn * sizeof(Oid));
fnArgs[0] = aggTransType;
memcpy(fnArgs + 1, aggArgTypes, numArgs * sizeof(Oid));
transfn = lookup_agg_function(aggtransfnName, nargs_transfn, fnArgs,
&rettype);
/*
* Return type of transfn (possibly after refinement by
* enforce_generic_type_consistency, if transtype isn't polymorphic) must
* exactly match declared transtype.
*
* In the non-polymorphic-transtype case, it might be okay to allow a
* rettype that's binary-coercible to transtype, but I'm not quite
* convinced that it's either safe or useful. When transtype is
* polymorphic we *must* demand exact equality.
*/
if (rettype != aggTransType)
ereport(ERROR,
(errcode(ERRCODE_DATATYPE_MISMATCH),
errmsg("return type of transition function %s is not %s",
NameListToString(aggtransfnName),
format_type_be(aggTransType))));
tup = SearchSysCache1(PROCOID, ObjectIdGetDatum(transfn));
if (!HeapTupleIsValid(tup))
elog(ERROR, "cache lookup failed for function %u", transfn);
proc = (Form_pg_proc) GETSTRUCT(tup);
/*
* If the transfn is strict and the initval is NULL, make sure first input
* type and transtype are the same (or at least binary-compatible), so
* that it's OK to use the first input value as the initial transValue.
*/
if (proc->proisstrict && agginitval == NULL)
{
if (numArgs < 1 ||
!IsBinaryCoercible(aggArgTypes[0], aggTransType))
ereport(ERROR,
(errcode(ERRCODE_INVALID_FUNCTION_DEFINITION),
errmsg("must not omit initial value when transition function is strict and transition type is not compatible with input type")));
}
ReleaseSysCache(tup);
/* handle finalfn, if supplied */
if (aggfinalfnName)
{
fnArgs[0] = aggTransType;
finalfn = lookup_agg_function(aggfinalfnName, 1, fnArgs,
&finaltype);
}
else
{
/*
* If no finalfn, aggregate result type is type of the state value
*/
finaltype = aggTransType;
}
Assert(OidIsValid(finaltype));
/*
* If finaltype (i.e. aggregate return type) is polymorphic, inputs must
* be polymorphic also, else parser will fail to deduce result type.
* (Note: given the previous test on transtype and inputs, this cannot
* happen, unless someone has snuck a finalfn definition into the catalogs
* that itself violates the rule against polymorphic result with no
* polymorphic input.)
*/
if (IsPolymorphicType(finaltype) && !hasPolyArg)
ereport(ERROR,
(errcode(ERRCODE_DATATYPE_MISMATCH),
errmsg("cannot determine result data type"),
errdetail("An aggregate returning a polymorphic type "
"must have at least one polymorphic argument.")));
/*
* Also, the return type can't be INTERNAL unless there's at least one
* INTERNAL argument. This is the same type-safety restriction we enforce
* for regular functions, but at the level of aggregates. We must test
* this explicitly because we allow INTERNAL as the transtype.
*/
if (finaltype == INTERNALOID && !hasInternalArg)
ereport(ERROR,
(errcode(ERRCODE_INVALID_FUNCTION_DEFINITION),
errmsg("unsafe use of pseudo-type \"internal\""),
errdetail("A function returning \"internal\" must have at least one \"internal\" argument.")));
/* handle sortop, if supplied */
if (aggsortopName)
{
if (numArgs != 1)
ereport(ERROR,
(errcode(ERRCODE_INVALID_FUNCTION_DEFINITION),
errmsg("sort operator can only be specified for single-argument aggregates")));
sortop = LookupOperName(NULL, aggsortopName,
aggArgTypes[0], aggArgTypes[0],
false, -1);
}
/*
* permission checks on used types
*/
for (i = 0; i < numArgs; i++)
{
aclresult = pg_type_aclcheck(aggArgTypes[i], GetUserId(), ACL_USAGE);
if (aclresult != ACLCHECK_OK)
aclcheck_error_type(aclresult, aggArgTypes[i]);
}
aclresult = pg_type_aclcheck(aggTransType, GetUserId(), ACL_USAGE);
if (aclresult != ACLCHECK_OK)
aclcheck_error_type(aclresult, aggTransType);
aclresult = pg_type_aclcheck(finaltype, GetUserId(), ACL_USAGE);
if (aclresult != ACLCHECK_OK)
aclcheck_error_type(aclresult, finaltype);
/*
* Everything looks okay. Try to create the pg_proc entry for the
* aggregate. (This could fail if there's already a conflicting entry.)
*/
procOid = ProcedureCreate(aggName,
aggNamespace,
false, /* no replacement */
false, /* doesn't return a set */
finaltype, /* returnType */
GetUserId(), /* proowner */
INTERNALlanguageId, /* languageObjectId */
InvalidOid, /* no validator */
"aggregate_dummy", /* placeholder proc */
NULL, /* probin */
true, /* isAgg */
false, /* isWindowFunc */
false, /* security invoker (currently not
* definable for agg) */
false, /* isLeakProof */
false, /* isStrict (not needed for agg) */
PROVOLATILE_IMMUTABLE, /* volatility (not
* needed for agg) */
buildoidvector(aggArgTypes,
numArgs), /* paramTypes */
PointerGetDatum(NULL), /* allParamTypes */
PointerGetDatum(NULL), /* parameterModes */
PointerGetDatum(NULL), /* parameterNames */
NIL, /* parameterDefaults */
PointerGetDatum(NULL), /* proconfig */
1, /* procost */
0); /* prorows */
/*
* Okay to create the pg_aggregate entry.
*/
/* initialize nulls and values */
for (i = 0; i < Natts_pg_aggregate; i++)
{
nulls[i] = false;
values[i] = (Datum) NULL;
}
values[Anum_pg_aggregate_aggfnoid - 1] = ObjectIdGetDatum(procOid);
values[Anum_pg_aggregate_aggtransfn - 1] = ObjectIdGetDatum(transfn);
values[Anum_pg_aggregate_aggfinalfn - 1] = ObjectIdGetDatum(finalfn);
values[Anum_pg_aggregate_aggsortop - 1] = ObjectIdGetDatum(sortop);
values[Anum_pg_aggregate_aggtranstype - 1] = ObjectIdGetDatum(aggTransType);
if (agginitval)
values[Anum_pg_aggregate_agginitval - 1] = CStringGetTextDatum(agginitval);
else
nulls[Anum_pg_aggregate_agginitval - 1] = true;
aggdesc = heap_open(AggregateRelationId, RowExclusiveLock);
tupDesc = aggdesc->rd_att;
tup = heap_form_tuple(tupDesc, values, nulls);
simple_heap_insert(aggdesc, tup);
CatalogUpdateIndexes(aggdesc, tup);
heap_close(aggdesc, RowExclusiveLock);
/*
* Create dependencies for the aggregate (above and beyond those already
* made by ProcedureCreate). Note: we don't need an explicit dependency
* on aggTransType since we depend on it indirectly through transfn.
*/
myself.classId = ProcedureRelationId;
myself.objectId = procOid;
myself.objectSubId = 0;
/* Depends on transition function */
referenced.classId = ProcedureRelationId;
referenced.objectId = transfn;
referenced.objectSubId = 0;
recordDependencyOn(&myself, &referenced, DEPENDENCY_NORMAL);
/* Depends on final function, if any */
if (OidIsValid(finalfn))
{
referenced.classId = ProcedureRelationId;
referenced.objectId = finalfn;
referenced.objectSubId = 0;
recordDependencyOn(&myself, &referenced, DEPENDENCY_NORMAL);
}
/* Depends on sort operator, if any */
if (OidIsValid(sortop))
{
referenced.classId = OperatorRelationId;
referenced.objectId = sortop;
referenced.objectSubId = 0;
recordDependencyOn(&myself, &referenced, DEPENDENCY_NORMAL);
}
return procOid;
}
| CATALOG | ( | pg_aggregate | , | |
| 2600 | ||||
| ) |
Definition at line 40 of file pg_aggregate.h.
| DATA | ( | insert(3175 json_agg_transfn json_agg_finalfn0 2281 _null_) | ) |
| DATA | ( | insert(3545 bytea_string_agg_transfn bytea_string_agg_finalfn0 2281 _null_) | ) |
| DATA | ( | insert(3538 string_agg_transfn string_agg_finalfn0 2281 _null_) | ) |
| DATA | ( | insert(2335 array_agg_transfn array_agg_finalfn0 2281 _null_) | ) |
| DATA | ( | insert(2901 xmlconcat2-0 142_null_) | ) |
| DATA | ( | insert(2243 bitor-0 1560 _null_) | ) |
| DATA | ( | insert(2242 bitand-0 1560 _null_) | ) |
| DATA | ( | insert(2241 int8or-0 20_null_) | ) |
| DATA | ( | insert(2240 int8and-0 20_null_) | ) |
| DATA | ( | insert(2239 int4or-0 23_null_) | ) |
| DATA | ( | insert(2238 int4and-0 23_null_) | ) |
| DATA | ( | insert(2237 int2or-0 21_null_) | ) |
| DATA | ( | insert(2236 int2and-0 21_null_) | ) |
| DATA | ( | insert(2519 booland_statefunc-58 16_null_) | ) |
| DATA | ( | insert(2518 boolor_statefunc-59 16_null_) | ) |
| DATA | ( | insert(2517 booland_statefunc-58 16_null_) | ) |
| DATA | ( | insert(2829 float8_regr_accum float8_corr0 1022"{0,0,0,0,0,0}") | ) |
| DATA | ( | insert(2828 float8_regr_accum float8_covar_samp0 1022"{0,0,0,0,0,0}") | ) |
| DATA | ( | insert(2827 float8_regr_accum float8_covar_pop0 1022"{0,0,0,0,0,0}") | ) |
| DATA | ( | insert(2826 float8_regr_accum float8_regr_intercept 0 1022"{0,0,0,0,0,0}") | ) |
| DATA | ( | insert(2825 float8_regr_accum float8_regr_slope0 1022"{0,0,0,0,0,0}") | ) |
| DATA | ( | insert(2824 float8_regr_accum float8_regr_r20 1022"{0,0,0,0,0,0}") | ) |
| DATA | ( | insert(2823 float8_regr_accum float8_regr_avgy0 1022"{0,0,0,0,0,0}") | ) |
| DATA | ( | insert(2822 float8_regr_accum float8_regr_avgx0 1022"{0,0,0,0,0,0}") | ) |
| DATA | ( | insert(2821 float8_regr_accum float8_regr_sxy0 1022"{0,0,0,0,0,0}") | ) |
| DATA | ( | insert(2820 float8_regr_accum float8_regr_syy0 1022"{0,0,0,0,0,0}") | ) |
| DATA | ( | insert(2819 float8_regr_accum float8_regr_sxx0 1022"{0,0,0,0,0,0}") | ) |
| DATA | ( | insert(2818 int8inc_float8_float8-0 20"0") | ) |
| DATA | ( | insert(2159 numeric_accum numeric_stddev_samp 0 1231"{0,0,0}") | ) |
| DATA | ( | insert(2158 float8_accum float8_stddev_samp 0 1022"{0,0,0}") | ) |
| DATA | ( | insert(2157 float4_accum float8_stddev_samp 0 1022"{0,0,0}") | ) |
| DATA | ( | insert(2156 int2_accum numeric_stddev_samp0 1231"{0,0,0}") | ) |
| DATA | ( | insert(2155 int4_accum numeric_stddev_samp0 1231"{0,0,0}") | ) |
| DATA | ( | insert(2154 int8_accum numeric_stddev_samp0 1231"{0,0,0}") | ) |
| DATA | ( | insert(2717 numeric_accum numeric_stddev_samp 0 1231"{0,0,0}") | ) |
| DATA | ( | insert(2716 float8_accum float8_stddev_samp 0 1022"{0,0,0}") | ) |
| DATA | ( | insert(2715 float4_accum float8_stddev_samp 0 1022"{0,0,0}") | ) |
| DATA | ( | insert(2714 int2_accum numeric_stddev_samp0 1231"{0,0,0}") | ) |
| DATA | ( | insert(2713 int4_accum numeric_stddev_samp0 1231"{0,0,0}") | ) |
| DATA | ( | insert(2712 int8_accum numeric_stddev_samp0 1231"{0,0,0}") | ) |
| DATA | ( | insert(2729 numeric_accum numeric_stddev_pop 0 1231"{0,0,0}") | ) |
| DATA | ( | insert(2728 float8_accum float8_stddev_pop 0 1022"{0,0,0}") | ) |
| DATA | ( | insert(2727 float4_accum float8_stddev_pop 0 1022"{0,0,0}") | ) |
| DATA | ( | insert(2726 int2_accum numeric_stddev_pop0 1231"{0,0,0}") | ) |
| DATA | ( | insert(2725 int4_accum numeric_stddev_pop0 1231"{0,0,0}") | ) |
| DATA | ( | insert(2724 int8_accum numeric_stddev_pop0 1231"{0,0,0}") | ) |
| DATA | ( | insert(2153 numeric_accumnumeric_var_samp 0 1231"{0,0,0}") | ) |
| DATA | ( | insert(2152 float8_accum float8_var_samp 0 1022"{0,0,0}") | ) |
| DATA | ( | insert(2151 float4_accum float8_var_samp 0 1022"{0,0,0}") | ) |
| DATA | ( | insert(2150 int2_accum numeric_var_samp 0 1231"{0,0,0}") | ) |
| DATA | ( | insert(2149 int4_accum numeric_var_samp 0 1231"{0,0,0}") | ) |
| DATA | ( | insert(2148 int8_accum numeric_var_samp 0 1231"{0,0,0}") | ) |
| DATA | ( | insert(2646 numeric_accumnumeric_var_samp 0 1231"{0,0,0}") | ) |
| DATA | ( | insert(2645 float8_accum float8_var_samp 0 1022"{0,0,0}") | ) |
| DATA | ( | insert(2644 float4_accum float8_var_samp 0 1022"{0,0,0}") | ) |
| DATA | ( | insert(2643 int2_accum numeric_var_samp 0 1231"{0,0,0}") | ) |
| DATA | ( | insert(2642 int4_accum numeric_var_samp 0 1231"{0,0,0}") | ) |
| DATA | ( | insert(2641 int8_accum numeric_var_samp 0 1231"{0,0,0}") | ) |
| DATA | ( | insert(2723 numeric_accumnumeric_var_pop 0 1231"{0,0,0}") | ) |
| DATA | ( | insert(2722 float8_accum float8_var_pop 0 1022"{0,0,0}") | ) |
| DATA | ( | insert(2721 float4_accum float8_var_pop 0 1022"{0,0,0}") | ) |
| DATA | ( | insert(2128 interval_larger-1334 1186 _null_) | ) |
| DATA | ( | insert(2719 int4_accum numeric_var_pop 0 1231"{0,0,0}") | ) |
| DATA | ( | insert(2718 int8_accum numeric_var_pop 0 1231"{0,0,0}") | ) |
| DATA | ( | insert(2803 int8inc-020"0") | ) |
| DATA | ( | insert(2147 int8inc_any-020"0") | ) |
| DATA | ( | insert(3527 enum_smaller-3518 3500 _null_) | ) |
| DATA | ( | insert(2798 tidsmaller-2799 27_null_) | ) |
| DATA | ( | insert(2245 bpchar_smaller-1058 1042 _null_) | ) |
| DATA | ( | insert(2051 array_smaller-1072 2277 _null_) | ) |
| DATA | ( | insert(2146 numeric_smaller-1754 1700 _null_) | ) |
| DATA | ( | insert(2145 text_smaller-66425_null_) | ) |
| DATA | ( | insert(2144 interval_smaller-1332 1186 _null_) | ) |
| DATA | ( | insert(2143 timestamptz_smaller-1322 1184 _null_) | ) |
| DATA | ( | insert(2142 timestamp_smaller-2062 1114 _null_) | ) |
| DATA | ( | insert(2141 cashsmaller-902790_null_) | ) |
| DATA | ( | insert(2140 timetz_smaller-1552 1266 _null_) | ) |
| DATA | ( | insert(2139 time_smaller-1110 1083 _null_) | ) |
| DATA | ( | insert(2138 date_smaller-1095 1082 _null_) | ) |
| DATA | ( | insert(2137 int4smaller-562702_null_) | ) |
| DATA | ( | insert(2136 float8smaller-672701_null_) | ) |
| DATA | ( | insert(2135 float4smaller-622700_null_) | ) |
| DATA | ( | insert(2134 oidsmaller-60926_null_) | ) |
| DATA | ( | insert(2133 int2smaller-9521_null_) | ) |
| DATA | ( | insert(2132 int4smaller-9723_null_) | ) |
| DATA | ( | insert(2131 int8smaller-41220_null_) | ) |
| DATA | ( | insert(3526 enum_larger-3519 3500 _null_) | ) |
| DATA | ( | insert(2797 tidlarger-2800 27_null_) | ) |
| DATA | ( | insert(2244 bpchar_larger-1060 1042 _null_) | ) |
| DATA | ( | insert(2050 array_larger-1073 2277 _null_) | ) |
| DATA | ( | insert(2130 numeric_larger-1756 1700 _null_) | ) |
| DATA | ( | insert(2129 text_larger-66625_null_) | ) |
| DATA | ( | insert(2113 interval_pl-0 1186 _null_) | ) |
| DATA | ( | insert(2127 timestamptz_larger-1324 1184 _null_) | ) |
| DATA | ( | insert(2126 timestamp_larger-2064 1114 _null_) | ) |
| DATA | ( | insert(2125 cashlarger-903790_null_) | ) |
| DATA | ( | insert(2124 timetz_larger-1554 1266 _null_) | ) |
| DATA | ( | insert(2123 time_larger-1112 1083 _null_) | ) |
| DATA | ( | insert(2122 date_larger-1097 1082 _null_) | ) |
| DATA | ( | insert(2121 int4larger-563702_null_) | ) |
| DATA | ( | insert(2120 float8larger-674701_null_) | ) |
| DATA | ( | insert(2119 float4larger-623700_null_) | ) |
| DATA | ( | insert(2118 oidlarger-61026_null_) | ) |
| DATA | ( | insert(2117 int2larger-52021_null_) | ) |
| DATA | ( | insert(2116 int4larger-52123_null_) | ) |
| DATA | ( | insert(2115 int8larger-41320_null_) | ) |
| DATA | ( | insert(2114 numeric_add-0 1700 _null_) | ) |
| DATA | ( | insert(2105 float8_accum float8_avg0 1022"{0,0,0}") | ) |
| DATA | ( | insert(2112 cash_pl-0 790_null_) | ) |
| DATA | ( | insert(2111 float8pl-0 701_null_) | ) |
| DATA | ( | insert(2110 float4pl-0 700_null_) | ) |
| DATA | ( | insert(2109 int2_sum-0 20_null_) | ) |
| DATA | ( | insert(2108 int4_sum-0 20_null_) | ) |
| DATA | ( | insert(2107 int8_sum-0 1700 _null_) | ) |
| DATA | ( | insert(2106 interval_accum interval_avg 0 1187"{0 second,0 second}") | ) |
| DATA | ( | insert(2101 int4_avg_accum int8_avg0 1016"{0,0}") | ) |
| DATA | ( | insert(2104 float4_accum float8_avg0 1022"{0,0,0}") | ) |
| DATA | ( | insert(2103 numeric_avg_accum numeric_avg0 1231"{0,0}") | ) |
| DATA | ( | insert(2102 int2_avg_accum int8_avg0 1016"{0,0}") | ) |
| DATA | ( | insert(2720 int2_accum numeric_var_pop 0 1231"{0,0,0}") | ) |
| DATA | ( | insert(2100 int8_avg_accum numeric_avg0 1231"{0,0}") | ) |
Definition at line 51 of file pg_aggregate.h.
1.7.1