Subject | Re: [firebird-support] Re: ib_udf, fbudf & UTF-8 |
---|---|
Author | Paul Vinkenoog |
Post date | 2011-01-17T15:01:48Z |
Hi,
In Firebird 2.1, lots of new internal functions were added, making the ib_udf library as good as redundant.
I think you should assume that none of the UDF string functions support multi-byte character sets, but you can always have a look at the source:
http://firebird.cvs.sourceforge.net/viewvc/firebird/firebird2/src/extlib/
The internal functions all support multi-byte character sets. Wherever there are known limitations or serious bugs, they have been documented:
http://www.firebirdsql.org/refdocs/langrefupd21-intfunc.html
If you plan to move to UTF-8, I think you should also upgrade to at least Firebird 2.1. Otherwise you'll have to write your own mbpc-aware string functions.
Good luck,
Paul Vinkenoog
> The followings has CSTRING in or out parameters :No.
> lpad, rpad : UTF8 support?
> alternatives if not?Internal LPAD, RPAD, added in Firebird 2.1
> I assume that builtin function handles all kind of string correctly :That one doesn't exist. We have CHAR[ACTER]_LENGTH, OCTET_LENGTH and BIT_LENGTH.
> rtrim : builtin TRIM SQL function
> strlen : builtin LENGTH SQL function
> lpad, rpad : builtin LPAD, RPAD SQL function (we're currently support only fb 2.0.x, but these came form 2.1.x)Yes, but conversion should not be too hard.
> substr UDF and SUBSTRIGN builtin function has different syntax.
In Firebird 2.1, lots of new internal functions were added, making the ib_udf library as good as redundant.
I think you should assume that none of the UDF string functions support multi-byte character sets, but you can always have a look at the source:
http://firebird.cvs.sourceforge.net/viewvc/firebird/firebird2/src/extlib/
The internal functions all support multi-byte character sets. Wherever there are known limitations or serious bugs, they have been documented:
http://www.firebirdsql.org/refdocs/langrefupd21-intfunc.html
If you plan to move to UTF-8, I think you should also upgrade to at least Firebird 2.1. Otherwise you'll have to write your own mbpc-aware string functions.
Good luck,
Paul Vinkenoog