@@ -27,7 +27,7 @@ CREATE AGGREGATE <replaceable class="parameter">name</replaceable> ( [ <replacea
27
27
[ , SSPACE = <replaceable class="parameter">state_data_size</replaceable> ]
28
28
[ , FINALFUNC = <replaceable class="parameter">ffunc</replaceable> ]
29
29
[ , FINALFUNC_EXTRA ]
30
- [ , FINALFUNC_MODIFY = { READ_ONLY | SHARABLE | READ_WRITE } ]
30
+ [ , FINALFUNC_MODIFY = { READ_ONLY | SHAREABLE | READ_WRITE } ]
31
31
[ , COMBINEFUNC = <replaceable class="parameter">combinefunc</replaceable> ]
32
32
[ , SERIALFUNC = <replaceable class="parameter">serialfunc</replaceable> ]
33
33
[ , DESERIALFUNC = <replaceable class="parameter">deserialfunc</replaceable> ]
@@ -38,7 +38,7 @@ CREATE AGGREGATE <replaceable class="parameter">name</replaceable> ( [ <replacea
38
38
[ , MSSPACE = <replaceable class="parameter">mstate_data_size</replaceable> ]
39
39
[ , MFINALFUNC = <replaceable class="parameter">mffunc</replaceable> ]
40
40
[ , MFINALFUNC_EXTRA ]
41
- [ , MFINALFUNC_MODIFY = { READ_ONLY | SHARABLE | READ_WRITE } ]
41
+ [ , MFINALFUNC_MODIFY = { READ_ONLY | SHAREABLE | READ_WRITE } ]
42
42
[ , MINITCOND = <replaceable class="parameter">minitial_condition</replaceable> ]
43
43
[ , SORTOP = <replaceable class="parameter">sort_operator</replaceable> ]
44
44
[ , PARALLEL = { SAFE | RESTRICTED | UNSAFE } ]
@@ -51,7 +51,7 @@ CREATE AGGREGATE <replaceable class="parameter">name</replaceable> ( [ [ <replac
51
51
[ , SSPACE = <replaceable class="parameter">state_data_size</replaceable> ]
52
52
[ , FINALFUNC = <replaceable class="parameter">ffunc</replaceable> ]
53
53
[ , FINALFUNC_EXTRA ]
54
- [ , FINALFUNC_MODIFY = { READ_ONLY | SHARABLE | READ_WRITE } ]
54
+ [ , FINALFUNC_MODIFY = { READ_ONLY | SHAREABLE | READ_WRITE } ]
55
55
[ , INITCOND = <replaceable class="parameter">initial_condition</replaceable> ]
56
56
[ , PARALLEL = { SAFE | RESTRICTED | UNSAFE } ]
57
57
[ , HYPOTHETICAL ]
@@ -66,7 +66,7 @@ CREATE AGGREGATE <replaceable class="parameter">name</replaceable> (
66
66
[ , SSPACE = <replaceable class="parameter">state_data_size</replaceable> ]
67
67
[ , FINALFUNC = <replaceable class="parameter">ffunc</replaceable> ]
68
68
[ , FINALFUNC_EXTRA ]
69
- [ , FINALFUNC_MODIFY = { READ_ONLY | SHARABLE | READ_WRITE } ]
69
+ [ , FINALFUNC_MODIFY = { READ_ONLY | SHAREABLE | READ_WRITE } ]
70
70
[ , COMBINEFUNC = <replaceable class="parameter">combinefunc</replaceable> ]
71
71
[ , SERIALFUNC = <replaceable class="parameter">serialfunc</replaceable> ]
72
72
[ , DESERIALFUNC = <replaceable class="parameter">deserialfunc</replaceable> ]
@@ -77,7 +77,7 @@ CREATE AGGREGATE <replaceable class="parameter">name</replaceable> (
77
77
[ , MSSPACE = <replaceable class="parameter">mstate_data_size</replaceable> ]
78
78
[ , MFINALFUNC = <replaceable class="parameter">mffunc</replaceable> ]
79
79
[ , MFINALFUNC_EXTRA ]
80
- [ , MFINALFUNC_MODIFY = { READ_ONLY | SHARABLE | READ_WRITE } ]
80
+ [ , MFINALFUNC_MODIFY = { READ_ONLY | SHAREABLE | READ_WRITE } ]
81
81
[ , MINITCOND = <replaceable class="parameter">minitial_condition</replaceable> ]
82
82
[ , SORTOP = <replaceable class="parameter">sort_operator</replaceable> ]
83
83
)
@@ -419,7 +419,7 @@ SELECT col FROM tab ORDER BY col USING sortop LIMIT 1;
419
419
</varlistentry>
420
420
421
421
<varlistentry>
422
- <term><literal>FINALFUNC_MODIFY</literal> = { <literal>READ_ONLY</literal> | <literal>SHARABLE </literal> | <literal>READ_WRITE</literal> }</term>
422
+ <term><literal>FINALFUNC_MODIFY</literal> = { <literal>READ_ONLY</literal> | <literal>SHAREABLE </literal> | <literal>READ_WRITE</literal> }</term>
423
423
<listitem>
424
424
<para>
425
425
This option specifies whether the final function is a pure function
@@ -585,7 +585,7 @@ SELECT col FROM tab ORDER BY col USING sortop LIMIT 1;
585
585
</varlistentry>
586
586
587
587
<varlistentry>
588
- <term><literal>MFINALFUNC_MODIFY</literal> = { <literal>READ_ONLY</literal> | <literal>SHARABLE </literal> | <literal>READ_WRITE</literal> }</term>
588
+ <term><literal>MFINALFUNC_MODIFY</literal> = { <literal>READ_ONLY</literal> | <literal>SHAREABLE </literal> | <literal>READ_WRITE</literal> }</term>
589
589
<listitem>
590
590
<para>
591
591
This option is like <literal>FINALFUNC_MODIFY</literal>, but it describes
@@ -678,12 +678,13 @@ SELECT col FROM tab ORDER BY col USING sortop LIMIT 1;
678
678
Likewise, while an aggregate final function is normally expected not to
679
679
modify its input values, sometimes it is impractical to avoid modifying
680
680
the transition-state argument. Such behavior must be declared using
681
- the <literal>FINALFUNC_MODIFY</literal> parameter. The <literal>READ_WRITE</literal>
681
+ the <literal>FINALFUNC_MODIFY</literal> parameter.
682
+ The <literal>READ_WRITE</literal>
682
683
value indicates that the final function modifies the transition state in
683
684
unspecified ways. This value prevents use of the aggregate as a window
684
685
function, and it also prevents merging of transition states for aggregate
685
686
calls that share the same input values and transition functions.
686
- The <literal>SHARABLE </literal> value indicates that the transition function
687
+ The <literal>SHAREABLE </literal> value indicates that the transition function
687
688
cannot be applied after the final function, but multiple final-function
688
689
calls can be performed on the ending transition state value. This value
689
690
prevents use of the aggregate as a window function, but it allows merging
0 commit comments