List:Commits« Previous MessageNext Message »
From:jbalint Date:January 31 2007 8:15pm
Subject:Connector/ODBC 5 commit: r782 - in trunk/SDK: C/Library MYSQLPlus/Library
View as plain text  
Modified:
   trunk/SDK/C/Library/MYODBCC.cpp
   trunk/SDK/MYSQLPlus/Library/MResultRes.cpp
   trunk/SDK/MYSQLPlus/Library/MResult_data_toSQL.cpp
Log:
Fixed sending NULL bytes as in parameters.
Fixed retrieving binary data from BINARY fields.

Modified: trunk/SDK/C/Library/MYODBCC.cpp
===================================================================
--- trunk/SDK/C/Library/MYODBCC.cpp	2007-01-29 21:27:08 UTC (rev 781)
+++ trunk/SDK/C/Library/MYODBCC.cpp	2007-01-31 20:15:58 UTC (rev 782)
@@ -407,8 +407,7 @@
         switch ( ((QChar)data[pos]).unicode() )
         {
             case 0:             /* Must be escaped for 'mysql' */
-                stringEscaped += '\\';
-                stringEscaped += data[pos];
+                stringEscaped += "\\0";
                 break;
             case '\n':              /* Must be escaped for logs */
                 stringEscaped += '\\';

Modified: trunk/SDK/MYSQLPlus/Library/MResultRes.cpp
===================================================================
--- trunk/SDK/MYSQLPlus/Library/MResultRes.cpp	2007-01-29 21:27:08 UTC (rev 781)
+++ trunk/SDK/MYSQLPlus/Library/MResultRes.cpp	2007-01-31 20:15:58 UTC (rev 782)
@@ -1248,14 +1248,20 @@
                 case MYSQL_TYPE_INT24:
                 case MYSQL_TYPE_YEAR:
                 case MYSQL_TYPE_NEWDATE:
-                case MYSQL_TYPE_VARCHAR:
                 case MYSQL_TYPE_ENUM:
                 case MYSQL_TYPE_SET:
-                case MYSQL_TYPE_STRING:
-                case MYSQL_TYPE_VAR_STRING:
                 case MYSQL_TYPE_GEOMETRY:
                     vectorRows[nRow][nColumn] = QString::fromUtf8( pRow[nColumn] );
                     break;
+                case MYSQL_TYPE_VARCHAR:
+                case MYSQL_TYPE_STRING:
+                case MYSQL_TYPE_VAR_STRING:
+                    if ( ! (pField->flags & BINARY_FLAG) )
+                    {
+                        vectorRows[nRow][nColumn] = QString::fromUtf8( pRow[nColumn] );
+                        break;
+                    }
+                    /* else treat as a binary... */
                 case MYSQL_TYPE_TINY_BLOB:
                 case MYSQL_TYPE_BLOB:
                 case MYSQL_TYPE_MEDIUM_BLOB:

Modified: trunk/SDK/MYSQLPlus/Library/MResult_data_toSQL.cpp
===================================================================
--- trunk/SDK/MYSQLPlus/Library/MResult_data_toSQL.cpp	2007-01-29 21:27:08 UTC (rev 781)
+++ trunk/SDK/MYSQLPlus/Library/MResult_data_toSQL.cpp	2007-01-31 20:15:58 UTC (rev 782)
@@ -216,9 +216,6 @@
             nReturn = doGetParameter();
             if ( !SQL_SUCCEEDED( nReturn ) )
                 MYODBCDbgReturn( nReturn );
-            nReturn = fromC( &stateExecute.statePutData );
-            if ( !SQL_SUCCEEDED( nReturn ) )
-                MYODBCDbgReturn( nReturn );
             stateExecute.nSegment++;
             stateExecute.vectorParameters.append( stateExecute.statePutData.variantData
);
     }

Thread
Connector/ODBC 5 commit: r782 - in trunk/SDK: C/Library MYSQLPlus/Libraryjbalint31 Jan