diff options
author | Rhys Weatherley <rhys.weatherley@nokia.com> | 2009-09-22 02:36:02 (GMT) |
---|---|---|
committer | Rhys Weatherley <rhys.weatherley@nokia.com> | 2009-09-22 02:36:02 (GMT) |
commit | 07a7b69cd5662674ec6ac0c7ba0f874baf854b4c (patch) | |
tree | d6d100d6b6db37902b4b91c1d109211ae2ef8144 /src/sql/drivers/mysql/qsql_mysql.cpp | |
parent | 8416ae1af3f13ad865b25a87e3e94e298b3a0ca2 (diff) | |
parent | 21a71222c30214635cb369bedad43bc1e72f05be (diff) | |
download | Qt-07a7b69cd5662674ec6ac0c7ba0f874baf854b4c.zip Qt-07a7b69cd5662674ec6ac0c7ba0f874baf854b4c.tar.gz Qt-07a7b69cd5662674ec6ac0c7ba0f874baf854b4c.tar.bz2 |
Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt into 4.6
Diffstat (limited to 'src/sql/drivers/mysql/qsql_mysql.cpp')
-rw-r--r-- | src/sql/drivers/mysql/qsql_mysql.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/sql/drivers/mysql/qsql_mysql.cpp b/src/sql/drivers/mysql/qsql_mysql.cpp index 10422ff..f368d1d 100644 --- a/src/sql/drivers/mysql/qsql_mysql.cpp +++ b/src/sql/drivers/mysql/qsql_mysql.cpp @@ -1213,6 +1213,9 @@ bool QMYSQLDriver::open(const QString& db, unsigned int optionFlags = Q_CLIENT_MULTI_STATEMENTS; const QStringList opts(connOpts.split(QLatin1Char(';'), QString::SkipEmptyParts)); QString unixSocket; +#if MYSQL_VERSION_ID >= 50000 + my_bool reconnect=false; +#endif // extract the real options from the string for (int i = 0; i < opts.count(); ++i) { @@ -1223,6 +1226,12 @@ bool QMYSQLDriver::open(const QString& db, QString opt = tmp.left(idx).simplified(); if (opt == QLatin1String("UNIX_SOCKET")) unixSocket = val; +#if MYSQL_VERSION_ID >= 50000 + else if (opt == QLatin1String("MYSQL_OPT_RECONNECT")) { + if (val == QLatin1String("TRUE") || val == QLatin1String("1") || val.isEmpty()) + reconnect = true; + } +#endif else if (val == QLatin1String("TRUE") || val == QLatin1String("1")) setOptionFlag(optionFlags, tmp.left(idx).simplified()); else @@ -1255,6 +1264,10 @@ bool QMYSQLDriver::open(const QString& db, setOpenError(true); return false; } +#if MYSQL_VERSION_ID >= 50000 + if(reconnect) + mysql_options(d->mysql, MYSQL_OPT_RECONNECT, &reconnect); +#endif } else { setLastError(qMakeError(tr("Unable to connect"), QSqlError::ConnectionError, d)); |