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/Library | jbalint | 31 Jan |