CLSQL 4.1.0 fixes critical memory error with latest mysqlclient
Kevin Rosenberg <kevin-HJRc7zDS/[email protected]>
| Newsgroups | gmane.lisp.clsql.general |
|---|---|
| Message-ID | <[email protected]> |
The latest version of the libmysqlclient causes memory access errors
in CLSQL due to the changed C structures. This recurring problem has
been permanently fixed as described in the excerpt from the ChangeLog:
* Version 4.1.0
* db-mysql/mysql-{sql,api}.lisp,db-mysql/clsql_mysql.c:
Latest version of mysqlclient once again changed the C
structures from which the mysql backend reads data.
Rather than adding yet another structure definition which
is enabled by the client version as read by mysql-client-info.lisp,
the mysql backend has been re-written to ignore in the internal
C structures. Instead, C wrapper functions for slot access have
been added to clsql_mysql.c and are used by mysql-sql.lisp to
access the internals of C structures. This adds a bit of
overhead, but completely separates the lisp code from trying to keep up
with the continually changing internal C structure of mysql.
All tests in the test suite executed correctly with this change.
--
Kevin Rosenberg
kevin-HJRc7zDS/[email protected]