List:Commits« Previous MessageNext Message »
From:pharvey Date:May 9 2006 3:41pm
Subject:Connector/ODBC 5 commit: r210 - MYSQLPlus/MYSQLPlusLib doc/Project
View as plain text  
Modified:
   MYSQLPlus/MYSQLPlusLib/MStatement.cpp
   doc/Project/SituationReport-20060512.ods
Log:


Modified: MYSQLPlus/MYSQLPlusLib/MStatement.cpp
===================================================================
--- MYSQLPlus/MYSQLPlusLib/MStatement.cpp	2006-05-09 04:59:53 UTC (rev 209)
+++ MYSQLPlus/MYSQLPlusLib/MStatement.cpp	2006-05-09 15:41:15 UTC (rev 210)
@@ -772,8 +772,16 @@
         \todo There are other rules to be checked here. See ODBC spec.
     */
     nReturn = pImpParamDesc->setDescField( nParameterNumber, SQL_DESC_PARAMETER_TYPE,
(SQLPOINTER)(SQLINTEGER)nInputOutputType, SQL_IS_SMALLINT );
-    if ( !SQL_SUCCEEDED( nReturn ) )
-        MYODBCDbgReturn( nReturn );
+    switch ( nReturn )
+    {
+        case SQL_SUCCESS:
+            break;
+        case SQL_SUCCESS_WITH_INFO:
+            bHasInfo = true;
+            break;
+        default:
+            MYODBCDbgReturn( nReturn );
+    }
 
     /*!
         \internal ODBC RULE 
@@ -783,8 +791,16 @@
         SQL_DESC_DATETIME_INTERVAL_CODE fields of the APD.
     */
     nReturn = pAppParamDesc->setDescField( nParameterNumber, SQL_DESC_CONCISE_TYPE,
(SQLPOINTER)(SQLINTEGER)nValueType, SQL_IS_SMALLINT );
-    if ( !SQL_SUCCEEDED( nReturn ) )
-        MYODBCDbgReturn( nReturn );
+    switch ( nReturn )
+    {
+        case SQL_SUCCESS:
+            break;
+        case SQL_SUCCESS_WITH_INFO:
+            bHasInfo = true;
+            break;
+        default:
+            MYODBCDbgReturn( nReturn );
+    }
 
     /*!
         \internal ODBC RULE
@@ -795,8 +811,16 @@
         SQL_DESC_DATETIME_INTERVAL_CODE fields of the IPD.
     */
     nReturn = pImpParamDesc->setDescField( nParameterNumber, SQL_DESC_CONCISE_TYPE,
(SQLPOINTER)(SQLINTEGER)nParameterType, SQL_IS_SMALLINT );
-    if ( !SQL_SUCCEEDED( nReturn ) )
-        MYODBCDbgReturn( nReturn );
+    switch ( nReturn )
+    {
+        case SQL_SUCCESS:
+            break;
+        case SQL_SUCCESS_WITH_INFO:
+            bHasInfo = true;
+            break;
+        default:
+            MYODBCDbgReturn( nReturn );
+    }
 
     /*!
         \internal ODBC RULE
@@ -820,8 +844,16 @@
         case SQL_REAL:
         case SQL_DOUBLE:
             nReturn = pImpParamDesc->setDescField( nParameterNumber,
SQL_DESC_PRECISION, (SQLPOINTER)nColumnSize, SQL_IS_UINTEGER );
-            if ( !SQL_SUCCEEDED( nReturn ) )
-                MYODBCDbgReturn( nReturn );
+            switch ( nReturn )
+            {
+                case SQL_SUCCESS:
+                    break;
+                case SQL_SUCCESS_WITH_INFO:
+                    bHasInfo = true;
+                    break;
+                default:
+                    MYODBCDbgReturn( nReturn );
+            }
             break;
 
         case SQL_CHAR:
@@ -847,13 +879,21 @@
         case SQL_INTERVAL_HOUR_TO_SECOND:
         case SQL_INTERVAL_MINUTE_TO_SECOND:
             nReturn = pImpParamDesc->setDescField( nParameterNumber, SQL_DESC_LENGTH,
(SQLPOINTER)nColumnSize, SQL_IS_UINTEGER );
-            if ( !SQL_SUCCEEDED( nReturn ) )
-                MYODBCDbgReturn( nReturn );
+            switch ( nReturn )
+            {
+                case SQL_SUCCESS:
+                    break;
+                case SQL_SUCCESS_WITH_INFO:
+                    bHasInfo = true;
+                    break;
+                default:
+                    MYODBCDbgReturn( nReturn );
+            }
             break;
     }
 
-    /*
-        \internal ODBC Rule
+    /*!
+        \internal ODBC RULE
 
         If ParameterType is SQL_TYPE_TIME, SQL_TYPE_TIMESTAMP, SQL_INTERVAL_SECOND, 
         SQL_INTERVAL_DAY_TO_SECOND, SQL_INTERVAL_HOUR_TO_SECOND, or 
@@ -867,8 +907,16 @@
         case SQL_NUMERIC:
         case SQL_DECIMAL:  
             nReturn = pImpParamDesc->setDescField( nParameterNumber, SQL_DESC_SCALE,
(SQLPOINTER)(SQLINTEGER)nDecimalDigits, SQL_IS_SMALLINT );
-            if ( !SQL_SUCCEEDED( nReturn ) )
-                MYODBCDbgReturn( nReturn );
+            switch ( nReturn )
+            {
+                case SQL_SUCCESS:
+                    break;
+                case SQL_SUCCESS_WITH_INFO:
+                    bHasInfo = true;
+                    break;
+                default:
+                    MYODBCDbgReturn( nReturn );
+            }
             break;
         case SQL_TYPE_TIME:
         case SQL_TYPE_TIMESTAMP:
@@ -877,58 +925,121 @@
         case SQL_INTERVAL_HOUR_TO_SECOND:
         case SQL_INTERVAL_MINUTE_TO_SECOND:
             nReturn = pImpParamDesc->setDescField( nParameterNumber,
SQL_DESC_PRECISION, (SQLPOINTER)(SQLINTEGER)nDecimalDigits, SQL_IS_SMALLINT );
-            if ( !SQL_SUCCEEDED( nReturn ) )
-                MYODBCDbgReturn( nReturn );
+            switch ( nReturn )
+            {
+                case SQL_SUCCESS:
+                    break;
+                case SQL_SUCCESS_WITH_INFO:
+                    bHasInfo = true;
+                    break;
+                default:
+                    MYODBCDbgReturn( nReturn );
+            }
             break;
     }
 
     /*! 
-        \internal ODBC Rule
+        \internal ODBC RULE
 
         There are many rules for this. See ODBC spec.
 
-        \todo Factor in the ODBC rules found in the spec.
+        \todo 
+
+        Factor in the ODBC rules found in the spec.
     */      
     nReturn = pAppParamDesc->setDescField( nParameterNumber, SQL_DESC_OCTET_LENGTH,
(SQLPOINTER)nBufferLen, SQL_IS_INTEGER );
-    if ( !SQL_SUCCEEDED( nReturn ) )
-        MYODBCDbgReturn( nReturn );
+    switch ( nReturn )
+    {
+        case SQL_SUCCESS:
+            break;
+        case SQL_SUCCESS_WITH_INFO:
+            bHasInfo = true;
+            break;
+        default:
+            MYODBCDbgReturn( nReturn );
+    }
 
     /*! 
-        \internal ODBC Rule
+        \internal ODBC RULE
 
         There are many rules for this. See ODBC spec.
 
-        \todo Factor in the ODBC rules found in the spec.
+        \todo 
+
+        Factor in the ODBC rules found in the spec.
     */
     if ( pnStrLenOrIndPtr && *pnStrLenOrIndPtr > 0 )
     {
         nReturn = pAppParamDesc->setDescField( nParameterNumber,
SQL_DESC_INDICATOR_PTR, pnStrLenOrIndPtr, SQL_IS_POINTER );
-        if ( !SQL_SUCCEEDED( nReturn ) )
-            MYODBCDbgReturn( nReturn );
+        switch ( nReturn )
+        {
+            case SQL_SUCCESS:
+                break;
+            case SQL_SUCCESS_WITH_INFO:
+                bHasInfo = true;
+                break;
+            default:
+                MYODBCDbgReturn( nReturn );
+        }
         nReturn = pAppParamDesc->setDescField( nParameterNumber,
SQL_DESC_OCTET_LENGTH_PTR, NULL, SQL_IS_POINTER );
-        if ( !SQL_SUCCEEDED( nReturn ) )
-            MYODBCDbgReturn( nReturn );
+        switch ( nReturn )
+        {
+            case SQL_SUCCESS:
+                break;
+            case SQL_SUCCESS_WITH_INFO:
+                bHasInfo = true;
+                break;
+            default:
+                MYODBCDbgReturn( nReturn );
+        }
     }
     else
     {
         nReturn = pAppParamDesc->setDescField( nParameterNumber,
SQL_DESC_OCTET_LENGTH_PTR, pnStrLenOrIndPtr, SQL_IS_POINTER );
-        if ( !SQL_SUCCEEDED( nReturn ) )
-            MYODBCDbgReturn( nReturn );
+        switch ( nReturn )
+        {
+            case SQL_SUCCESS:
+                break;
+            case SQL_SUCCESS_WITH_INFO:
+                bHasInfo = true;
+                break;
+            default:
+                MYODBCDbgReturn( nReturn );
+        }
         nReturn = pAppParamDesc->setDescField( nParameterNumber,
SQL_DESC_INDICATOR_PTR, NULL, SQL_IS_POINTER );
-        if ( !SQL_SUCCEEDED( nReturn ) )
-            MYODBCDbgReturn( nReturn );
+        switch ( nReturn )
+        {
+            case SQL_SUCCESS:
+                break;
+            case SQL_SUCCESS_WITH_INFO:
+                bHasInfo = true;
+                break;
+            default:
+                MYODBCDbgReturn( nReturn );
+        }
     }
 
     /*
-        \internal MYODBC Rule
+        \internal MYODBC RULE
 
         We want to set this value last, as long as we are using MYODBCDrvSetDescField
         to set the value, because this will cause a deeper validation.
     */       
     nReturn = pAppParamDesc->setDescField( nParameterNumber, SQL_DESC_DATA_PTR,
nParameterValuePtr, SQL_IS_POINTER );
-    if ( !SQL_SUCCEEDED( nReturn ) )
-        MYODBCDbgReturn( nReturn );
+    switch ( nReturn )
+    {
+        case SQL_SUCCESS:
+            break;
+        case SQL_SUCCESS_WITH_INFO:
+            bHasInfo = true;
+            break;
+        default:
+            MYODBCDbgReturn( nReturn );
+    }
 
+    if ( bHasInfo )
+        MYODBCDbgReturn( SQL_SUCCESS_WITH_INFO );
+
     MYODBCDbgReturn( SQL_SUCCESS );
 }
 

Modified: doc/Project/SituationReport-20060512.ods
===================================================================
(Binary files differ)

Thread
Connector/ODBC 5 commit: r210 - MYSQLPlus/MYSQLPlusLib doc/Projectpharvey9 May