On Thu, Sep 5, 2013 at 09:59:13PM -0400, Tom Lane wrote: > Bruce Momjian <br...@momjian.us> writes: > > On Thu, Sep 5, 2013 at 08:37:44PM -0400, Bruce Momjian wrote: > >> Why doesn't the 'g' flag appear in this table? > >> http://www.postgresql.org/docs/9.2/static/functions-matching.html#POSIX-EMBEDDED-OPTIONS-TABLE > > > Is it because the table has generic pattern modififers and 'g' only is > > relevant for regexp_replace? I assume so. > > The table is specifically about ARE options, and 'g' is *not* one of > those. Adding 'g' to the table would be wrong. > > It does seem to me to be a bit confusing that the text description of > substring() mentions 'i' and 'g' explicitly, when only 'i' is listed in > the table. You could make a case for phrasing along the line of > "substring() supports the 'g' flag that specifies ..., as well as all the > flags listed in Table 9-19". On the other hand, 'i' is the most useful of > the flags listed in the table by several country miles, and it doesn't > seem quite right to make people go off and consult the table to find out > about it. > > Not sure whether there's any real improvement that can be made here, > but I suppose it'd be nice if the text descriptions of substring() and > regexp_replace() handled this matter in the same way ...
I went ahead and just explicitly documented that 'g' is not in the table. -- Bruce Momjian <br...@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + Everyone has their own god. +
diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml index 9c2708c..252539f 100644 --- a/doc/src/sgml/func.sgml +++ b/doc/src/sgml/func.sgml @@ -3984,7 +3984,8 @@ substring('foobar' from 'o(.)b') <lineannotation>o</lineannotation> string containing zero or more single-letter flags that change the function's behavior. Flag <literal>i</> specifies case-insensitive matching, while flag <literal>g</> specifies replacement of each matching - substring rather than only the first one. Other supported flags are + substring rather than only the first one. Supported flags (though + not <literal>g</>) are described in <xref linkend="posix-embedded-options-table">. </para> @@ -4021,8 +4022,9 @@ regexp_replace('foobarbaz', 'b(..)', E'X\\1Y', 'g') string containing zero or more single-letter flags that change the function's behavior. Flag <literal>g</> causes the function to find each match in the string, not only the first one, and return a row for - each such match. Other supported - flags are described in <xref linkend="posix-embedded-options-table">. + each such match. Supported flags (though + not <literal>g</>) + are described in <xref linkend="posix-embedded-options-table">. </para> <para>
-- Sent via pgsql-docs mailing list (pgsql-docs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-docs