Re: patch (for 9.1) string functions

Поиск
Список
Период
Сортировка
От Itagaki Takahiro
Тема Re: patch (for 9.1) string functions
Дата
Msg-id AANLkTinMM-TNC8naXfj7Tag3Y25wxIxKsVd-fpmuYr94@mail.gmail.com
обсуждение исходный текст
Ответ на Re: patch (for 9.1) string functions  (Pavel Stehule <pavel.stehule@gmail.com>)
Ответы Re: patch (for 9.1) string functions  (Robert Haas <robertmhaas@gmail.com>)
Re: patch (for 9.1) string functions  ("Kevin Grittner" <Kevin.Grittner@wicourts.gov>)
Список pgsql-hackers
2010/7/9 Pavel Stehule <pavel.stehule@gmail.com>:
> I am sending a actualised patch
> * removed concat_json
> * renamed function rvsr to reverse
> * functions format, sprintf and concat* are stable now (as to_char for example)

I'd like to move all proposed functions into the core, and not to add
contrib/stringfunc.
I think those functions are very useful and worth adding in core.
* concat(), concat_ws(), reverse(), left() and right() are ready to commit.
* format() is almost ready, except consensus of NULL representation.
* sprintf() is also useful, but we cannot use swprintf() in it because there are many problems in converting to wide
chars.We should develop mbchar-aware version of %s formatter.
 
* IMHO, concat_sql() has very limited use cases. Boolean  and numeric values are not quoted, but still need
product-specificconversions because some DBs prefer 1/0 instead of true/false. Also, dblink_build_sql_insert() provides
similarfunctionality. Will
 
we have both?


> it worked on my station :( - Fedora 64bit
Still failed :-(  I used UTF8 database with *locale=C* on 64bit Linux.
char2wchar() doesn't seem to work on C locale. We should avoid
using the function and converting mb chars to wide chars.
 select sprintf('>>>%10s %10d<<<', 'hello', 10);
! server closed the connection unexpectedly
TRAP: FailedAssertion("!(!lc_ctype_is_c())", File: "mbutils.c", Line: 715)

#0  0x00000038c0c332f5 in raise () from /lib64/libc.so.6
#1  0x00000038c0c34b20 in abort () from /lib64/libc.so.6
#2  0x00000000006e951d in ExceptionalCondition (conditionName=<value
optimized out>, errorType=<value optimized out>, fileName=<value
optimized out>,   lineNumber=<value optimized out>) at assert.c:57
#3  0x00000000006fa8bf in char2wchar (to=0x1daf188 L"", tolen=16,
from=0x1da95b0 "%*s", fromlen=3) at mbutils.c:715
#4  0x00007f8e8c436d37 in stringfunc_sprintf (fcinfo=0x7fff9bdcd4b0)
at stringfunc.c:463

-- 
Itagaki Takahiro


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

Предыдущее
От: Itagaki Takahiro
Дата:
Сообщение: Re: patch: preload dictionary new version
Следующее
От: Robert Haas
Дата:
Сообщение: Re: patch (for 9.1) string functions