CLSQL Version 5

Kevin Rosenberg <kevin-HJRc7zDS/[email protected]>
Newsgroups gmane.lisp.clsql.general
Message-ID <[email protected]>
I just released CLSQL version 5.0.0. The good news is that this release, 
along with UFFI version 1.8.1, provides formal support for non-ASCII strings.
Previously, such support was scattered about and considered strings to be UTF-8
on some platforms. Now, the encoding of the character data can be formally specified.
I trust this will help most international users.

The bad news is, like each time I incremented the major version, there is
the possibility of some backward incompatibility for people who are using
non-ASCII strings. While I tried to avoid such problem everywhere that I looked,
it is possible that the now explicitly set character encoding will override
some previous default behavior of the implementation.

To see how to use the character set encoding, please refer to tests/test-i18n.lisp.
A list of supported encodings is in UFFI's src/i18n.lisp. The manuals for UFFI and
CLSQL have not yet been updated with the new functionality.

I'd welcome any additions to the test-i18n.lisp, especially for :EUC-JP and
:GBK character sets. For ease of editing and viewing varied character sets, at some point 
I'll split that file to files named such as test-i18n-utf8 and test-i18n-gbk.

Lastly, while string conversions currently use UFFI:*DEFAULT-FOREIGN-ENCODING*, I have
not yet added support to send commands to the underlying SQL engine to alter the
character encoding that the SQL engine is expecting. Additionally, in the near 
future rather than using only UFFI:*DEFAULT-FOREIGN-ENCODING* to specify the 
character set, a foreign encoding will be able to be optionally set on database objects.
This will override the global *DEFAULT-FOREIGN-ENCODING* and all string conversions
for that database will use its specified encoding.

I expect a number of changes in the near future with character encoding. I'd be
glad to get bug reports, comments, and patches from users. Like all previous major 
version upgrades, I would not recommend using this significant change in a production
environment until the new version has been more widely tested and the expected additional 
functionality listed above is implemented.

Kevin
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.