On 9/12/2010 9:22 AM, Tiago Espinha wrote:
Is this an okay behavior? Or would it be preferable to impose a more strict
limit where we assume that all characters take 4 bytes (worst case scenario in
UTF-8) and **always** cap the dbname length at 63 characters (255 bytes / 4
bytes)? This would mean more work for my implementation and possibly an
exclusion from 10.7. On the other hand, if we have this variable-length limit
depending on the type of characters used, we should probably have some sort of
release note alerting people about this fact.
Hi Tiago,
I don't think we should introduce any new limiting factors on embedded
as it may break existing applications. I am curious as to the existing
limits you found with embedded on Windows. Does that include the path
leading up the database name and the attributes or just the final
database name?
For network server we have this existing documentation which needs
modification with the introduction of UNICODEMGR.
http://db.apache.org/derby/docs/dev/adminguide/cadminappsclient.html
which says:
For both driver and DataSource access, the database name (including
path), user, password and other attribute values must consist of
single-byte characters that can be converted to EBCDIC. The total byte
length of the database name plus attributes when converted to EBCDIC
must not exceed 255 bytes. You may be able to work around this
restriction for long paths or paths that include multibyte characters by
setting the derby.system.home system property when starting Network
Server and accessing the database with a relative path that is shorter
and does not include multibyte characters.
This should be modified to remove the single byte character restriction
and change EBCDIC to UTF-8.
Thanks
Kathey