[Development] CI for MySQL/Maria DB Qt SQL

Milian Wolff milian.wolff at kdab.com
Mon Dec 22 18:12:25 CET 2014


Hello all,

I'm wondering about the status of Qt SQL support for MySQL/Maria DB. I've run 
the tests locally and quite a few of them fail. One, I've fixed and will push 
a patch, but others are pretty broken and I wonder why:

a) tst_QSqlQuery::task_205701 -> this one is pretty funky, the test "hangs" 
until a connect times out, but the backtrace is pretty odd:

#0  0x00007ffff770a5f0 in __connect_nocancel () from /usr/lib/libpthread.so.0
#1  0x00007ffff3259ec5 in mysql_read_query_result () from 
/usr/lib/libmysqlclient.so.18
#2  0x00007ffff325f485 in mysql_real_connect () from 
/usr/lib/libmysqlclient.so.18
#3  0x00007ffff7f7f1f8 in QMYSQLDriver::open (this=0x7, db="", 
    user=<error reading variable: Cannot access memory at address 0x10>, 
    password=<error reading variable: Cannot access memory at address 
0xffffffffffffffff>, 
    host=<error reading variable: Cannot access memory at address 0x3>, 
port=512, connOpts="")
    at 
/ssd/milian/projects/qt5/qtbase/src/sql/drivers/mysql/qsql_mysql.cpp:1280
#4  0x00007ffff7fcad74 in QSqlDatabase::open (this=this at entry=0x7fffffffc2c0)
    at /ssd/milian/projects/qt5/qtbase/src/sql/kernel/qsqldatabase.cpp:835
#5  0x00000000004196d8 in tst_QSqlQuery::task_205701 (this=<optimized out>)
    at 
/ssd/milian/projects/qt5/qtbase/tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp:2899

Note the "this=0x7" in QMYSQLDriver::open... 

b) tst_QSqlQuery::aggregateFunctionTypes fails for me, since the type returned 
for e.g. MIN() is QVariant::Int and _not_ QVariant::LongLong which is 
explicitly set as the expected value for MySQL and PostgreSQL. So what is 
correct here?

So before I spent more time on this, I wonder whether the results I show above 
are "expected failures" and due to incompatibilities of MariaDB (10.0.15) to 
the MySQL versions which where used to create the tests? Are these tests run 
on the CI? I wonder, b/c nearly everything in tst_Databases::addDbs is 
commented out... Could it be that no tests except for SQLite are ever run?

Bye
-- 
Milian Wolff | milian.wolff at kdab.com | Software Engineer
KDAB (Deutschland) GmbH&Co KG, a KDAB Group company
Tel. Germany +49-30-521325470, Sweden (HQ) +46-563-540090
KDAB - Qt Experts - Platform-independent software solutions




More information about the Development mailing list