diff options
author | Marc G. Fournier <scrappy@hub.org> | 1996-11-14 10:15:16 +0000 |
---|---|---|
committer | Marc G. Fournier <scrappy@hub.org> | 1996-11-14 10:15:16 +0000 |
commit | 389fe48cbb513888205bbe3a5008ed109976dacb (patch) | |
tree | e1bc978627338c127aa0d9c0fdbd8bed7fa6821c /doc/man/create_aggregate.l | |
parent | 65a10b1be6400025e7fd54befbc4a8489fd50e10 (diff) | |
download | postgresql-389fe48cbb513888205bbe3a5008ed109976dacb.tar.gz postgresql-389fe48cbb513888205bbe3a5008ed109976dacb.zip |
Removed man pages...moved to src/man
Requested by Bryan
Diffstat (limited to 'doc/man/create_aggregate.l')
-rw-r--r-- | doc/man/create_aggregate.l | 94 |
1 files changed, 0 insertions, 94 deletions
diff --git a/doc/man/create_aggregate.l b/doc/man/create_aggregate.l deleted file mode 100644 index 645c54f8a51..00000000000 --- a/doc/man/create_aggregate.l +++ /dev/null @@ -1,94 +0,0 @@ -.\" This is -*-nroff-*- -.\" XXX standard disclaimer belongs here.... -.\" $Header: /cvsroot/pgsql/doc/man/Attic/create_aggregate.l,v 1.1.1.1 1996/08/18 22:14:21 scrappy Exp $ -.TH "CREATE AGGREGATE" SQL 11/05/95 Postgres95 Postgres95 -.SH NAME -create aggregate \(em define a new aggregate -.SH SYNOPSIS -.nf -\fBcreate aggregate\fR agg-name [\fBas\fR] - \fB(\fP[\fBsfunc1\fR \fB=\fR state-transition-function-1 - ,\fP \fBbasetype\fR \fB=\fR data-type - ,\fP \fBstype1\fR \fB=\fR sfunc1-return-type] - [\fB,\fP \fBsfunc2\fR \fB=\fR state-transition-function-2 - ,\fP \fBstype2\fR \fB=\fR sfunc2-return-type] - [\fB,\fP \fBfinalfunc\fR \fB=\fR final-function] - [\fB,\fP \fBinitcond1\fR \fB=\fR initial-condition-1] - [\fB,\fP \fBinitcond2\fR \fB=\fR initial-condition-2]\fB)\fR -.fi -.SH DESCRIPTION -An aggregate function can use up to three functions, two -.IR "state transition" -functions, X1 and X2: -.nf -X1( internal-state1, next-data_item ) ---> next-internal-state1 -X2( internal-state2 ) ---> next-internal-state2 -.fi -and a -.BR "final calculation" -function, F: -.nf -F(internal-state1, internal-state2) ---> aggregate-value -.fi -These functions are required to have the following properties: -.IP -The arguments to state-transition-function-1 must be -.BR ( stype1 , basetype ) , -and its return value must be stype1. -.IP -The argument and return value of state-transition-function-2 must be -.BR stype2 . -.IP -The arguments to the final-calculation-function must be -.BR ( stype1 , stype2 ) , -and its return value must be a POSTGRES base type (not -necessarily the same as basetype. -.IP -The final-calculation-function should be specified if and only if both -state-transition functions are specified. -.PP -Note that it is possible to specify aggregate functions that have -varying combinations of state and final functions. For example, the -\*(lqcount\*(rq aggregate requires -.BR sfunc2 -(an incrementing function) but not -.BR sfunc1 " or " finalfunc , -whereas the \*(lqsum\*(rq aggregate requires -.BR sfunc1 -(an addition function) but not -.BR sfunc2 " or " finalfunc -and the \*(lqaverage\*(rq aggregate requires both of the above state -functions as well as a -.BR finalfunc -(a division function) to produce its answer. In any case, at least -one state function must be defined, and any -.BR sfunc2 -must have a corresponding -.BR initcond2 . -.PP -Aggregates also require two initial conditions, one for each -transition function. These are specified and stored in the database -as fields of type -.IR text . -.SH EXAMPLE -This -.IR avg -aggregate consists of two state transition functions, a addition -function and a incrementing function. These modify the internal state -of the aggregate through a running sum and and the number of values -seen so far. It accepts a new employee salary, increments the count, -and adds the new salary to produce the next state. The state -transition functions must be passed correct initialization values. -The final calculation then divides the sum by the count to produce the -final answer. -.nf --- ---Create an aggregate for int4 average --- -create aggregate avg (sfunc1 = int4add, basetype = int4, - stype1 = int4, sfunc2 = int4inc, stype2 = int4, - finalfunc = int4div, initcond1 = "0", initcond2 = "0") -.fi -.SH "SEE ALSO" -create function(l), -remove aggregate(l). |