Is the CSTRING length in bytes or in chars?

When creating an udf with CSTRING(32660) in a UTF8 database, it fails (using 2.5.8 here) with:

SQL Message : -204
Undefined name

Engine Code    : 335544569
Engine Message :
Dynamic SQL Error
SQL error code = -204
Data type unknown
Implementation limit exceeded
COLUMN DSQL internal

Doing the same in a WIN1252 database works just fine.

The Firebird 2.5 language reference says

"As well as the SQL types, the CSTRING type is available for specifying a null-terminated string with a maximum length of LENGTH bytes."

The InterBase 6.0 Developers Guide says:

"a CSTRING type of a specified maximum byte length."
and
"CSTRING (int) Specifies a UDF that returns a null-terminated string int bytes in length"

Similarly the InterBase 6.0 Language Reference says:

"CSTRING (int) Specifies a UDF that returns a null-terminated string int bytes in length"

I think this is a bug, do you agree?
--
Mark Rotteveel

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to