List:Commits« Previous MessageNext Message »
From:jbalint Date:December 13 2006 9:23pm
Subject:Connector/ODBC 5 commit: r745 - in trunk: . SDK/MYSQLPlus/Library
View as plain text  
Modified:
   trunk/ChangeLog
   trunk/Install.bat
   trunk/SDK/MYSQLPlus/Library/MCommand.cpp
   trunk/SDK/MYSQLPlus/Library/MConnection.cpp
   trunk/SDK/MYSQLPlus/Library/MStatement.cpp
   trunk/Uninstall.bat
   trunk/VersionInfo.h
Log:
Fixed return for server sanity check in MConnection.
Added case-insensitivity for checking statement type in MCommand.
Fixed handling of tx-capable in MStatement. (bug#25045)
Added bug #'s to ChangeLog.
Removed PAUSE calls from build scripts so it doesn't interfere with automated nightly
builds.
Inv ver #'s for next dev cycle.

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2006-12-13 18:31:18 UTC (rev 744)
+++ trunk/ChangeLog	2006-12-13 20:23:56 UTC (rev 745)
@@ -6,14 +6,13 @@
 ---------------------------------------------
 11-DEC-2006 (5.00.10 Beta6)
 ---------------------------------------------
--- FIX: String query parameters are escaped correctly.
--- ENH: Added wide-string type info for SQLGetTypeInfo.
--- ENH: Added loose handling of retrieving some diagnostic data.
--- ENH: Added initial support for calling stored procedures.
--- ENH: Added initial unicode support in data and metadata.
--- ENH: Significant performance improvement when retrieving large text fields
-in pieces.
--- FIX: Editing DSN no longer crashes ODBC data source administrator.
+-- FIX: String query parameters are new escaped correctly. (fix bug#19078)
+-- ENH: Added wide-string type info for SQLGetTypeInfo().
+-- ENH: Added loose handling of retrieving some diagnostic data. (fix bug#15782)
+-- ENH: Added initial support for removing braces when calling stored procedures and
retrieving result sets from procedure calls. (fix bug#24485)
+-- ENH: Added initial unicode support in data and metadata. (fix bug#24837)
+-- ENH: Significant performance improvement when retrieving large text fields in pieces
using SQLGetData() with a buffer smaller than the whole data. Mainly used in Access when
fetching very large text fields. (fix bug#24876)
+-- FIX: Editing DSN no longer crashes ODBC data source administrator. (fix bug#24675)
 
 ---------------------------------------------
 20-NOV-2006 (5.00.09 Beta5)

Modified: trunk/Install.bat
===================================================================
--- trunk/Install.bat	2006-12-13 18:31:18 UTC (rev 744)
+++ trunk/Install.bat	2006-12-13 20:23:56 UTC (rev 745)
@@ -95,7 +95,6 @@
 ECHO "| Build.bat.                                          |"
 ECHO "|                                                     |"
 ECHO "+-----------------------------------------------------+"
-PAUSE
 EXIT /B 1
 
 :doError3
@@ -107,7 +106,6 @@
 ECHO "| Build.bat.                                          |"
 ECHO "|                                                     |"
 ECHO "+-----------------------------------------------------+"
-PAUSE
 EXIT /B 1
 
 :doError4
@@ -118,7 +116,6 @@
 ECHO "| Existing Connector/ODBC installed. Request ignored. |"
 ECHO "|                                                     |"
 ECHO "+-----------------------------------------------------+"
-PAUSE
 EXIT /B 1
 
 :doSyntax

Modified: trunk/SDK/MYSQLPlus/Library/MCommand.cpp
===================================================================
--- trunk/SDK/MYSQLPlus/Library/MCommand.cpp	2006-12-13 18:31:18 UTC (rev 744)
+++ trunk/SDK/MYSQLPlus/Library/MCommand.cpp	2006-12-13 20:23:56 UTC (rev 745)
@@ -171,23 +171,23 @@
         - detect SELECT INTO
         - support for more keywords/types
     */
-    if ( this->stringCommand.startsWith( "SELECT " ) )
+    if ( this->stringCommand.startsWith( "SELECT ", Qt::CaseInsensitive ) )
         nType = COMMAND_TYPE_SELECT;
-    else if ( this->stringCommand.startsWith( "SHOW " ) )
+    else if ( this->stringCommand.startsWith( "SHOW ", Qt::CaseInsensitive ) )
         nType = COMMAND_TYPE_SHOW;
-    else if ( this->stringCommand.startsWith( "UPDATE " ) )
+    else if ( this->stringCommand.startsWith( "UPDATE ", Qt::CaseInsensitive ) )
         nType = COMMAND_TYPE_UPDATE;
-    else if ( this->stringCommand.startsWith( "DELETE " ) )
+    else if ( this->stringCommand.startsWith( "DELETE ", Qt::CaseInsensitive ) )
         nType = COMMAND_TYPE_DELETE;
-    else if ( this->stringCommand.startsWith( "INSERT " ) )
+    else if ( this->stringCommand.startsWith( "INSERT ", Qt::CaseInsensitive ) )
         nType = COMMAND_TYPE_INSERT;
-    else if ( this->stringCommand.startsWith( "CALL " ) )
+    else if ( this->stringCommand.startsWith( "CALL ", Qt::CaseInsensitive ) )
         nType = COMMAND_TYPE_CALL;
-    else if ( this->stringCommand.startsWith( "CREATE " ) )
+    else if ( this->stringCommand.startsWith( "CREATE ", Qt::CaseInsensitive ) )
         nType = COMMAND_TYPE_CREATE;
-    else if ( this->stringCommand.startsWith( "GRANT " ) )
+    else if ( this->stringCommand.startsWith( "GRANT ", Qt::CaseInsensitive ) )
         nType = COMMAND_TYPE_GRANT;
-    else if ( this->stringCommand.startsWith( "SET " ) )
+    else if ( this->stringCommand.startsWith( "SET ", Qt::CaseInsensitive ) )
         nType = COMMAND_TYPE_SET;
     else
         nType = COMMAND_TYPE_UNKNOWN;

Modified: trunk/SDK/MYSQLPlus/Library/MConnection.cpp
===================================================================
--- trunk/SDK/MYSQLPlus/Library/MConnection.cpp	2006-12-13 18:31:18 UTC (rev 744)
+++ trunk/SDK/MYSQLPlus/Library/MConnection.cpp	2006-12-13 20:23:56 UTC (rev 745)
@@ -1528,20 +1528,34 @@
 {
     MYODBCDbgEnter();
 
-    if ( !doServerAliveSanityCheck() || mysql_real_query( (MYSQL*)pMySQL,
stringCommand.toUtf8().data(), stringCommand.length() ) )
-        MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::STATE_HY000,
mysql_errno( (MYSQL*)pMySQL ), mysql_error( (MYSQL*)pMySQL ) ) );
+    QByteArray queryBytes = stringCommand.toUtf8();
 
+    if ( !doServerAliveSanityCheck() || mysql_real_query( (MYSQL*)pMySQL,
+            queryBytes.data(), queryBytes.length() ) )
+        MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::STATE_HY000,
+                mysql_errno( (MYSQL*)pMySQL ), mysql_error( (MYSQL*)pMySQL ) ) );
+
     MYODBCDbgReturn( SQL_SUCCESS );
 }
 
+/*!
+    \brief Check if the connection is still alive.
+
+           Based on the 'server alive sanity check interval', we
+           will decide whether or not to check if the connection
+           is dead.
+
+    \return TRUE if the the server is alive,
+            FALSE if the server is dead
+*/
 BOOL MConnection::doServerAliveSanityCheck()
-{    
+{
     if ( timeLastQuery.restart() >= getServerAliveSanityCheckInterval() )
     {
-        if ( getConnectionDead() == SQL_CD_FALSE )
+        if ( getConnectionDead() == SQL_CD_TRUE )
             MYODBCDbgReturn3( "%d", false );
     }
-    
+
     MYODBCDbgReturn3( "%d", true );
 }
 

Modified: trunk/SDK/MYSQLPlus/Library/MStatement.cpp
===================================================================
--- trunk/SDK/MYSQLPlus/Library/MStatement.cpp	2006-12-13 18:31:18 UTC (rev 744)
+++ trunk/SDK/MYSQLPlus/Library/MStatement.cpp	2006-12-13 20:23:56 UTC (rev 745)
@@ -6942,13 +6942,12 @@
             case SQL_TC_NONE:
                 break;
             case SQL_TC_DML:
+            case SQL_TC_DDL_COMMIT:
+            case SQL_TC_DDL_IGNORE:
                 if ( pCommand->isDataManipulationLanguage() )
                     nReturn = pConnection->doTransactionStart();
                 break;
-            case SQL_TC_DDL_COMMIT:
-            case SQL_TC_DDL_IGNORE:
-                break;
-            case SQL_TC_ALL:
+            case SQL_TC_ALL: /* TODO MySQL doesn't support this */
                 nReturn = pConnection->doTransactionStart();
             default:
                 delete pResult;

Modified: trunk/Uninstall.bat
===================================================================
--- trunk/Uninstall.bat	2006-12-13 18:31:18 UTC (rev 744)
+++ trunk/Uninstall.bat	2006-12-13 20:23:56 UTC (rev 745)
@@ -68,7 +68,6 @@
 ECHO "| Connector/ODBC does not appear to be installed.     |"
 ECHO "|                                                     |"
 ECHO "+-----------------------------------------------------+"
-PAUSE
 EXIT /B 1
 
 :doError3
@@ -80,7 +79,6 @@
 ECHO "| installed.                                          |"
 ECHO "|                                                     |"
 ECHO "+-----------------------------------------------------+"
-PAUSE
 EXIT /B 1
 
 :doSyntax

Modified: trunk/VersionInfo.h
===================================================================
--- trunk/VersionInfo.h	2006-12-13 18:31:18 UTC (rev 744)
+++ trunk/VersionInfo.h	2006-12-13 20:23:56 UTC (rev 745)
@@ -38,10 +38,10 @@
     qmake build.
 */
 /*@{*/
-#define MYODBC_VERSION        "5.00.10"  
-#define MYODBC_FILEVER        5,00,10,0
-#define MYODBC_PRODUCTVER     5,00,10,0
-#define MYODBC_STRFILEVER     "5, 00, 10, 0\0"
-#define MYODBC_STRPRODUCTVER  "5, 00, 10, 0\0"
+#define MYODBC_VERSION        "5.00.11"  
+#define MYODBC_FILEVER        5,00,11,0
+#define MYODBC_PRODUCTVER     5,00,11,0
+#define MYODBC_STRFILEVER     "5, 00, 11, 0\0"
+#define MYODBC_STRPRODUCTVER  "5, 00, 11, 0\0"
 /*@}*/
 

Thread
Connector/ODBC 5 commit: r745 - in trunk: . SDK/MYSQLPlus/Libraryjbalint13 Dec