summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTimothy Pearson <[email protected]>2016-02-22 12:13:14 -0600
committerTimothy Pearson <[email protected]>2016-02-22 12:13:14 -0600
commit709f7e70b0a12749ab34f47a16946374bcb887bd (patch)
tree4ea4d7ad96013d59df635dbed2d8cb76c1883f0d
parent9fe256ac6ce302572f46bad25f52092fdf9e63c5 (diff)
downloadqt3-709f7e70b0a12749ab34f47a16946374bcb887bd.tar.gz
qt3-709f7e70b0a12749ab34f47a16946374bcb887bd.zip
Properly implement MySQL reconnect support
-rw-r--r--src/sql/drivers/mysql/qsql_mysql.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/sql/drivers/mysql/qsql_mysql.cpp b/src/sql/drivers/mysql/qsql_mysql.cpp
index 4b576d9..5296f71 100644
--- a/src/sql/drivers/mysql/qsql_mysql.cpp
+++ b/src/sql/drivers/mysql/qsql_mysql.cpp
@@ -495,6 +495,7 @@ bool QMYSQLDriver::open( const QString& db,
return FALSE;
}
+ my_bool reconnect = 0;
for ( it = opts.begin(); it != opts.end(); ++it ) {
QString opt( (*it).upper() );
if ( opt == "CLIENT_COMPRESS" )
@@ -512,11 +513,13 @@ bool QMYSQLDriver::open( const QString& db,
else if ( opt == "CLIENT_SSL" )
clientOptionFlags |= CLIENT_SSL;
else if ( opt == "MYSQL_OPT_RECONNECT" )
- mysql_options(d->mysql, MYSQL_OPT_RECONNECT, NULL);
- else
+ reconnect = 1;
+ else
qWarning( "QMYSQLDriver::open: Unknown connect option '%s'", (*it).latin1() );
}
+ mysql_options(d->mysql, MYSQL_OPT_RECONNECT, &reconnect);
+
if ( mysql_real_connect( d->mysql,
host,
user,