Is there any reason, why regexp_replace is not included in the tables of the
string functions?
http://developer.postgresql.org/docs/postgres/functions-string.html
The appended patch adds regexp_replace() and links to the pattern matching
section for substring / regexp_replace.
I noticed that in the table the declaration of the arguments is
inconsistent, for example:
lower(string)
ascii(text)
length(string text)
also in the sgml, there is sometimes "text" and sometimes
"<type>text</type>".
I'd fix that if someone told me what the preferred (if any) form is...
Joachim
diff -cr cvs/pgsql/doc/src/sgml/func.sgml cvs.build/pgsql/doc/src/sgml/func.sgml
*** cvs/pgsql/doc/src/sgml/func.sgml 2006-05-15 22:59:38.000000000 +0200
--- cvs.build/pgsql/doc/src/sgml/func.sgml 2006-05-18 01:34:26.000000000
+0200
***************
*** 1112,1118 ****
<entry><literal><function>substring</function>(<parameter>string</parameter>
from <replaceable>pattern</replaceable>)</literal></entry>
<entry><type>text</type></entry>
<entry>
! Extract substring matching POSIX regular expression
</entry>
<entry><literal>substring('Thomas' from '...$')</literal></entry>
<entry><literal>mas</literal></entry>
--- 1112,1120 ----
<entry><literal><function>substring</function>(<parameter>string</parameter>
from <replaceable>pattern</replaceable>)</literal></entry>
<entry><type>text</type></entry>
<entry>
! Extract substring matching POSIX regular expression. See
! <xref linkend="functions-matching"> for more information on pattern
! matching.
</entry>
<entry><literal>substring('Thomas' from '...$')</literal></entry>
<entry><literal>mas</literal></entry>
***************
*** 1122,1129 ****
<entry><literal><function>substring</function>(<parameter>string</parameter>
from <replaceable>pattern</replaceable> for
<replaceable>escape</replaceable>)</literal></entry>
<entry><type>text</type></entry>
<entry>
! Extract substring matching <acronym>SQL</acronym> regular
! expression
</entry>
<entry><literal>substring('Thomas' from '%#"o_a#"_' for
'#')</literal></entry>
<entry><literal>oma</literal></entry>
--- 1124,1132 ----
<entry><literal><function>substring</function>(<parameter>string</parameter>
from <replaceable>pattern</replaceable> for
<replaceable>escape</replaceable>)</literal></entry>
<entry><type>text</type></entry>
<entry>
! Extract substring matching <acronym>SQL</acronym> regular expression.
! See <xref linkend="functions-matching"> for more information on
! pattern matching.
</entry>
<entry><literal>substring('Thomas' from '%#"o_a#"_' for
'#')</literal></entry>
<entry><literal>oma</literal></entry>
***************
*** 1422,1427 ****
--- 1425,1442 ----
</row>
<row>
+
<entry><literal><function>regexp_replace</function>(<parameter>string</parameter>
<type>text</type>, <parameter>pattern</parameter> <type>text</type>,
<parameter>replacement</parameter> <type>text</type>
[,<parameter>flags</parameter> <type>text</type>])</literal></entry>
+ <entry><type>text</type></entry>
+ <entry>
+ Replace substring matching POSIX regular expression. See
+ <xref linkend="functions-matching"> for more information on pattern
+ matching.
+ </entry>
+ <entry><literal>regexp_replace('Thomas', '.[mN]a.',
'M')</literal></entry>
+ <entry><literal>ThM</literal></entry>
+ </row>
+
+ <row>
<entry><literal><function>repeat</function>(<parameter>string</parameter>
<type>text</type>, <parameter>number</parameter>
<type>int</type>)</literal></entry>
<entry><type>text</type></entry>
<entry>Repeat <parameter>string</parameter> the specified
---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings