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
Re: patch (for 9.1) string functions |
Список | 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 по дате отправления: