http://git-wip-us.apache.org/repos/asf/kylin/blob/3c2329dc/odbc/Driver/KO_DESC.CPP ---------------------------------------------------------------------- diff --git a/odbc/Driver/KO_DESC.CPP b/odbc/Driver/KO_DESC.CPP index b72deab..7aa6ed0 100644 --- a/odbc/Driver/KO_DESC.CPP +++ b/odbc/Driver/KO_DESC.CPP @@ -1,4 +1,4 @@ -/* +/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information @@ -15,8 +15,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - - + // ---------------------------------------------------------------------------- // @@ -60,119 +59,123 @@ // ------------------------ local functions ----------------------------------- -pAPDItem _SQLGetAPDItem ( const pODBCAPD pDesc, Word pRecNum ); -pIPDItem _SQLGetIPDItem ( const pODBCIPD pDesc, Word pRecNum ); -pARDItem _SQLGetARDItem ( const pODBCARD pDesc, Word pRecNum ); -pIRDItem _SQLGetIRDItem ( const pODBCIRD pDesc, Word pRecNum ); - -eGoodBad _SQLSetAPDFieldsDefault ( pODBCAPD pDesc, const pODBCStmt pStmt ); -eGoodBad _SQLSetAPDItemFieldsDefault ( pAPDItem pDescItem ); - -eGoodBad _SQLSetIPDFieldsDefault ( pODBCIPD pDesc, const pODBCStmt pStmt ); -eGoodBad _SQLSetIPDItemFieldsDefault ( pIPDItem pDescItem ); - -eGoodBad _SQLSetARDFieldsDefault ( pODBCARD pDesc, const pODBCStmt pStmt ); -eGoodBad _SQLSetARDItemFieldsDefault ( pARDItem pDescItem, Word pRecNum ); - -eGoodBad _SQLSetIRDFieldsDefault ( pODBCIRD pDesc, const pODBCStmt pStmt ); -eGoodBad _SQLSetIRDItemFieldsDefault ( pIRDItem pDescItem ); - -RETCODE SQL_API _SQLSetAPDField ( pODBCAPD pDesc, Word pFldID, const void* pDataPtr, Long pDataSize ); -RETCODE SQL_API _SQLSetAPDItemField ( pODBCAPD pDesc, pAPDItem pDescItem, Word pRecNum, Word pFldID, - const void* pDataPtr, Long pDataSize ); -RETCODE SQL_API _SQLGetAPDField ( const pODBCAPD pDesc, Word pFldID, void* pDataPtr, Long pDataSize, - Long* pDataSizePtr ); -RETCODE SQL_API _SQLGetAPDItemField ( const pODBCAPD pDesc, const pAPDItem pDescItem, Word pRecNum, - Word pFldID, void* pDataPtr, Long pDataSize, Long* pDataSizePtr ); - -RETCODE SQL_API _SQLSetIPDField ( pODBCIPD pDesc, Word pFldID, const void* pDataPtr, Long pDataSize ); -RETCODE SQL_API _SQLSetIPDItemField ( pODBCIPD pDesc, pIPDItem pDescItem, Word pRecNum, Word pFldID, - const void* pDataPtr, Long pDataSize ); -RETCODE SQL_API _SQLGetIPDField ( const pODBCIPD pDesc, Word pFldID, void* pDataPtr, Long pDataSize, - Long* pDataSizePtr ); -RETCODE SQL_API _SQLGetIPDItemField ( const pODBCIPD pDesc, const pIPDItem pDescItem, Word pRecNum, - Word pFldID, void* pDataPtr, Long pDataSize, Long* pDataSizePtr ); - -RETCODE SQL_API _SQLSetARDField ( pODBCARD pDesc, Word pFldID, const void* pDataPtr, Long pDataSize ); -RETCODE SQL_API _SQLSetARDItemField ( pODBCARD pDesc, pARDItem pDescItem, Word pRecNum, Word pFldID, - const void* pDataPtr, Long pDataSize ); -RETCODE SQL_API _SQLGetARDField ( const pODBCARD pDesc, Word pFldID, void* pDataPtr, Long pDataSize, - Long* pDataSizePtr ); -RETCODE SQL_API _SQLGetARDItemField ( const pODBCARD pDesc, const pARDItem pDescItem, Word pRecNum, - Word pFldID, void* pDataPtr, Long pDataSize, Long* pDataSizePtr ); - -RETCODE SQL_API _SQLSetIRDField ( pODBCIRD pDesc, Word pFldID, const void* pDataPtr, Long pDataSize ); -RETCODE SQL_API _SQLSetIRDItemField ( pODBCIRD pDesc, pIRDItem pDescItem, Word pRecNum, Word pFldID, - const void* pDataPtr, Long pDataSize ); -RETCODE SQL_API _SQLGetIRDField ( const pODBCIRD pDesc, Word pFldID, void* pDataPtr, Long pDataSize, - Long* pDataSizePtr ); -RETCODE SQL_API _SQLGetIRDItemField ( const pODBCIRD pDesc, const pIRDItem pDescItem, Word pRecNum, - Word pFldID, void* pDataPtr, Long pDataSize, Long* pDataSizePtr , bool isANSI ); - -RETCODE SQL_API _SQLFreeAPDContent ( const pODBCAPD pDesc ); -RETCODE SQL_API _SQLFreeIPDContent ( const pODBCIPD pDesc ); -RETCODE SQL_API _SQLFreeARDContent ( const pODBCARD pDesc ); -RETCODE SQL_API _SQLFreeIRDContent ( const pODBCIRD pDesc ); - -eGoodBad _SQLAttachARDItem ( pODBCARD pDesc, pARDItem pDescItem ); -eGoodBad _SQLDetachARDItem ( pODBCARD pDesc, pARDItem pDescItem ); +pAPDItem _SQLGetAPDItem ( const pODBCAPD pDesc, Word pRecNum ); +pIPDItem _SQLGetIPDItem ( const pODBCIPD pDesc, Word pRecNum ); +pARDItem _SQLGetARDItem ( const pODBCARD pDesc, Word pRecNum ); +pIRDItem _SQLGetIRDItem ( const pODBCIRD pDesc, Word pRecNum ); + +eGoodBad _SQLSetAPDFieldsDefault ( pODBCAPD pDesc, const pODBCStmt pStmt ); +eGoodBad _SQLSetAPDItemFieldsDefault ( pAPDItem pDescItem ); + +eGoodBad _SQLSetIPDFieldsDefault ( pODBCIPD pDesc, const pODBCStmt pStmt ); +eGoodBad _SQLSetIPDItemFieldsDefault ( pIPDItem pDescItem ); + +eGoodBad _SQLSetARDFieldsDefault ( pODBCARD pDesc, const pODBCStmt pStmt ); +eGoodBad _SQLSetARDItemFieldsDefault ( pARDItem pDescItem, Word pRecNum ); + +eGoodBad _SQLSetIRDFieldsDefault ( pODBCIRD pDesc, const pODBCStmt pStmt ); +eGoodBad _SQLSetIRDItemFieldsDefault ( pIRDItem pDescItem ); + +RETCODE SQL_API _SQLSetAPDField ( pODBCAPD pDesc, Word pFldID, const void* pDataPtr, Long pDataSize ); +RETCODE SQL_API _SQLSetAPDItemField ( pODBCAPD pDesc, pAPDItem pDescItem, Word pRecNum, Word pFldID, + const void* pDataPtr, Long pDataSize ); +RETCODE SQL_API _SQLGetAPDField ( const pODBCAPD pDesc, Word pFldID, void* pDataPtr, Long pDataSize, + Long* pDataSizePtr ); +RETCODE SQL_API _SQLGetAPDItemField ( const pODBCAPD pDesc, const pAPDItem pDescItem, Word pRecNum, + Word pFldID, void* pDataPtr, Long pDataSize, Long* pDataSizePtr ); + +RETCODE SQL_API _SQLSetIPDField ( pODBCIPD pDesc, Word pFldID, const void* pDataPtr, Long pDataSize ); +RETCODE SQL_API _SQLSetIPDItemField ( pODBCIPD pDesc, pIPDItem pDescItem, Word pRecNum, Word pFldID, + const void* pDataPtr, Long pDataSize ); +RETCODE SQL_API _SQLGetIPDField ( const pODBCIPD pDesc, Word pFldID, void* pDataPtr, Long pDataSize, + Long* pDataSizePtr ); +RETCODE SQL_API _SQLGetIPDItemField ( const pODBCIPD pDesc, const pIPDItem pDescItem, Word pRecNum, + Word pFldID, void* pDataPtr, Long pDataSize, Long* pDataSizePtr ); + +RETCODE SQL_API _SQLSetARDField ( pODBCARD pDesc, Word pFldID, const void* pDataPtr, Long pDataSize ); +RETCODE SQL_API _SQLSetARDItemField ( pODBCARD pDesc, pARDItem pDescItem, Word pRecNum, Word pFldID, + const void* pDataPtr, Long pDataSize ); +RETCODE SQL_API _SQLGetARDField ( const pODBCARD pDesc, Word pFldID, void* pDataPtr, Long pDataSize, + Long* pDataSizePtr ); +RETCODE SQL_API _SQLGetARDItemField ( const pODBCARD pDesc, const pARDItem pDescItem, Word pRecNum, + Word pFldID, void* pDataPtr, Long pDataSize, Long* pDataSizePtr ); + +RETCODE SQL_API _SQLSetIRDField ( pODBCIRD pDesc, Word pFldID, const void* pDataPtr, Long pDataSize ); +RETCODE SQL_API _SQLSetIRDItemField ( pODBCIRD pDesc, pIRDItem pDescItem, Word pRecNum, Word pFldID, + const void* pDataPtr, Long pDataSize ); +RETCODE SQL_API _SQLGetIRDField ( const pODBCIRD pDesc, Word pFldID, void* pDataPtr, Long pDataSize, + Long* pDataSizePtr ); +RETCODE SQL_API _SQLGetIRDItemField ( const pODBCIRD pDesc, const pIRDItem pDescItem, Word pRecNum, + Word pFldID, void* pDataPtr, Long pDataSize, Long* pDataSizePtr, bool isANSI ); + +RETCODE SQL_API _SQLFreeAPDContent ( const pODBCAPD pDesc ); +RETCODE SQL_API _SQLFreeIPDContent ( const pODBCIPD pDesc ); +RETCODE SQL_API _SQLFreeARDContent ( const pODBCARD pDesc ); +RETCODE SQL_API _SQLFreeIRDContent ( const pODBCIRD pDesc ); + +eGoodBad _SQLAttachARDItem ( pODBCARD pDesc, pARDItem pDescItem ); +eGoodBad _SQLDetachARDItem ( pODBCARD pDesc, pARDItem pDescItem ); // ----------------------------------------------------------------------- // to get value of specified descriptor field // ----------------------------------------------------------------------- -RETCODE _SQLGetDescField_basic ( SQLHDESC pDesc, - SQLSMALLINT pRecNum, - SQLSMALLINT pFldID, - SQLPOINTER pDataPtr, - SQLINTEGER pDataSize, - SQLINTEGER* pDataSizePtr, - bool isANSI ) { - bool invalidfld; - bool headerfld; - Word desctype; - +RETCODE _SQLGetDescField_basic ( SQLHDESC pDesc, + SQLSMALLINT pRecNum, + SQLSMALLINT pFldID, + SQLPOINTER pDataPtr, + SQLINTEGER pDataSize, + SQLINTEGER* pDataSizePtr, + bool isANSI ) +{ + bool invalidfld; + bool headerfld; + Word desctype; + // precaution - if ( pDesc == NULL || pDataPtr == NULL ) { + if ( pDesc == NULL || pDataPtr == NULL ) + { __ODBCPOPMSG ( _ODBCPopMsg ( "SQLGetDescField - invalid params" ) ); return SQL_ERROR; } - + // initializations invalidfld = FALSE; - headerfld = TRUE; - desctype = _DESCTYPE ( pDesc ); - + headerfld = TRUE; + desctype = _DESCTYPE ( pDesc ); + // check if descriptor is valid & reset diags - switch ( desctype ) { - case SQL_DESC_APD: - _SQLFreeDiag ( & ( ( ( pODBCAPD ) pDesc )->Stmt->Diag ) ); + switch ( desctype ) + { + case SQL_DESC_APD : + _SQLFreeDiag ( & ( ( ( pODBCAPD ) pDesc ) -> Stmt -> Diag ) ); break; - - case SQL_DESC_IPD: - _SQLFreeDiag ( & ( ( ( pODBCIPD ) pDesc )->Stmt->Diag ) ); + + case SQL_DESC_IPD : + _SQLFreeDiag ( & ( ( ( pODBCIPD ) pDesc ) -> Stmt -> Diag ) ); break; - - case SQL_DESC_ARD: - _SQLFreeDiag ( & ( ( ( pODBCARD ) pDesc )->Stmt->Diag ) ); + + case SQL_DESC_ARD : + _SQLFreeDiag ( & ( ( ( pODBCARD ) pDesc ) -> Stmt -> Diag ) ); break; - - case SQL_DESC_IRD: - _SQLFreeDiag ( & ( ( ( pODBCIRD ) pDesc )->Stmt->Diag ) ); + + case SQL_DESC_IRD : + _SQLFreeDiag ( & ( ( ( pODBCIRD ) pDesc ) -> Stmt -> Diag ) ); break; - - default: + + default : __ODBCPOPMSG ( _ODBCPopMsg ( "SQLGetDescField - Invalid descriptor handle" ) ); return SQL_ERROR; } - + // HEADER FIELDS - + // check the field type - header field - switch ( pFldID ) { - case SQL_DESC_ALLOC_TYPE: - + switch ( pFldID ) + { + case SQL_DESC_ALLOC_TYPE : + /***** SQLSMALLINT ARD: R APD: R IRD: R IPD: R @@ -181,882 +184,930 @@ RETCODE _SQLGetDescField_basic ( SQLHDESC pDesc, IRD: SQL_DESC_ALLOC_AUTO IPD: SQL_DESC_ALLOC_AUTO ********/ - switch ( desctype ) { - case SQL_DESC_APD: + switch ( desctype ) + { + case SQL_DESC_APD : return _SQLGetAPDField ( ( pODBCAPD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IPD: + + case SQL_DESC_IPD : return _SQLGetIPDField ( ( pODBCIPD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_ARD: + + case SQL_DESC_ARD : return _SQLGetARDField ( ( pODBCARD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IRD: + + case SQL_DESC_IRD : return _SQLGetIRDField ( ( pODBCIRD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); } - + break; - - case SQL_DESC_ARRAY_SIZE: - + + case SQL_DESC_ARRAY_SIZE : + /********* SQLUINTEGER ARD: R/W APD: R/W IRD: Unused IPD: Unused ARD:[1] APD:[1] IRD: Unused IPD: Unused ********/ - switch ( desctype ) { - case SQL_DESC_APD: + switch ( desctype ) + { + case SQL_DESC_APD : return _SQLGetAPDField ( ( pODBCAPD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_ARD: + + case SQL_DESC_ARD : return _SQLGetARDField ( ( pODBCARD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - default: + + default : invalidfld = TRUE; } - + break; - - case SQL_DESC_ARRAY_STATUS_PTR: - + + case SQL_DESC_ARRAY_STATUS_PTR : + /********** SQLUSMALLINT* ARD: R/W APD: R/W IRD: R/W IPD: R/W ARD: Null ptr APD: Null ptr IRD: Null ptr IPD: Null ptr **********/ - switch ( desctype ) { - case SQL_DESC_APD: + switch ( desctype ) + { + case SQL_DESC_APD : return _SQLGetAPDField ( ( pODBCAPD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IPD: + + case SQL_DESC_IPD : return _SQLGetIPDField ( ( pODBCIPD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_ARD: + + case SQL_DESC_ARD : return _SQLGetARDField ( ( pODBCARD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IRD: + + case SQL_DESC_IRD : return _SQLGetIRDField ( ( pODBCIRD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); } - + break; - - case SQL_DESC_BIND_OFFSET_PTR: - + + case SQL_DESC_BIND_OFFSET_PTR : + /********** SQLINTEGER* ARD: R/W APD: R/W IRD: Unused IPD: Unused ARD: Null ptr APD: Null ptr IRD: Unused IPD: Unused **********/ - switch ( desctype ) { - case SQL_DESC_APD: + switch ( desctype ) + { + case SQL_DESC_APD : return _SQLGetAPDField ( ( pODBCAPD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_ARD: + + case SQL_DESC_ARD : return _SQLGetARDField ( ( pODBCARD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - default: + + default : invalidfld = TRUE; } - + break; - - case SQL_DESC_BIND_TYPE: - + + case SQL_DESC_BIND_TYPE : + /********** SQLINTEGER ARD: R/W APD: R/W IRD: Unused IPD: Unused ARD: SQL_BIND_BY_COLUMN APD: SQL_BIND_BY_COLUMN IRD: Unused IPD: Unused *********/ - switch ( desctype ) { - case SQL_DESC_APD: + switch ( desctype ) + { + case SQL_DESC_APD : return _SQLGetAPDField ( ( pODBCAPD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_ARD: + + case SQL_DESC_ARD : return _SQLGetARDField ( ( pODBCARD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - default: + + default : invalidfld = TRUE; } - + break; - - case SQL_DESC_COUNT: - + + case SQL_DESC_COUNT : + /********** SQLSMALLINT ARD: R/W APD: R/W IRD: R IPD: R/W ARD: 0 APD: 0 IRD: D IPD: 0 **********/ - switch ( desctype ) { - case SQL_DESC_APD: + switch ( desctype ) + { + case SQL_DESC_APD : return _SQLGetAPDField ( ( pODBCAPD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IPD: + + case SQL_DESC_IPD : return _SQLGetIPDField ( ( pODBCIPD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_ARD: + + case SQL_DESC_ARD : return _SQLGetARDField ( ( pODBCARD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IRD: + + case SQL_DESC_IRD : return _SQLGetIRDField ( ( pODBCIRD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); } - + break; - - case SQL_DESC_ROWS_PROCESSED_PTR: - + + case SQL_DESC_ROWS_PROCESSED_PTR : + /********** SQLUINTEGER* ARD: Unused APD: Unused IRD: R/W IPD: R/W ARD: Unused APD: Unused IRD: Null ptr IPD: Null ptr ***********/ - switch ( desctype ) { - case SQL_DESC_IPD: + switch ( desctype ) + { + case SQL_DESC_IPD : return _SQLGetIPDField ( ( pODBCIPD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IRD: + + case SQL_DESC_IRD : return _SQLGetIRDField ( ( pODBCIRD ) pDesc, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - default: + + default : invalidfld = TRUE; } - + break; - - default: + + default : headerfld = FALSE; } - + // check if not an header field if ( headerfld == TRUE ) - { return SQL_SUCCESS; } - + { + return SQL_SUCCESS; + } + // check if invalid field - if ( invalidfld == TRUE ) { + if ( invalidfld == TRUE ) + { __ODBCPOPMSG ( _ODBCPopMsg ( "SQLGetDescField - Invalid field %d for descriptor %d", pFldID, desctype ) ); return SQL_ERROR; } - + // check the field type - record field - switch ( pFldID ) { - case SQL_DESC_AUTO_UNIQUE_VALUE: - + switch ( pFldID ) + { + case SQL_DESC_AUTO_UNIQUE_VALUE : + /*********** SQLINTEGER ARD: Unused APD: Unused IRD: R IPD: Unused ARD: Unused APD: Unused IRD: D IPD: Unused *********/ - switch ( desctype ) { - case SQL_DESC_IRD: + switch ( desctype ) + { + case SQL_DESC_IRD : return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - - default: + + default : invalidfld = TRUE; } - + break; - - case SQL_DESC_BASE_COLUMN_NAME: - + + case SQL_DESC_BASE_COLUMN_NAME : + /********** SQLCHAR * ARD: Unused APD: Unused IRD: R IPD: Unused ARD: Unused APD: Unused IRD: D IPD: Unused **********/ - switch ( desctype ) { - case SQL_DESC_IRD: + switch ( desctype ) + { + case SQL_DESC_IRD : return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - - default: + + default : invalidfld = TRUE; } - + break; - - case SQL_DESC_BASE_TABLE_NAME: - + + case SQL_DESC_BASE_TABLE_NAME : + /******** SQLCHAR * ARD: Unused APD: Unused IRD: R IPD: Unused ARD: Unused APD: Unused IRD: D IPD: Unused *******/ - switch ( desctype ) { - case SQL_DESC_IRD: + switch ( desctype ) + { + case SQL_DESC_IRD : return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - - default: + + default : invalidfld = TRUE; } - + break; - - case SQL_DESC_CASE_SENSITIVE: - + + case SQL_DESC_CASE_SENSITIVE : + /********** SQLINTEGER ARD: Unused APD: Unused IRD: R IPD: R ARD: Unused APD: Unused IRD: D IPD: D *******/ - switch ( desctype ) { - case SQL_DESC_IPD: + switch ( desctype ) + { + case SQL_DESC_IPD : return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IRD: + + case SQL_DESC_IRD : return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - - default: + + default : invalidfld = TRUE; } - + break; - - case SQL_DESC_CATALOG_NAME: - + + case SQL_DESC_CATALOG_NAME : + /********** SQLCHAR* ARD: Unused APD: Unused IRD: R IPD: Unused ARD: Unused APD: Unused IRD: D IPD: Unused ********/ - switch ( desctype ) { - case SQL_DESC_IRD: + switch ( desctype ) + { + case SQL_DESC_IRD : return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - - default: + + default : invalidfld = TRUE; } - + break; - - case SQL_DESC_CONCISE_TYPE: - + + case SQL_DESC_CONCISE_TYPE : + /********** SQLSMALLINT ARD: R/W APD: R/W IRD: R IPD: R/W ARD: SQL_C_DEFAULT APD: SQL_C_DEFAULT IRD: D IPD: ND *********/ - switch ( desctype ) { - case SQL_DESC_APD: + switch ( desctype ) + { + case SQL_DESC_APD : return _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IPD: + + case SQL_DESC_IPD : return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_ARD: + + case SQL_DESC_ARD : return _SQLGetARDItemField ( ( pODBCARD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IRD: + + case SQL_DESC_IRD : return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); } - + break; - - case SQL_DESC_DATA_PTR: - + + case SQL_DESC_DATA_PTR : + /*********** SQLPOINTER ARD: R/W APD: R/W IRD: Unused IPD: Unused ARD: Null ptr APD: Null ptr IRD: Unused IPD: Unused ************/ - switch ( desctype ) { - case SQL_DESC_APD: + switch ( desctype ) + { + case SQL_DESC_APD : return _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_ARD: + + case SQL_DESC_ARD : return _SQLGetARDItemField ( ( pODBCARD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - default: + + default : invalidfld = TRUE; } - + break; - - case SQL_DESC_DATETIME_INTERVAL_CODE: - + + case SQL_DESC_DATETIME_INTERVAL_CODE : + /********** SQLSMALLINT ARD: R/W APD: R/W IRD: R IPD: R/W ARD: ND APD: ND IRD: D IPD: ND ********/ - switch ( desctype ) { - case SQL_DESC_APD: + switch ( desctype ) + { + case SQL_DESC_APD : return _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IPD: + + case SQL_DESC_IPD : return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_ARD: + + case SQL_DESC_ARD : return _SQLGetARDItemField ( ( pODBCARD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IRD: + + case SQL_DESC_IRD : return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); } - + break; - - case SQL_DESC_DATETIME_INTERVAL_PRECISION: - + + case SQL_DESC_DATETIME_INTERVAL_PRECISION : + /********* SQLINTEGER ARD: R/W APD: R/W IRD: R IPD: R/W ARD: ND APD: ND IRD: D IPD: ND **********/ - switch ( desctype ) { - case SQL_DESC_APD: + switch ( desctype ) + { + case SQL_DESC_APD : return _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IPD: + + case SQL_DESC_IPD : return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_ARD: + + case SQL_DESC_ARD : return _SQLGetARDItemField ( ( pODBCARD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IRD: + + case SQL_DESC_IRD : return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); } - + break; - - case SQL_DESC_DISPLAY_SIZE: - + + case SQL_DESC_DISPLAY_SIZE : + /********* SQLINTEGER ARD: Unused APD: Unused IRD: R IPD: Unused ARD: Unused APD: Unused IRD: D IPD: Unused **********/ - switch ( desctype ) { - case SQL_DESC_IRD: + switch ( desctype ) + { + case SQL_DESC_IRD : return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - - default: + + default : invalidfld = TRUE; } - + break; - - case SQL_DESC_FIXED_PREC_SCALE: - + + case SQL_DESC_FIXED_PREC_SCALE : + /********* SQLSMALLINT ARD: Unused APD: Unused IRD: R IPD: R ARD: Unused APD: Unused IRD: D IPD: D[1] *********/ - switch ( desctype ) { - case SQL_DESC_IPD: + switch ( desctype ) + { + case SQL_DESC_IPD : return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IRD: + + case SQL_DESC_IRD : return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - - default: + + default : invalidfld = TRUE; } - + break; - - case SQL_DESC_INDICATOR_PTR: - + + case SQL_DESC_INDICATOR_PTR : + /********** SQLINTEGER * ARD: R/W APD: R/W IRD: Unused IPD: Unused ARD: Null ptr APD: Null ptr IRD: Unused IPD: Unused ********/ - switch ( desctype ) { - case SQL_DESC_APD: + switch ( desctype ) + { + case SQL_DESC_APD : return _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_ARD: + + case SQL_DESC_ARD : return _SQLGetARDItemField ( ( pODBCARD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - default: + + default : invalidfld = TRUE; } - + break; - - case SQL_DESC_LABEL: - + + case SQL_DESC_LABEL : + /********* SQLCHAR * ARD: Unused APD: Unused IRD: R IPD: Unused ARD: Unused APD: Unused IRD: D IPD: Unused ***********/ - switch ( desctype ) { - case SQL_DESC_IRD: + switch ( desctype ) + { + case SQL_DESC_IRD : return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - - default: + + default : invalidfld = TRUE; } - + break; - - case SQL_DESC_LENGTH: - + + case SQL_DESC_LENGTH : + /******** SQLUINTEGER ARD: R/W APD: R/W IRD: R IPD: R/W ARD: ND APD: ND IRD: D IPD: ND ********/ - switch ( desctype ) { - case SQL_DESC_ARD: + switch ( desctype ) + { + case SQL_DESC_ARD : return _SQLGetARDItemField ( ( pODBCARD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_APD: + + case SQL_DESC_APD : return _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IRD: + + case SQL_DESC_IRD : return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - - case SQL_DESC_IPD: + + case SQL_DESC_IPD : return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); } - + break; - - case SQL_DESC_LITERAL_PREFIX: - + + case SQL_DESC_LITERAL_PREFIX : + /********** SQLCHAR* ARD: Unused APD: Unused IRD: R IPD: Unused ARD: Unused APD: Unused IRD: D IPD: Unused **********/ - + // a read-only IRD field - switch ( desctype ) { - case SQL_DESC_IRD: + switch ( desctype ) + { + case SQL_DESC_IRD : return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - - default: + + default : invalidfld = TRUE; } - + break; - - case SQL_DESC_LITERAL_SUFFIX: - + + case SQL_DESC_LITERAL_SUFFIX : + /********** SQLCHAR* ARD: Unused APD: Unused IRD: R IPD: Unused ARD: Unused APD: Unused IRD: D IPD: Unused **********/ - switch ( desctype ) { - case SQL_DESC_IRD: + switch ( desctype ) + { + case SQL_DESC_IRD : return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - - default: + + default : invalidfld = TRUE; } - + break; - - case SQL_DESC_LOCAL_TYPE_NAME: - + + case SQL_DESC_LOCAL_TYPE_NAME : + /*********** SQLCHAR * ARD: Unused APD: Unused IRD: R IPD: R ARD: Unused APD: Unused IRD: D IPD: D ***********/ - switch ( desctype ) { - case SQL_DESC_IPD: + switch ( desctype ) + { + case SQL_DESC_IPD : return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IRD: + + case SQL_DESC_IRD : return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - - default: + + default : invalidfld = TRUE; } - + break; - - case SQL_DESC_NAME: - + + case SQL_DESC_NAME : + /*********** SQLCHAR* ARD: Unused APD: Unused IRD: R IPD: R/W ARD: ND APD: ND IRD: D IPD: ND *********/ - switch ( desctype ) { - case SQL_DESC_IPD: + switch ( desctype ) + { + case SQL_DESC_IPD : return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IRD: + + case SQL_DESC_IRD : return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - - default: + + default : invalidfld = TRUE; } - + break; - - case SQL_DESC_NULLABLE: - + + case SQL_DESC_NULLABLE : + /********** SQLSMALLINT ARD: Unused APD: Unused IRD: R IPD: R ARD: ND APD: ND IRD: D IPD: ND ***********/ - switch ( desctype ) { - case SQL_DESC_IPD: + switch ( desctype ) + { + case SQL_DESC_IPD : return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IRD: + + case SQL_DESC_IRD : return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - - default: + + default : invalidfld = TRUE; } - + break; - - case SQL_DESC_NUM_PREC_RADIX: - + + case SQL_DESC_NUM_PREC_RADIX : + /********* SQLINTEGER ARD: R/W APD: R/W IRD: R IPD: R/W ARD: ND APD: ND IRD: D IPD: ND ********/ - switch ( desctype ) { - case SQL_DESC_APD: + switch ( desctype ) + { + case SQL_DESC_APD : return _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IPD: + + case SQL_DESC_IPD : return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_ARD: + + case SQL_DESC_ARD : return _SQLGetARDItemField ( ( pODBCARD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IRD: + + case SQL_DESC_IRD : return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); } - + break; - - case SQL_DESC_OCTET_LENGTH: - + + case SQL_DESC_OCTET_LENGTH : + /********** SQLINTEGER ARD: R/W APD: R/W IRD: R IPD: R/W ARD: ND APD: ND IRD: D IPD: ND *********/ - switch ( desctype ) { - case SQL_DESC_APD: + switch ( desctype ) + { + case SQL_DESC_APD : return _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IPD: + + case SQL_DESC_IPD : return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_ARD: + + case SQL_DESC_ARD : return _SQLGetARDItemField ( ( pODBCARD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IRD: + + case SQL_DESC_IRD : return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); } - + break; - - case SQL_DESC_OCTET_LENGTH_PTR: - + + case SQL_DESC_OCTET_LENGTH_PTR : + /****** SQLINTEGER* ARD: R/W APD: R/W IRD: Unused IPD: Unused ARD: Null ptr APD: Null ptr IRD: Unused IPD: Unused *********/ - switch ( desctype ) { - case SQL_DESC_APD: + switch ( desctype ) + { + case SQL_DESC_APD : return _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_ARD: + + case SQL_DESC_ARD : return _SQLGetARDItemField ( ( pODBCARD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - default: + + default : invalidfld = TRUE; } - + break; - - case SQL_DESC_PARAMETER_TYPE: - + + case SQL_DESC_PARAMETER_TYPE : + /********* SQLSMALLINT ARD: Unused APD: Unused IRD: Unused IPD: R/W ARD: Unused APD: Unused IRD: Unused IPD: D=SQL_PARAM_INPUT *********/ - switch ( desctype ) { - case SQL_DESC_IPD: + switch ( desctype ) + { + case SQL_DESC_IPD : return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - default: + + default : invalidfld = TRUE; } - + break; - - case SQL_DESC_PRECISION: - + + case SQL_DESC_PRECISION : + /********* SQLSMALLINT ARD: R/W APD: R/W IRD: R IPD: R/W ARD: ND APD: ND IRD: D IPD: ND ********/ - switch ( desctype ) { - case SQL_DESC_APD: + switch ( desctype ) + { + case SQL_DESC_APD : return _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IPD: + + case SQL_DESC_IPD : return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_ARD: + + case SQL_DESC_ARD : return _SQLGetARDItemField ( ( pODBCARD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IRD: + + case SQL_DESC_IRD : return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); } - + break; - - case SQL_DESC_ROWVER: - + + case SQL_DESC_ROWVER : + /********* SQLSMALLINT ARD: Unused APD: Unused IRD: R IPD: R ARD: Unused APD: Unused IRD: ND IPD: ND ********/ - switch ( desctype ) { - case SQL_DESC_IPD: + switch ( desctype ) + { + case SQL_DESC_IPD : return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IRD: + + case SQL_DESC_IRD : return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - - default: + + default : invalidfld = TRUE; } - + break; - - case SQL_DESC_SCALE: - + + case SQL_DESC_SCALE : + /******** SQLSMALLINT ARD: R/W APD: R/W IRD: R IPD: R/W ARD: ND APD: ND IRD: D IPD: ND *********/ - switch ( desctype ) { - case SQL_DESC_APD: + switch ( desctype ) + { + case SQL_DESC_APD : return _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IPD: + + case SQL_DESC_IPD : return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_ARD: + + case SQL_DESC_ARD : return _SQLGetARDItemField ( ( pODBCARD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IRD: + + case SQL_DESC_IRD : return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); } - + break; - - case SQL_DESC_SCHEMA_NAME: - + + case SQL_DESC_SCHEMA_NAME : + /********* SQLCHAR* ARD: Unused APD: Unused IRD: R IPD: Unused ARD: Unused APD: Unused IRD: D IPD: Unused ********/ - switch ( desctype ) { - case SQL_DESC_IRD: + switch ( desctype ) + { + case SQL_DESC_IRD : return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - - default: + + default : invalidfld = TRUE; } - + break; - - case SQL_DESC_SEARCHABLE: - + + case SQL_DESC_SEARCHABLE : + /********* SQLCHAR* ARD: Unused APD: Unused IRD: R IPD: Unused ARD: Unused APD: Unused IRD: D IPD: Unused ********/ - switch ( desctype ) { - case SQL_DESC_IRD: + switch ( desctype ) + { + case SQL_DESC_IRD : return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - - default: + + default : invalidfld = TRUE; } - + break; - - case SQL_DESC_TABLE_NAME: - + + case SQL_DESC_TABLE_NAME : + /******** SQLCHAR* ARD: Unused APD: Unused IRD: R IPD: Unused ARD: Unused APD: Unused IRD: D IPD: Unused ********/ - switch ( desctype ) { - case SQL_DESC_IRD: + switch ( desctype ) + { + case SQL_DESC_IRD : return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - - default: + + default : invalidfld = TRUE; } - + break; - - case SQL_DESC_TYPE: - + + case SQL_DESC_TYPE : + /********* SQLSMALLINT ARD: R/W APD: R/W IRD: R IPD: R/W ARD: SQL_C_DEFAULT APD: SQL_C_DEFAULT IRD: D IPD: ND *********/ - switch ( desctype ) { - case SQL_DESC_APD: + switch ( desctype ) + { + case SQL_DESC_APD : return _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IPD: + + case SQL_DESC_IPD : return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_ARD: + + case SQL_DESC_ARD : return _SQLGetARDItemField ( ( pODBCARD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IRD: + + case SQL_DESC_IRD : return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); } - + break; - - case SQL_DESC_TYPE_NAME: - + + case SQL_DESC_TYPE_NAME : + /********* SQLCHAR * ARD: Unused APD: Unused IRD: R IPD: R ARD: Unused APD: Unused IRD: D IPD: D **********/ - switch ( desctype ) { - case SQL_DESC_IPD: + switch ( desctype ) + { + case SQL_DESC_IPD : return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IRD: + + case SQL_DESC_IRD : return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - - default: + + default : invalidfld = TRUE; } - + break; - - case SQL_DESC_UNNAMED: - + + case SQL_DESC_UNNAMED : + /******** SQLSMALLINT ARD: Unused APD: Unused IRD: R IPD: R/W ARD: ND APD: ND IRD: D IPD: ND ********/ - switch ( desctype ) { - case SQL_DESC_IPD: + switch ( desctype ) + { + case SQL_DESC_IPD : return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IRD: + + case SQL_DESC_IRD : return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - - default: + + default : invalidfld = TRUE; } - + break; - - case SQL_DESC_UNSIGNED: - + + case SQL_DESC_UNSIGNED : + /********* SQLSMALLINT ARD: Unused APD: Unused IRD: R IPD: R ARD: Unused APD: Unused IRD: D IPD: D ********/ - switch ( desctype ) { - case SQL_DESC_IPD: + switch ( desctype ) + { + case SQL_DESC_IPD : return _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ); - - case SQL_DESC_IRD: + + case SQL_DESC_IRD : return _SQLGetIRDItemField ( ( pODBCIRD ) pDesc, NULL, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, isANSI ); - - default: + + default : invalidfld = TRUE; } - + break; - - default: + + default : __ODBCPOPMSG ( _ODBCPopMsg ( "SQLGetDescField - Unknown field %d", pFldID ) ); return SQL_ERROR; } - + // check if invalid field - if ( invalidfld == TRUE ) { + if ( invalidfld == TRUE ) + { __ODBCPOPMSG ( _ODBCPopMsg ( "SQLGetDescField - Invalid field %d for descriptor %d", pFldID, desctype ) ); return SQL_ERROR; } - + return SQL_SUCCESS; } -RETCODE SQL_API SQLGetDescFieldW ( SQLHDESC pDesc, - SQLSMALLINT pRecNum, - SQLSMALLINT pFldID, - SQLPOINTER pDataPtr, - SQLINTEGER pDataSize, - SQLINTEGER* pDataSizePtr ) +RETCODE SQL_API SQLGetDescFieldW ( SQLHDESC pDesc, + SQLSMALLINT pRecNum, + SQLSMALLINT pFldID, + SQLPOINTER pDataPtr, + SQLINTEGER pDataSize, + SQLINTEGER* pDataSizePtr ) { __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, - "SQLGetDescFieldW called, Desc: %d, Type: %d, Recnum: %d, Fld: %d, DataPtr: %d, DataSize: %d, DataSizePtr: %d", pDesc, - ( pDesc ) ? * ( ( short* ) pDesc ) : 0, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ) ); + "SQLGetDescFieldW called, Desc: %d, Type: %d, Recnum: %d, Fld: %d, DataPtr: %d, DataSize: %d, DataSizePtr: %d", pDesc, + ( pDesc ) ? * ( ( short* ) pDesc ) : 0, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ) ); return _SQLGetDescField_basic ( pDesc, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, false ); } -RETCODE SQL_API SQLGetDescField ( SQLHDESC pDesc, - SQLSMALLINT pRecNum, - SQLSMALLINT pFldID, - SQLPOINTER pDataPtr, - SQLINTEGER pDataSize, - SQLINTEGER* pDataSizePtr ) { +RETCODE SQL_API SQLGetDescField ( SQLHDESC pDesc, + SQLSMALLINT pRecNum, + SQLSMALLINT pFldID, + SQLPOINTER pDataPtr, + SQLINTEGER pDataSize, + SQLINTEGER* pDataSizePtr ) +{ __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, - "SQLGetDescField called, Desc: %d, Type: %d, Recnum: %d, Fld: %d, DataPtr: %d, DataSize: %d, DataSizePtr: %d", pDesc, - ( pDesc ) ? * ( ( short* ) pDesc ) : 0, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ) ); + "SQLGetDescField called, Desc: %d, Type: %d, Recnum: %d, Fld: %d, DataPtr: %d, DataSize: %d, DataSizePtr: %d", pDesc, + ( pDesc ) ? * ( ( short* ) pDesc ) : 0, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr ) ); return _SQLGetDescField_basic ( pDesc, pRecNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, true ); } // ----------------------------------------------------------------------- // to set a single field in a desc record // ----------------------------------------------------------------------- -RETCODE SQL_API SQLSetDescFieldW ( SQLHDESC pDesc, - SQLSMALLINT pRecNum, - SQLSMALLINT pFldID, - SQLPOINTER pDataPtr, - SQLINTEGER pDataSize ) { +RETCODE SQL_API SQLSetDescFieldW ( SQLHDESC pDesc, + SQLSMALLINT pRecNum, + SQLSMALLINT pFldID, + SQLPOINTER pDataPtr, + SQLINTEGER pDataSize ) +{ __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, - "SQLSetDescFieldW called, Desc: %d, Type: %d, Recnum: %d, Fld: %d, DataPtr: %d, DataSize: %d", pDesc, - ( pDesc ) ? * ( ( short* ) pDesc ) : ( short ) pDesc, pRecNum, pFldID, pDataPtr, pDataSize ) ); + "SQLSetDescFieldW called, Desc: %d, Type: %d, Recnum: %d, Fld: %d, DataPtr: %d, DataSize: %d", pDesc, + ( pDesc ) ? * ( ( short* ) pDesc ) : ( short ) pDesc, pRecNum, pFldID, pDataPtr, pDataSize ) ); __ODBCPOPMSG ( _ODBCPopMsg ( "SQLSetDescFieldW Not implemented" ) ); return SQL_ERROR; } -RETCODE SQL_API SQLSetDescField ( SQLHDESC pDesc, - SQLSMALLINT pRecNum, - SQLSMALLINT pFldID, - SQLPOINTER pDataPtr, - SQLINTEGER pDataSize ) { +RETCODE SQL_API SQLSetDescField ( SQLHDESC pDesc, + SQLSMALLINT pRecNum, + SQLSMALLINT pFldID, + SQLPOINTER pDataPtr, + SQLINTEGER pDataSize ) +{ __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, - "SQLSetDescField called, Desc: %d, Type: %d, Recnum: %d, Fld: %d, DataPtr: %d, DataSize: %d", pDesc, - ( pDesc ) ? * ( ( short* ) pDesc ) : ( short ) pDesc, pRecNum, pFldID, pDataPtr, pDataSize ) ); + "SQLSetDescField called, Desc: %d, Type: %d, Recnum: %d, Fld: %d, DataPtr: %d, DataSize: %d", pDesc, + ( pDesc ) ? * ( ( short* ) pDesc ) : ( short ) pDesc, pRecNum, pFldID, pDataPtr, pDataSize ) ); __ODBCPOPMSG ( _ODBCPopMsg ( "SQLSetDescField Not implemented" ) ); return SQL_ERROR; } @@ -1066,116 +1117,121 @@ RETCODE SQL_API SQLSetDescField ( SQLHDESC pDesc, // to get multiple fields from a desc record, at one shot // ----------------------------------------------------------------------- -RETCODE SQL_API SQLGetDescRec ( SQLHDESC pDesc, - SQLSMALLINT pRecNum, - SQLCHAR* pName, - SQLSMALLINT pNameSize, - SQLSMALLINT* pNameSizePtr, - SQLSMALLINT* pTypePtr, - SQLSMALLINT* pSubTypePtr, - SQLINTEGER* pLengthPtr, - SQLSMALLINT* pPrecisionPtr, - SQLSMALLINT* pScalePtr, - SQLSMALLINT* pNullablePtr ) +RETCODE SQL_API SQLGetDescRec ( SQLHDESC pDesc, + SQLSMALLINT pRecNum, + SQLCHAR* pName, + SQLSMALLINT pNameSize, + SQLSMALLINT* pNameSizePtr, + SQLSMALLINT* pTypePtr, + SQLSMALLINT* pSubTypePtr, + SQLINTEGER* pLengthPtr, + SQLSMALLINT* pPrecisionPtr, + SQLSMALLINT* pScalePtr, + SQLSMALLINT* pNullablePtr ) { __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLGetDescRec called Desc: %d, DescType: %d, RecNum: %d", pDesc, - pDesc ? * ( ( short* ) pDesc ) : 0, pRecNum ) ); + pDesc ? * ( ( short* ) pDesc ) : 0, pRecNum ) ); Word desctype; Long i; - + // precaution - if ( pDesc == NULL ) { + if ( pDesc == NULL ) + { __ODBCPOPMSG ( _ODBCPopMsg ( "SQLGetDescRec - invalid params" ) ); return SQL_ERROR; } - + // initializations - desctype = _DESCTYPE ( pDesc ); - - switch ( desctype ) { - case SQL_DESC_APD: + desctype = _DESCTYPE ( pDesc ); + + switch ( desctype ) + { + case SQL_DESC_APD : pAPDItem apditem; - _SQLFreeDiag ( & ( ( ( pODBCAPD ) pDesc )->Stmt->Diag ) ); + _SQLFreeDiag ( & ( ( ( pODBCAPD ) pDesc ) -> Stmt -> Diag ) ); // get item from APD apditem = _SQLGetAPDItem ( ( pODBCAPD ) pDesc, pRecNum ); - + // check if item located - if ( apditem == NULL ) { + if ( apditem == NULL ) + { __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLGetDescRec - invalid APD item" ) ); return SQL_ERROR; } - + // get the fields _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, apditem, pRecNum, SQL_DESC_NAME, pName, pNameSize, &i ); *pNameSizePtr = ( Word ) i; _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, apditem, pRecNum, SQL_DESC_TYPE, pTypePtr, -1, NULL ); - _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, apditem, pRecNum, SQL_DESC_DATETIME_INTERVAL_CODE , pSubTypePtr, -1, + _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, apditem, pRecNum, SQL_DESC_DATETIME_INTERVAL_CODE, pSubTypePtr, -1, NULL ); _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, apditem, pRecNum, SQL_DESC_OCTET_LENGTH, pLengthPtr, -1, NULL ); _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, apditem, pRecNum, SQL_DESC_PRECISION, pPrecisionPtr, -1, NULL ); _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, apditem, pRecNum, SQL_DESC_SCALE, pScalePtr, -1, NULL ); _SQLGetAPDItemField ( ( pODBCAPD ) pDesc, apditem, pRecNum, SQL_DESC_NULLABLE, pNullablePtr, -1, NULL ); break; - - case SQL_DESC_IPD: + + case SQL_DESC_IPD : pIPDItem ipditem; - _SQLFreeDiag ( & ( ( ( pODBCIPD ) pDesc )->Stmt->Diag ) ); + _SQLFreeDiag ( & ( ( ( pODBCIPD ) pDesc ) -> Stmt -> Diag ) ); // get item from IPD ipditem = _SQLGetIPDItem ( ( pODBCIPD ) pDesc, pRecNum ); - + // check if item located - if ( ipditem == NULL ) { + if ( ipditem == NULL ) + { __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLGetDescRec - invalid IPD item" ) ); return SQL_ERROR; } - + // set the fields _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, ipditem, pRecNum, SQL_DESC_NAME, pName, pNameSize, &i ); *pNameSizePtr = ( Word ) i; _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, ipditem, pRecNum, SQL_DESC_TYPE, pTypePtr, -1, NULL ); - _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, ipditem, pRecNum, SQL_DESC_DATETIME_INTERVAL_CODE , pSubTypePtr, -1, + _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, ipditem, pRecNum, SQL_DESC_DATETIME_INTERVAL_CODE, pSubTypePtr, -1, NULL ); _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, ipditem, pRecNum, SQL_DESC_OCTET_LENGTH, pLengthPtr, -1, NULL ); _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, ipditem, pRecNum, SQL_DESC_PRECISION, pPrecisionPtr, -1, NULL ); _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, ipditem, pRecNum, SQL_DESC_SCALE, pScalePtr, -1, NULL ); _SQLGetIPDItemField ( ( pODBCIPD ) pDesc, ipditem, pRecNum, SQL_DESC_NULLABLE, pNullablePtr, -1, NULL ); break; - - case SQL_DESC_ARD: + + case SQL_DESC_ARD : pARDItem arditem; - _SQLFreeDiag ( & ( ( ( pODBCARD ) pDesc )->Stmt->Diag ) ); + _SQLFreeDiag ( & ( ( ( pODBCARD ) pDesc ) -> Stmt -> Diag ) ); // get item from ARD arditem = _SQLGetARDItem ( ( pODBCARD ) pDesc, pRecNum ); - + // check if item located - if ( arditem == NULL ) { + if ( arditem == NULL ) + { __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLGetDescRec - invalid ARD item" ) ); return SQL_ERROR; } - + // get the fields _SQLGetARDItemField ( ( pODBCARD ) pDesc, arditem, pRecNum, SQL_DESC_NAME, pName, pNameSize, &i ); *pNameSizePtr = ( Word ) i; _SQLGetARDItemField ( ( pODBCARD ) pDesc, arditem, pRecNum, SQL_DESC_TYPE, pTypePtr, -1, NULL ); - _SQLGetARDItemField ( ( pODBCARD ) pDesc, arditem, pRecNum, SQL_DESC_DATETIME_INTERVAL_CODE , pSubTypePtr, -1, + _SQLGetARDItemField ( ( pODBCARD ) pDesc, arditem, pRecNum, SQL_DESC_DATETIME_INTERVAL_CODE, pSubTypePtr, -1, NULL ); _SQLGetARDItemField ( ( pODBCARD ) pDesc, arditem, pRecNum, SQL_DESC_OCTET_LENGTH, pLengthPtr, -1, NULL ); _SQLGetARDItemField ( ( pODBCARD ) pDesc, arditem, pRecNum, SQL_DESC_PRECISION, pPrecisionPtr, -1, NULL ); _SQLGetARDItemField ( ( pODBCARD ) pDesc, arditem, pRecNum, SQL_DESC_SCALE, pScalePtr, -1, NULL ); _SQLGetARDItemField ( ( pODBCARD ) pDesc, arditem, pRecNum, SQL_DESC_NULLABLE, pNullablePtr, -1, NULL ); break; - - case SQL_DESC_IRD: - _SQLFreeDiag ( & ( ( ( pODBCIRD ) pDesc )->Stmt->Diag ) ); - - // fall thru - - default: + + case SQL_DESC_IRD : + _SQLFreeDiag ( & ( ( ( pODBCIRD ) pDesc ) -> Stmt -> Diag ) ); + + // fall thru + + default : __ODBCPOPMSG ( _ODBCPopMsg ( "SQLSetDescRec - Invalid descriptor handle" ) ); return SQL_ERROR; } - + return SQL_SUCCESS; } @@ -1184,18 +1240,19 @@ RETCODE SQL_API SQLGetDescRec ( SQLHDESC pDesc, // to set multiple fields in a desc record, at one shot // ----------------------------------------------------------------------- -RETCODE SQL_API SQLSetDescRec ( SQLHDESC pDesc, - SQLSMALLINT pRecNum, - SQLSMALLINT pType, - SQLSMALLINT pSubType, - SQLINTEGER pLength, - SQLSMALLINT pPrecision, - SQLSMALLINT pScale, - SQLPOINTER pDataPtr, - SQLINTEGER* pDataSizePtr, - SQLINTEGER* pDataIndPtr ) { +RETCODE SQL_API SQLSetDescRec ( SQLHDESC pDesc, + SQLSMALLINT pRecNum, + SQLSMALLINT pType, + SQLSMALLINT pSubType, + SQLINTEGER pLength, + SQLSMALLINT pPrecision, + SQLSMALLINT pScale, + SQLPOINTER pDataPtr, + SQLINTEGER* pDataSizePtr, + SQLINTEGER* pDataIndPtr ) +{ __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLSetDescRec called Desc: %d, DescType: %d, RecNum: %d", pDesc, - pDesc ? * ( ( short* ) pDesc ) : 0, pRecNum ) ); + pDesc ? * ( ( short* ) pDesc ) : 0, pRecNum ) ); __ODBCPOPMSG ( _ODBCPopMsg ( "SQLGetDescRec Not implemented" ) ); return SQL_ERROR; } @@ -1206,7 +1263,8 @@ RETCODE SQL_API SQLSetDescRec ( SQLHDESC pDesc, // ----------------------------------------------------------------------- RETCODE SQL_API SQLCopyDesc ( SQLHDESC pSrcDescHandle, - SQLHDESC pTgtDescHandle ) { + SQLHDESC pTgtDescHandle ) +{ __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLCopyDesc called" ) ); __ODBCPOPMSG ( _ODBCPopMsg ( "SQLCopyDesc not implemented" ) ); return SQL_ERROR; @@ -1220,12 +1278,13 @@ RETCODE SQL_API SQLCopyDesc ( SQLHDESC pSrcDescHandle, // to get a particular ARD item // ----------------------------------------------------------------------- -pARDItem _SQLGetARDItem ( const pODBCARD pDesc, Word pRecNum ) { +pARDItem _SQLGetARDItem ( const pODBCARD pDesc, Word pRecNum ) +{ pARDItem i; - + // loop to see if binding for that col already exists - for ( i = pDesc->BindCols; i != NULL && i->ColNum != pRecNum; i = i->Next ); - + for ( i = pDesc -> BindCols; i != NULL && i -> ColNum != pRecNum; i = i -> Next ); + // return the ARD item return i; } @@ -1235,12 +1294,13 @@ pARDItem _SQLGetARDItem ( const pODBCARD pDesc, Word pRecNum ) { // to get a particular IPD item // ----------------------------------------------------------------------- -pAPDItem _SQLGetAPDItem ( const pODBCAPD pDesc, Word pRecNum ) { +pAPDItem _SQLGetAPDItem ( const pODBCAPD pDesc, Word pRecNum ) +{ pAPDItem i; - + // loop to see if binding for that col already exists - for ( i = pDesc->BindParams; i != NULL && i->ParamNum != pRecNum; i = i->Next ); - + for ( i = pDesc -> BindParams; i != NULL && i -> ParamNum != pRecNum; i = i -> Next ); + // return the ARD item return i; } @@ -1250,12 +1310,15 @@ pAPDItem _SQLGetAPDItem ( const pODBCAPD pDesc, Word pRecNum ) { // to get a particular IRD item, mhb // ----------------------------------------------------------------------- -pIRDItem _SQLGetIRDItem ( const pODBCIRD pDesc, Word pRecNum ) { +pIRDItem _SQLGetIRDItem ( const pODBCIRD pDesc, Word pRecNum ) +{ // check if descriptor is valid - if ( pDesc == NULL || pDesc->RowDesc == NULL ) - { return NULL; } - - return pDesc->RowDesc->columnMetas.at ( pRecNum - 1 ); + if ( pDesc == NULL || pDesc -> RowDesc == NULL ) + { + return NULL; + } + + return pDesc -> RowDesc -> columnMetas . at ( pRecNum - 1 ); } @@ -1263,18 +1326,18 @@ pIRDItem _SQLGetIRDItem ( const pODBCIRD pDesc, Word pRecNum ) { // to get a particular IPD item // ----------------------------------------------------------------------- -pIPDItem _SQLGetIPDItem ( const pODBCIPD pDesc, Word pRecNum ) { +pIPDItem _SQLGetIPDItem ( const pODBCIPD pDesc, Word pRecNum ) +{ pIPDItem i; - + // loop to see if binding for that col already exists - for ( i = pDesc->BindParams; i != NULL && i->ParamNum != pRecNum; i = i->Next ); - + for ( i = pDesc -> BindParams; i != NULL && i -> ParamNum != pRecNum; i = i -> Next ); + // return the ARD item return i; } - /////////////////////// DEFAULTS @@ -1282,15 +1345,16 @@ pIPDItem _SQLGetIPDItem ( const pODBCIPD pDesc, Word pRecNum ) { // to set default values of APD header // ----------------------------------------------------------------------- -eGoodBad _SQLSetAPDFieldsDefault ( pODBCAPD pDesc, const pODBCStmt pStmt ) { +eGoodBad _SQLSetAPDFieldsDefault ( pODBCAPD pDesc, const pODBCStmt pStmt ) +{ // reset all - memset ( pDesc, 0, sizeof ( ODBCAPD ) ); + memset ( pDesc, 0, sizeof ( ODBCAPD) ); // set explicit defaults - pDesc->Sign = SQL_DESC_APD; - pDesc->Stmt = pStmt; - pDesc->AllocType = SQL_DESC_ALLOC_AUTO; - pDesc->RowArraySize = 1; - pDesc->BindTypeOrSize = SQL_BIND_BY_COLUMN; + pDesc -> Sign = SQL_DESC_APD; + pDesc -> Stmt = pStmt; + pDesc -> AllocType = SQL_DESC_ALLOC_AUTO; + pDesc -> RowArraySize = 1; + pDesc -> BindTypeOrSize = SQL_BIND_BY_COLUMN; return GOOD; } @@ -1298,12 +1362,13 @@ eGoodBad _SQLSetAPDFieldsDefault ( pODBCAPD pDesc, const pODBCStmt pStmt ) { // to set default values of APD item // ----------------------------------------------------------------------- -eGoodBad _SQLSetAPDItemFieldsDefault ( pAPDItem pDescItem ) { +eGoodBad _SQLSetAPDItemFieldsDefault ( pAPDItem pDescItem ) +{ // reset all - memset ( pDescItem, 0, sizeof ( APDItem ) ); + memset ( pDescItem, 0, sizeof ( APDItem) ); // set explicit defaults - pDescItem->DataConciseType = SQL_C_DEFAULT; - pDescItem->DataVerboseType = SQL_C_DEFAULT; + pDescItem -> DataConciseType = SQL_C_DEFAULT; + pDescItem -> DataVerboseType = SQL_C_DEFAULT; return GOOD; } @@ -1311,12 +1376,13 @@ eGoodBad _SQLSetAPDItemFieldsDefault ( pAPDItem pDescItem ) { // to set default values of IPD header // ----------------------------------------------------------------------- -eGoodBad _SQLSetIPDFieldsDefault ( pODBCIPD pDesc, const pODBCStmt pStmt ) { +eGoodBad _SQLSetIPDFieldsDefault ( pODBCIPD pDesc, const pODBCStmt pStmt ) +{ // reset all - memset ( pDesc, 0, sizeof ( ODBCIPD ) ); + memset ( pDesc, 0, sizeof ( ODBCIPD) ); // set explicit defaults - pDesc->Sign = SQL_DESC_IPD; - pDesc->Stmt = pStmt; + pDesc -> Sign = SQL_DESC_IPD; + pDesc -> Stmt = pStmt; return GOOD; } @@ -1324,13 +1390,14 @@ eGoodBad _SQLSetIPDFieldsDefault ( pODBCIPD pDesc, const pODBCStmt pStmt ) { // to set default values of IPD item // ----------------------------------------------------------------------- -eGoodBad _SQLSetIPDItemFieldsDefault ( pIPDItem pDescItem ) { +eGoodBad _SQLSetIPDItemFieldsDefault ( pIPDItem pDescItem ) +{ // reset all - memset ( pDescItem, 0, sizeof ( IPDItem ) ); + memset ( pDescItem, 0, sizeof ( IPDItem) ); // set explicit defaults - pDescItem->ParamType = SQL_PARAM_INPUT; - pDescItem->DataConciseType = SQL_DEFAULT; - pDescItem->DataVerboseType = SQL_DEFAULT; + pDescItem -> ParamType = SQL_PARAM_INPUT; + pDescItem -> DataConciseType = SQL_DEFAULT; + pDescItem -> DataVerboseType = SQL_DEFAULT; return GOOD; } @@ -1338,15 +1405,16 @@ eGoodBad _SQLSetIPDItemFieldsDefault ( pIPDItem pDescItem ) { // to set default values of ARD header // ----------------------------------------------------------------------- -eGoodBad _SQLSetARDFieldsDefault ( pODBCARD pDesc, const pODBCStmt pStmt ) { +eGoodBad _SQLSetARDFieldsDefault ( pODBCARD pDesc, const pODBCStmt pStmt ) +{ // reset all - memset ( pDesc, 0, sizeof ( ODBCARD ) ); + memset ( pDesc, 0, sizeof ( ODBCARD) ); // set explicit defaults - pDesc->Sign = SQL_DESC_ARD; - pDesc->Stmt = pStmt; - pDesc->AllocType = SQL_DESC_ALLOC_AUTO; - pDesc->RowArraySize = 1; - pDesc->BindTypeOrSize = SQL_BIND_BY_COLUMN; + pDesc -> Sign = SQL_DESC_ARD; + pDesc -> Stmt = pStmt; + pDesc -> AllocType = SQL_DESC_ALLOC_AUTO; + pDesc -> RowArraySize = 1; + pDesc -> BindTypeOrSize = SQL_BIND_BY_COLUMN; return GOOD; } @@ -1354,13 +1422,14 @@ eGoodBad _SQLSetARDFieldsDefault ( pODBCARD pDesc, const pODBCStmt pStmt ) { // to set default values of ARD item // ----------------------------------------------------------------------- -eGoodBad _SQLSetARDItemFieldsDefault ( pARDItem pDescItem, Word pRecNum ) { +eGoodBad _SQLSetARDItemFieldsDefault ( pARDItem pDescItem, Word pRecNum ) +{ // reset - memset ( pDescItem, 0, sizeof ( ARDItem ) ); + memset ( pDescItem, 0, sizeof ( ARDItem) ); // set explicit defaults - pDescItem->ColNum = pRecNum; - pDescItem->DataConciseType = SQL_C_DEFAULT; - pDescItem->DataVerboseType = SQL_C_DEFAULT; + pDescItem -> ColNum = pRecNum; + pDescItem -> DataConciseType = SQL_C_DEFAULT; + pDescItem -> DataVerboseType = SQL_C_DEFAULT; return GOOD; } @@ -1369,12 +1438,13 @@ eGoodBad _SQLSetARDItemFieldsDefault ( pARDItem pDescItem, Word pRecNum ) { // to set default values of IRD header // ----------------------------------------------------------------------- -eGoodBad _SQLSetIRDFieldsDefault ( pODBCIRD pDesc, const pODBCStmt pStmt ) { +eGoodBad _SQLSetIRDFieldsDefault ( pODBCIRD pDesc, const pODBCStmt pStmt ) +{ // reset all - memset ( pDesc, 0, sizeof ( ODBCIRD ) ); + memset ( pDesc, 0, sizeof ( ODBCIRD) ); // set explicit defaults - pDesc->Sign = SQL_DESC_IRD; - pDesc->Stmt = pStmt; + pDesc -> Sign = SQL_DESC_IRD; + pDesc -> Stmt = pStmt; return GOOD; } @@ -1382,7 +1452,8 @@ eGoodBad _SQLSetIRDFieldsDefault ( pODBCIRD pDesc, const pODBCStmt pStmt ) { // to set default values of IRD item // ----------------------------------------------------------------------- -eGoodBad _SQLSetIRDItemFieldsDefault ( pIRDItem pDescItem ) { +eGoodBad _SQLSetIRDItemFieldsDefault ( pIRDItem pDescItem ) +{ return GOOD; } @@ -1395,46 +1466,49 @@ eGoodBad _SQLSetIRDItemFieldsDefault ( pIRDItem pDescItem ) { // to set a field value in APD // ----------------------------------------------------------------------- -RETCODE SQL_API _SQLSetAPDField ( pODBCAPD pDesc, Word pFldID, const void* pDataPtr, Long pDataSize ) { +RETCODE SQL_API _SQLSetAPDField ( pODBCAPD pDesc, Word pFldID, const void* pDataPtr, Long pDataSize ) +{ __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "_SQLSetAPDField called, pDesc: %d, Fld: %d, DataPtr: %d, DataSize: %d", - pDesc, pFldID, pDataPtr, pDataSize ) ); - + pDesc, pFldID, pDataPtr, pDataSize ) ); + // precaution - if ( pDesc == NULL ) { + if ( pDesc == NULL ) + { __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLSetAPDField - invalid params" ) ); return SQL_ERROR; } - - switch ( pFldID ) { - case SQL_DESC_ARRAY_SIZE: - pDesc->RowArraySize = ( ULong ) pDataPtr; + + switch ( pFldID ) + { + case SQL_DESC_ARRAY_SIZE : + pDesc -> RowArraySize = ( ULong ) pDataPtr; break; - - case SQL_DESC_ARRAY_STATUS_PTR: - pDesc->ArrayStatusPtr = ( UWord* ) pDataPtr; + + case SQL_DESC_ARRAY_STATUS_PTR : + pDesc -> ArrayStatusPtr = ( UWord* ) pDataPtr; break; - - case SQL_DESC_BIND_OFFSET_PTR: - pDesc->BindOffsetPtr = ( Long* ) pDataPtr; + + case SQL_DESC_BIND_OFFSET_PTR : + pDesc -> BindOffsetPtr = ( Long* ) pDataPtr; break; - - case SQL_DESC_BIND_TYPE: - pDesc->BindTypeOrSize = ( Long ) pDataPtr; + + case SQL_DESC_BIND_TYPE : + pDesc -> BindTypeOrSize = ( Long ) pDataPtr; break; - - case SQL_DESC_COUNT: + + case SQL_DESC_COUNT : // ???? requires that all descriptors which r above the specified // value are freed __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLSetAPDField - SQL_DESC_COUNT not implemented" ) ); return SQL_ERROR; break; - - default: + + default : __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLSetAPDField - unknown field (%d)", pFldID ) ); return SQL_ERROR; break; } - + return SQL_SUCCESS; } @@ -1443,25 +1517,29 @@ RETCODE SQL_API _SQLSetAPDField ( pODBCAPD pDesc, Word pFldID, const void* pData // ----------------------------------------------------------------------- RETCODE SQL_API _SQLSetAPDItemField ( pODBCAPD pDesc, pAPDItem pDescItem, Word pRecNum, Word pFldID, - const void* pDataPtr, Long pDataSize ) { + const void* pDataPtr, Long pDataSize ) +{ __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, - "_SQLSetAPDItemField called, pDesc: %d, pDescItem: %d, Recnum: %d, Fld: %d, DataPtr: %d, DataSize: %d", pDesc, - pDescItem, pRecNum, pFldID, pDataPtr, pDataSize ) ); - pAPDItem item; - + "_SQLSetAPDItemField called, pDesc: %d, pDescItem: %d, Recnum: %d, Fld: %d, DataPtr: %d, DataSize: %d", pDesc, + pDescItem, pRecNum, pFldID, pDataPtr, pDataSize ) ); + pAPDItem item; + // precaution - if ( pDesc == NULL ) { + if ( pDesc == NULL ) + { __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLSetAPDItemField - invalid params" ) ); return SQL_ERROR; } - + // check if item has not been explicitly specified - if ( pDescItem == NULL ) { + if ( pDescItem == NULL ) + { // get item from APD item = _SQLGetAPDItem ( pDesc, pRecNum ); - + // check if item located - if ( item == NULL ) { + if ( item == NULL ) + { // as a patch for SQL server it is temporarily ignoring the error __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "_SQLSetAPDItemField - invalid item" ) ); return SQL_SUCCESS; @@ -1471,66 +1549,69 @@ RETCODE SQL_API _SQLSetAPDItemField ( pODBCAPD pDesc, pAPDItem pDescItem, Word p ///////////////////////////////////////////////// } } - + else - { item = pDescItem; } - + { + item = pDescItem; + } + // as per required field - switch ( pFldID ) { - case SQL_DESC_CONCISE_TYPE: - _SQLSetDataType ( & ( pDesc->Stmt->Diag ), SQL_DESC_CONCISE_TYPE, ( Word ) pDataPtr, & ( item->DataVerboseType ), - & ( item->DataConciseType ), & ( item->DateTimeIntervalCode ) ); - break; - - case SQL_DESC_DATA_PTR: - item->DataPtr = ( void* ) pDataPtr; - break; - - case SQL_DESC_DATETIME_INTERVAL_CODE: - _SQLSetDataType ( & ( pDesc->Stmt->Diag ), SQL_DESC_DATETIME_INTERVAL_CODE, ( Word ) pDataPtr, - & ( item->DataVerboseType ), & ( item->DataConciseType ), & ( item->DateTimeIntervalCode ) ); - break; - - case SQL_DESC_DATETIME_INTERVAL_PRECISION: - item->DateTimeIntervalPrec = ( Long ) pDataPtr; - break; - - case SQL_DESC_INDICATOR_PTR: - item->SizeIndPtr = ( Long* ) pDataPtr; - break; - - case SQL_DESC_LENGTH: - case SQL_DESC_OCTET_LENGTH: - item->DataSize = ( Long ) pDataPtr; - break; - - case SQL_DESC_NUM_PREC_RADIX: - item->NumPrecRadix = ( Long ) pDataPtr; - break; - - case SQL_DESC_OCTET_LENGTH_PTR: - item->SizePtr = ( Long* ) pDataPtr; - break; - - case SQL_DESC_PRECISION: - item->DataSize = ( Word ) pDataPtr; - break; - - case SQL_DESC_SCALE: - item->Scale = ( Word ) pDataPtr; - break; - - case SQL_DESC_TYPE: - _SQLSetDataType ( & ( pDesc->Stmt->Diag ), SQL_DESC_TYPE, ( Word ) pDataPtr, & ( item->DataVerboseType ), - & ( item->DataConciseType ), & ( item->DateTimeIntervalCode ) ); - break; - - default: + switch ( pFldID ) + { + case SQL_DESC_CONCISE_TYPE : + _SQLSetDataType ( & ( pDesc -> Stmt -> Diag ), SQL_DESC_CONCISE_TYPE, ( Word ) pDataPtr, & ( item -> DataVerboseType ), + & ( item -> DataConciseType ), & ( item -> DateTimeIntervalCode ) ); + break; + + case SQL_DESC_DATA_PTR : + item -> DataPtr = ( void* ) pDataPtr; + break; + + case SQL_DESC_DATETIME_INTERVAL_CODE : + _SQLSetDataType ( & ( pDesc -> Stmt -> Diag ), SQL_DESC_DATETIME_INTERVAL_CODE, ( Word ) pDataPtr, + & ( item -> DataVerboseType ), & ( item -> DataConciseType ), & ( item -> DateTimeIntervalCode ) ); + break; + + case SQL_DESC_DATETIME_INTERVAL_PRECISION : + item -> DateTimeIntervalPrec = ( Long ) pDataPtr; + break; + + case SQL_DESC_INDICATOR_PTR : + item -> SizeIndPtr = ( Long* ) pDataPtr; + break; + + case SQL_DESC_LENGTH : + case SQL_DESC_OCTET_LENGTH : + item -> DataSize = ( Long ) pDataPtr; + break; + + case SQL_DESC_NUM_PREC_RADIX : + item -> NumPrecRadix = ( Long ) pDataPtr; + break; + + case SQL_DESC_OCTET_LENGTH_PTR : + item -> SizePtr = ( Long* ) pDataPtr; + break; + + case SQL_DESC_PRECISION : + item -> DataSize = ( Word ) pDataPtr; + break; + + case SQL_DESC_SCALE : + item -> Scale = ( Word ) pDataPtr; + break; + + case SQL_DESC_TYPE : + _SQLSetDataType ( & ( pDesc -> Stmt -> Diag ), SQL_DESC_TYPE, ( Word ) pDataPtr, & ( item -> DataVerboseType ), + & ( item -> DataConciseType ), & ( item -> DateTimeIntervalCode ) ); + break; + + default : __ODBCPOPMSG ( _ODBCPopMsg ( "_SQLSetAPDItemField - unknown field (%d)", pFldID ) ); return SQL_ERROR; break; } - + return SQL_SUCCESS; } @@ -1539,49 +1620,52 @@ RETCODE SQL_API _SQLSetAPDItemField ( pODBCAPD pDesc, pAPDItem pDescItem, Word p // ----------------------------------------------------------------------- RETCODE SQL_API _SQLGetAPDField ( const pODBCAPD pDesc, Word pFldID, void* pDataPtr, Long pDataSize, - Long* pDataSizePtr ) { + Long* pDataSizePtr ) +{ __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, - "_SQLGetAPDField called, pDesc: %d, Fld: %d, DataPtr: %d, DataSize: %d, DataSizePtr: %d", pDesc, pFldID, pDataPtr, - pDataSize, pDataSizePtr ) ); - + "_SQLGetAPDField called, pDesc: %d, Fld: %d, DataPtr: %d, DataSize: %d, DataSizePtr: %d", pDesc, pFldID, pDataPtr, + pDataSize, pDataSizePtr ) ); + // precaution - if ( pDesc == NULL || pDataPtr == NULL ) { + if ( pDesc == NULL || pDataPtr == NULL ) + { __ODBCPOPMSG ( _ODBCPopMsg ( "SQLGetAPDField - invalid params" ) ); return SQL_ERROR; } - + // as per required field - switch ( pFldID ) { - case SQL_DESC_ALLOC_TYPE: - * ( ( Word* ) pDataPtr ) = pDesc->AllocType; + switch ( pFldID ) + { + case SQL_DESC_ALLOC_TYPE : + * ( ( Word* ) pDataPtr ) = pDesc -> AllocType; break; - - case SQL_DESC_ARRAY_SIZE: - * ( ( ULong* ) pDataPtr ) = pDesc->RowArraySize; + + case SQL_DESC_ARRAY_SIZE : + * ( ( ULong* ) pDataPtr ) = pDesc -> RowArraySize; break; - - case SQL_DESC_ARRAY_STATUS_PTR: - * ( ( UWord** ) pDataPtr ) = pDesc->ArrayStatusPtr; + + case SQL_DESC_ARRAY_STATUS_PTR : + * ( ( UWord** ) pDataPtr ) = pDesc -> ArrayStatusPtr; break; - - case SQL_DESC_BIND_OFFSET_PTR: - * ( ( Long** ) pDataPtr ) = pDesc->BindOffsetPt
<TRUNCATED>