Correction to 'translate' function in postgresql

Поиск
Список
Период
Сортировка
От Pedro Zorzenon Neto
Тема Correction to 'translate' function in postgresql
Дата
Msg-id 20030924231111.GA2249@mantis.autsens.localnet
обсуждение исходный текст
Список pgsql-bugs
Please send a carbon copy of replies to me, as I am not a subscriber
of any postgresql mailing list.

Hi folks,

  I noticed that I can use the string function "translate" to remove
unwanted characters from strings, this way:

      translate(tablefield, '-_. ', '');

  This will remove all hifens, underscores, dots and spaces.

  However, reading the postgres-user-guide, I noticed that this is a
undocumented feature, so I read the source codes to see if this was
desired or just a bug. In the function code of translate, I can read in
the comments that removing characters without correspondence was what
the developer desired. Then this should be add to docs, so other people
whose need this can also use it.

  Below is a patch for it.

  Thanks for postgresql, it is a really great software!

  Bye,
   Pedro

--
  .''`.   Pedro Zorzenon Neto <pzn@terra.com.br>
 : :'  :  Debian GNU/Linux | GNU/Hurd: <http://www.debian.org>
 `. `'`   Debian BR: <http://debian-br.cipsga.org.br>
   `-     Be Happy! Be FREE!

--- doc/src/sgml/func.sgml.orig    Wed Sep 24 19:56:38 2003
+++ doc/src/sgml/func.sgml    Wed Sep 24 19:58:30 2003
@@ -1307,7 +1307,9 @@
         Any character in <parameter>string</parameter> that matches a
         character in the <parameter>from</parameter> set is replaced by
         the corresponding character in the <parameter>to</parameter>
-        set.
+        set. If <parameter>from</parameter> is longer than
+        <parameter>to</parameter>, occurrences of the extra characters
+        in <parameter>from</parameter> are deleted.
        </entry>
        <entry><literal>translate('12345', '14', 'ax')</literal></entry>
        <entry><literal>a23x5</literal></entry>

В списке pgsql-bugs по дате отправления:

Предыдущее
От: Viacheslav N Tararin
Дата:
Сообщение: Rule execution bug
Следующее
От: Andreas Pflug
Дата:
Сообщение: Re: Postgresql 'eats' all mi data partition