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/Project | pharvey | 9 May |