Branch: r14.0.x

eae0369d 2016-02-26 18:15:30 Timothy Pearson
Automated update from Qt3

(cherry picked from commit 3add7b436c617c6a45b72cca11878ee3b648cf33)
M src/sql/drivers/mysql/qsql_mysql.cpp
diff --git a/src/sql/drivers/mysql/qsql_mysql.cpp b/src/sql/drivers/mysql/qsql_mysql.cpp
index aad8462..9d49c96 100644
--- a/src/sql/drivers/mysql/qsql_mysql.cpp
+++ b/src/sql/drivers/mysql/qsql_mysql.cpp
@@ -466,7 +466,7 @@
     if ( isOpen() )
 	close();
  
-    unsigned int optionFlags = 0;
+    unsigned int clientOptionFlags = 0;
     
     TQStringList raw = TQStringList::split( ';', connOpts );
     TQStringList opts;
@@ -487,38 +487,44 @@
 	    opts << tmp;
 	}
     }
-    
+
+    if (!(d->mysql = mysql_init((MYSQL*) 0))) {
+	    setLastError( qMakeError( "Unable to connect", TQSqlError::Connection, d ) );
+	    mysql_close( d->mysql );
+	    setOpenError( TRUE );
+	    return FALSE;
+    }
+
     for ( it = opts.begin(); it != opts.end(); ++it ) {
 	TQString opt( (*it).upper() );
 	if ( opt == "CLIENT_COMPRESS" )
-	    optionFlags |= CLIENT_COMPRESS;
+	    clientOptionFlags |= CLIENT_COMPRESS;
 	else if ( opt == "CLIENT_FOUND_ROWS" )
-	    optionFlags |= CLIENT_FOUND_ROWS;
+	    clientOptionFlags |= CLIENT_FOUND_ROWS;
 	else if ( opt == "CLIENT_IGNORE_SPACE" )
-	    optionFlags |= CLIENT_IGNORE_SPACE;
+	    clientOptionFlags |= CLIENT_IGNORE_SPACE;
 	else if ( opt == "CLIENT_INTERACTIVE" )
-	    optionFlags |= CLIENT_INTERACTIVE;
+	    clientOptionFlags |= CLIENT_INTERACTIVE;
 	else if ( opt == "CLIENT_NO_SCHEMA" )
-	    optionFlags |= CLIENT_NO_SCHEMA;
+	    clientOptionFlags |= CLIENT_NO_SCHEMA;
 	else if ( opt == "CLIENT_ODBC" )
-	    optionFlags |= CLIENT_ODBC;
+	    clientOptionFlags |= CLIENT_ODBC;
 	else if ( opt == "CLIENT_SSL" )
-	    optionFlags |= CLIENT_SSL;
+	    clientOptionFlags |= CLIENT_SSL;
 	else if ( opt == "MYSQL_OPT_RECONNECT" )
-	    optionFlags |= MYSQL_OPT_RECONNECT;
+	    mysql_options(d->mysql, MYSQL_OPT_RECONNECT, NULL);
 	else 
 	    tqWarning( "TQMYSQLDriver::open: Unknown connect option '%s'", (*it).latin1() );
     }
 
-    if ( (d->mysql = mysql_init((MYSQL*) 0)) &&
-	    mysql_real_connect( d->mysql,
+    if ( mysql_real_connect( d->mysql,
 				host,
 				user,
 				password,
 				db.isNull() ? TQString("") : db,
 				(port > -1) ? port : 0,
 				NULL,
-				optionFlags ) )
+				clientOptionFlags ) )
     {
 	if ( !db.isEmpty() && mysql_select_db( d->mysql, db )) {
 	    setLastError( qMakeError("Unable open database '" + db + "'", TQSqlError::Connection, d ) );
688cd47b 2016-02-26 18:15:53 Timothy Pearson
Automated update from Qt3

(cherry picked from commit b99016b854c76cef7bb7869faeadc9e0ce398db7)
M src/sql/drivers/mysql/qsql_mysql.cpp
diff --git a/src/sql/drivers/mysql/qsql_mysql.cpp b/src/sql/drivers/mysql/qsql_mysql.cpp
index 9d49c96..9d2f6c5 100644
--- a/src/sql/drivers/mysql/qsql_mysql.cpp
+++ b/src/sql/drivers/mysql/qsql_mysql.cpp
@@ -495,6 +495,7 @@
 	    return FALSE;
     }
 
+    my_bool reconnect = 0;
     for ( it = opts.begin(); it != opts.end(); ++it ) {
 	TQString opt( (*it).upper() );
 	if ( opt == "CLIENT_COMPRESS" )
@@ -512,11 +513,13 @@
 	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
 	    tqWarning( "TQMYSQLDriver::open: Unknown connect option '%s'", (*it).latin1() );
     }
 
+    mysql_options(d->mysql, MYSQL_OPT_RECONNECT, &reconnect);
+
     if ( mysql_real_connect( d->mysql,
 				host,
 				user,