List:Commits« Previous MessageNext Message »
From:pharvey Date:October 8 2006 12:38am
Subject:Connector/ODBC 5 commit: r580 - in trunk: . SDK/MYSQLPlus/Library
View as plain text  
Modified:
   trunk/SDK/MYSQLPlus/Library/MConnection.cpp
   trunk/SDK/MYSQLPlus/Library/MDiagnosticRecord.cpp
   trunk/SDK/MYSQLPlus/Library/MStatement.cpp
   trunk/connector-odbc.vpw
Log:
ENH: Make behave more like some other drivers to get MS Access working.

Modified: trunk/SDK/MYSQLPlus/Library/MConnection.cpp
===================================================================
--- trunk/SDK/MYSQLPlus/Library/MConnection.cpp	2006-10-07 06:26:22 UTC (rev 579)
+++ trunk/SDK/MYSQLPlus/Library/MConnection.cpp	2006-10-08 00:38:08 UTC (rev 580)
@@ -271,9 +271,8 @@
 
                 MS Access tries to get/set this unknown attribute. Most drivers,
including C/ODBC v3
                 ignore it and return SQL_SUCCESS. 
-
-                We take exception to this.
             */
+            break;
 
         default:
             MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::STATE_HY092B ) );

Modified: trunk/SDK/MYSQLPlus/Library/MDiagnosticRecord.cpp
===================================================================
--- trunk/SDK/MYSQLPlus/Library/MDiagnosticRecord.cpp	2006-10-07 06:26:22 UTC (rev 579)
+++ trunk/SDK/MYSQLPlus/Library/MDiagnosticRecord.cpp	2006-10-08 00:38:08 UTC (rev 580)
@@ -207,6 +207,7 @@
         case SQL_DIAG_SQLSTATE:
             {
                 QString stringSQLState = getSQLState();
+                SQLWCHAR *p = (SQLWCHAR*)stringSQLState.utf16();
 
                 /* blank out dest */
                 for ( int nChar = 0; nChar < nBufferLength && nChar < 5;
nChar++ ) ((SQLWCHAR*)pDiagInfoPtr)[nChar] = '\0'; 
@@ -214,11 +215,11 @@
                 /* copy not more than min( 5, nBufferLength, stringSQLState.length() )
chars */
                 int nChars = min( nBufferLength, stringSQLState.length() );
                 nChars = min( nChars, 5 );
-                for ( int nChar = 0; nChar < nChars; nChar++ )
((SQLWCHAR*)pDiagInfoPtr)[nChar] = stringSQLState.at( nChar ).unicode(); 
+                for ( int nChar = 0; nChar <= nChars; nChar++ )
((SQLWCHAR*)pDiagInfoPtr)[nChar] = p[nChar]; 
 
                 /* string length (in bytes) */
-                *pnStringByteLength = max( nChars, 0 );
-                if ( *pnStringByteLength < 5 )
+                *pnStringByteLength = max( (nChars * sizeof(SQLWCHAR)), 0 );
+                if ( *pnStringByteLength < 5 * sizeof(SQLWCHAR) )
                     MYODBCDbgReturn( SQL_SUCCESS_WITH_INFO );
             }
             break;

Modified: trunk/SDK/MYSQLPlus/Library/MStatement.cpp
===================================================================
--- trunk/SDK/MYSQLPlus/Library/MStatement.cpp	2006-10-07 06:26:22 UTC (rev 579)
+++ trunk/SDK/MYSQLPlus/Library/MStatement.cpp	2006-10-08 00:38:08 UTC (rev 580)
@@ -494,6 +494,11 @@
         case SQL_ATTR_USE_BOOKMARKS:
             MYODBCDbgReturn( setUseBookmarks( (SQLUINTEGER)pValue )  );
 
+        case 1226:      /* MS SQL Server Extension */
+        case 1227:
+        case 1228:
+            break;
+
         default:
             MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::STATE_HY092B ) );
     }

Modified: trunk/connector-odbc.vpw
===================================================================
--- trunk/connector-odbc.vpw	2006-10-07 06:26:22 UTC (rev 579)
+++ trunk/connector-odbc.vpw	2006-10-08 00:38:08 UTC (rev 580)
@@ -4,6 +4,7 @@
 		<Project File="SDK/C/C.vpj" />
 		<Project File="SDK/C/Library/CLibrary.vpj" />
 		<Project File="connector-odbc.vpj" />
+		<Project File="../../connector-odbc3/trunk/connector-odbc3.vpj" />
 		<Project File="SDK/C/Tests/CTests.vpj" />
 		<Project File="SDK/Dbg/Dbg.vpj" />
 		<Project File="SDK/Dbg/Library/DbgLibrary.vpj" />
@@ -16,10 +17,13 @@
 		<Project File="SDK/Installer/Library/InsLibrary.vpj" />
 		<Project File="Tools/Installer/Installer.vpj" />
 		<Project File="SDK/Installer/Tests/InsTests.vpj" />
+		<Project File="../../connector-odbc3/trunk/myodbc3/myodbc3.vpj" />
+		<Project File="../../connector-odbc3/trunk/MYODBCDbg/MYODBCDbg.vpj" />
 		<Project File="../../mysql-include.vpj" />
 		<Project File="SDK/MYSQLPlus/MYSQLPlus.vpj" />
 		<Project File="SDK/MYSQLPlus/Library/MYSQLPlusLibrary.vpj" />
 		<Project File="SDK/MYSQLPlus/Tests/MYSQLPlusTests.vpj" />
+		<Project File="../../../PostgreSQL/psqlodbc-08.02.0100/psqlodbc.vpj" />
 		<Project File="Driver/Setup/Setup.vpj" />
 		<Project File="Driver/Setup/Library/SetupLibrary.vpj" />
 		<Project File="Driver/Setup/Tests/SetupTests.vpj" />

Thread
Connector/ODBC 5 commit: r580 - in trunk: . SDK/MYSQLPlus/Librarypharvey8 Oct