[odb-users] another test from odb-tests-2.1.1 fails with
mariadb-5.5.28a
Hugo.Mildenberger at web.de
Hugo.Mildenberger at web.de
Fri Feb 1 16:56:45 EST 2013
Hi Boris
On Fri, 1 Feb 2013 15:14:01 +0200
Boris Kolpackov <boris at codesynthesis.com> wrote:
> Ok, so this seems to be MariaDB 5.5-specific. I just tried the tests
> with the latest MySQL (5.5.29), that is, using both MySQL 5.5.29 (as
> packaged by Debian) and libmysqlclient headers/libraries (as provided
> by Oracle). Everything works fine.
>
> So I tend to think this is either a MariaDB bug or a setup issue.
> Regarding the possible setup issue, one thing that might be worth
> checking is that you are using libmysqlclient from 5.5 as opposed
> to 5.1. Though for me everything works fine with both 5.5 and 5.1
> clients.
That is one reason why I use a source code distribution. And no, the
'libmysqlclient.so' will get freshly installed each time. I also removed
/var/lib/mysql, restarted the server and recompiled libodb-mysql when
I changed mariadb versions.
MySQL-5.5.29 runs fine here too, but MariaDB-5.5.2{8,9} do not.
Here is an excerpt from a server side trace which looks interesting:
187 Execute INSERT INTO `boost_mysql_dt_object_times` (`object_id`,`index`,`value`) VALUES (1,0,'')
187 Reset stmt
187 Execute INSERT INTO `boost_mysql_dt_object_times` (`object_id`,`index`,`value`) VALUES (1,1,NULL)
187 Reset stmt
187 Execute INSERT INTO `boost_mysql_dt_object_times` (`object_id`,`index`,`value`) VALUES (1,2,'')
187 Reset stmt
187 Execute INSERT INTO `boost_mysql_dt_object_times` (`object_id`,`index`,`value`) VALUES (1,3,'')
This fits with the output from a manual select:
select * from boost_mysql_dt_object_times;
+-----------+-------+---------------------+
| object_id | index | value |
+-----------+-------+---------------------+
| 1 | 0 | 0000-00-00 00:00:00 |
| 1 | 1 | NULL |
| 1 | 2 | 0000-00-00 00:00:00 |
| 1 | 3 | 0000-00-00 00:00:00 |
+-----------+-------+---------------------+
Now, how to proceed? I finally persuaded libmysqlclient to create a trace file,
but it did not contain anything useful. The trace flags are apparently only
documented in the source code... what a mess.
I tried MYSQL_DEBUG=d:t:o:f,/tmp/client4.trace, but I certainly missed
just the significant one. As an aside, I had to set MYSQL_DEBUG in the
driver script inside of func_exec_program_core(). Neither exporting MYSQL_DEBUG
nor setting --debug= in ../../../db.options did work. Maybe you have an idea
for a strategic place where to put trace statements.
Hugo
More information about the odb-users
mailing list