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

Reply via email to