git.postgresql.org Git - postgresql.git/commitdiff

git projects / postgresql.git / commitdiff
? search:
summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 781ed2b)
Docs: be explicit about datatype matching for lead/lag functions.
2015年8月25日 23:11:17 +0000 (19:11 -0400)
2015年8月25日 23:11:17 +0000 (19:11 -0400)
The default argument, if given, has to be of exactly the same datatype
as the first argument; but this was not stated in so many words, and
the error message you get about it might not lead your thought in the
right direction. Per bug #13587 from Robert McGehee.

A quick scan says that these are the only two built-in functions with two
anyelement arguments and no other polymorphic arguments. There are plenty
of cases of, eg, anyarray and anyelement, but those seem less likely to
confuse. For instance this doesn't seem terribly hard to figure out:
"function array_remove(integer[], numeric) does not exist". So I've
contented myself with fixing these two cases.


diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml
index 617d0b31bf57ae2a30dc0137c1e95d602ae10473..b3b78d2daf635b2b0de816b4865441066195be96 100644 (file)
--- a/doc/src/sgml/func.sgml
+++ b/doc/src/sgml/func.sgml
@@ -13606,9 +13606,9 @@ SELECT xmlagg(x) FROM (SELECT x FROM test ORDER BY y DESC) AS tab;
<primary>lag</primary>
</indexterm>
<function>
- lag(<replaceable class="parameter">value</replaceable> <type>any</>
+ lag(<replaceable class="parameter">value</replaceable> <type>anyelement</>
[, <replaceable class="parameter">offset</replaceable> <type>integer</>
- [, <replaceable class="parameter">default</replaceable> <type>any</> ]])
+ [, <replaceable class="parameter">default</replaceable> <type>anyelement</> ]])
</function>
</entry>
<entry>
@@ -13618,7 +13618,9 @@ SELECT xmlagg(x) FROM (SELECT x FROM test ORDER BY y DESC) AS tab;
returns <replaceable class="parameter">value</replaceable> evaluated at
the row that is <replaceable class="parameter">offset</replaceable>
rows before the current row within the partition; if there is no such
- row, instead return <replaceable class="parameter">default</replaceable>.
+ row, instead return <replaceable class="parameter">default</replaceable>
+ (which must be of the same type as
+ <replaceable class="parameter">value</replaceable>).
Both <replaceable class="parameter">offset</replaceable> and
<replaceable class="parameter">default</replaceable> are evaluated
with respect to the current row. If omitted,
@@ -13633,9 +13635,9 @@ SELECT xmlagg(x) FROM (SELECT x FROM test ORDER BY y DESC) AS tab;
<primary>lead</primary>
</indexterm>
<function>
- lead(<replaceable class="parameter">value</replaceable> <type>any</>
+ lead(<replaceable class="parameter">value</replaceable> <type>anyelement</>
[, <replaceable class="parameter">offset</replaceable> <type>integer</>
- [, <replaceable class="parameter">default</replaceable> <type>any</> ]])
+ [, <replaceable class="parameter">default</replaceable> <type>anyelement</> ]])
</function>
</entry>
<entry>
@@ -13645,7 +13647,9 @@ SELECT xmlagg(x) FROM (SELECT x FROM test ORDER BY y DESC) AS tab;
returns <replaceable class="parameter">value</replaceable> evaluated at
the row that is <replaceable class="parameter">offset</replaceable>
rows after the current row within the partition; if there is no such
- row, instead return <replaceable class="parameter">default</replaceable>.
+ row, instead return <replaceable class="parameter">default</replaceable>
+ (which must be of the same type as
+ <replaceable class="parameter">value</replaceable>).
Both <replaceable class="parameter">offset</replaceable> and
<replaceable class="parameter">default</replaceable> are evaluated
with respect to the current row. If omitted,
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /