Removed:
MYODBCDes/MYODBCDesLib/MYODBCDesAlloc.c
MYODBCDes/MYODBCDesLib/MYODBCDesCount.c
MYODBCDes/MYODBCDesLib/MYODBCDesDump.c
MYODBCDes/MYODBCDesLib/MYODBCDesFree.c
MYODBCDes/MYODBCDesLib/MYODBCDesGetLength.c
MYODBCDes/MYODBCDesLib/MYODBCDesMorph.c
MYODBCDes/MYODBCDesLib/MYODBCDesRecAlloc.c
MYODBCDes/MYODBCDesLib/MYODBCDesRecAllocExt.c
MYODBCDes/MYODBCDesLib/MYODBCDesRecClear.c
MYODBCDes/MYODBCDesLib/MYODBCDesRecConciseType.c
MYODBCDes/MYODBCDesLib/MYODBCDesRecConciseTypeC.c
MYODBCDes/MYODBCDesLib/MYODBCDesRecConciseTypeSQL.c
MYODBCDes/MYODBCDesLib/MYODBCDesRecCopy.c
MYODBCDes/MYODBCDesLib/MYODBCDesRecDump.c
MYODBCDes/MYODBCDesLib/MYODBCDesRecFree.c
MYODBCDes/MYODBCDesLib/MYODBCDesRecGet.c
MYODBCDes/MYODBCDesLib/MYODBCDesRecIntervalCode.c
MYODBCDes/MYODBCDesLib/MYODBCDesRecIrdInteger.c
MYODBCDes/MYODBCDesLib/MYODBCDesRecIrdSmallInt.c
MYODBCDes/MYODBCDesLib/MYODBCDesRecIrdVarChar.c
MYODBCDes/MYODBCDesLib/MYODBCDesRecSetFreeExtra.c
MYODBCDes/MYODBCDesLib/MYODBCDesRecType.c
MYODBCDes/MYODBCDesLib/MYODBCDesRecTypeC.c
MYODBCDes/MYODBCDesLib/MYODBCDesRecTypeSQL.c
MYODBCDes/MYODBCDesLib/MYODBCDesRecUnbind.c
MYODBCDes/MYODBCDesLib/MYODBCDesRecsFree.c
MYODBCDes/MYODBCDesLib/MYODBCDesSetFreeExtra.c
Modified:
MYODBCAtt/MYODBCAtt.vpj
MYODBCAtt/MYODBCAttLib/MYODBCAttInternal.h
MYODBCAtt/MYODBCAttLib/MYODBCAttStatement.cpp
MYODBCAtt/include/MYODBCAttStatement.h
MYODBCDes/MYODBCDesLib/MYODBCDesLib.vpj
Log:
UNICODE:
- added more setters/getters to MYODBCAttStatement
Modified: MYODBCAtt/MYODBCAtt.vpj
===================================================================
--- MYODBCAtt/MYODBCAtt.vpj 2006-01-20 19:19:22 UTC (rev 46)
+++ MYODBCAtt/MYODBCAtt.vpj 2006-01-20 20:04:33 UTC (rev 47)
@@ -55,6 +55,7 @@
<Folder
Name="Header Files"
Filters="*.h;*.H;*.hh;*.hpp;*.hxx;*.inc;*.sh;*.cpy;*.if">
+ <F N="include/MYODBCAttStatement.h"/>
</Folder>
<Folder
Name="Resource Files"
Modified: MYODBCAtt/MYODBCAttLib/MYODBCAttInternal.h
===================================================================
--- MYODBCAtt/MYODBCAttLib/MYODBCAttInternal.h 2006-01-20 19:19:22 UTC (rev 46)
+++ MYODBCAtt/MYODBCAttLib/MYODBCAttInternal.h 2006-01-20 20:04:33 UTC (rev 47)
@@ -10,7 +10,7 @@
#ifndef MYODBC_ATT_INTERNAL_H
#define MYODBC_ATT_INTERNAL_H
-#include "../include/MYODBCAtt.h"
+#include "../include/MYODBCAttStatement.h"
#endif
Modified: MYODBCAtt/MYODBCAttLib/MYODBCAttStatement.cpp
===================================================================
--- MYODBCAtt/MYODBCAttLib/MYODBCAttStatement.cpp 2006-01-20 19:19:22 UTC (rev 46)
+++ MYODBCAtt/MYODBCAttLib/MYODBCAttStatement.cpp 2006-01-20 20:04:33 UTC (rev 47)
@@ -1,6 +1,6 @@
#include "MYODBCAttInternal.h"
-MYODBCAtt::MYODBCAttStm( SQLHANDLE hStm, MYODBCDia *pdia )
+MYODBCAttStatement::MYODBCAttStatement( SQLHANDLE hStm, MYODBCDia *pdia )
{
MYODBCDbgEnter();
@@ -19,7 +19,7 @@
MYODBCDbgReturn2();
}
-void MYODBCAtt::MYODBCAtt()
+void MYODBCAttStatement::MYODBCAttStatement()
{
MYODBCDbgEnter();
@@ -29,7 +29,7 @@
MYODBCDbgReturn2();
}
-SQLRETURN MYODBCAtt::setAppParamDesc( MYODBCDes *pdes )
+SQLRETURN MYODBCAttStatement::setAppParamDesc( MYODBCDes *pdes )
{
MYODBCDbgEnter();
@@ -45,7 +45,7 @@
MYODBCDbgReturn( SQL_SUCCESS );
}
-SQLRETURN MYODBCAtt::setAppRowDesc( MYODBCDes *pdes )
+SQLRETURN MYODBCAttStatement::setAppRowDesc( MYODBCDes *pdes )
{
MYODBCDbgEnter();
@@ -61,14 +61,14 @@
MYODBCDbgReturn( SQL_SUCCESS );
}
-SQLRETURN MYODBCAtt::setAsyncEnable( SQLUINTEGER nAsyncEnable )
+SQLRETURN MYODBCAttStatement::setAsyncEnable( SQLUINTEGER nAsyncEnable )
{
MYODBCDbgEnter();
MYODBCDbgReturn( pdia->doAppend( MYODBC_DIA_HYC00, 0, NULL ) );
}
-SQLRETURN MYODBCAtt::setConcurrency( SQLUINTEGER nConcurrency )
+SQLRETURN MYODBCAttStatement::setConcurrency( SQLUINTEGER nConcurrency )
{
MYODBCDbgEnter();
@@ -92,7 +92,7 @@
MYODBCDbgReturn( SQL_SUCCESS );
}
-SQLRETURN MYODBCAtt::setCursorScrollable( SQLUINTEGER nCursorScrollable )
+SQLRETURN MYODBCAttStatement::setCursorScrollable( SQLUINTEGER nCursorScrollable )
{
MYODBCDbgEnter();
@@ -115,7 +115,7 @@
MYODBCDbgReturn( SQL_SUCCESS );
}
-SQLRETURN MYODBCAtt::setCursorSensitivity( SQLUINTEGER nCursorSensitivity )
+SQLRETURN MYODBCAttStatement::setCursorSensitivity( SQLUINTEGER nCursorSensitivity )
{
MYODBCDbgEnter();
@@ -140,14 +140,251 @@
-++++++++++++++++
+SQLHANDLE MYODBCAttStatement::getStm()
+{
+ MYODBCDbgEnter();
-SQLUINTEGER MYODBCAtt::getAsyncEnable()
+ MYODBCDbgReturn3( "%p", hStm );
+}
+
+MYODBCDia *MYODBCAttStatement::getDia()
{
MYODBCDbgEnter();
+ MYODBCDbgReturn3( "%p", pdia );
+}
+
+MYODBCDes *MYODBCAttStatement::getAppParamDescOrig()
+{
+ MYODBCDbgEnter();
+
+ MYODBCDbgReturn3( "%p", pAppParamDescOrig );
+}
+
+MYODBCDes *MYODBCAttStatement::getAppRowDescOrig()
+{
+ MYODBCDbgEnter();
+
+ MYODBCDbgReturn3( "%p", pAppRowDescOrig );
+}
+
+SQLUINTEGER MYODBCAttStatement::getAsyncEnable()
+{
+ MYODBCDbgEnter();
+
MYODBCDbgReturn3( "%d", nAsyncEnable );
}
+SQLUINTEGER MYODBCAttStatement::getConcurrency()
+{
+ MYODBCDbgEnter();
+ MYODBCDbgReturn3( "%d", nConcurrency );
+}
+SQLUINTEGER MYODBCAttStatement::getCursorScrollable()
+{
+ MYODBCDbgEnter();
+
+ MYODBCDbgReturn3( "%d", nCursorScrollable );
+}
+
+SQLUINTEGER MYODBCAttStatement::getCursorSensitivity()
+{
+ MYODBCDbgEnter();
+
+ MYODBCDbgReturn3( "%d", nCursorSensitivity );
+}
+
+SQLUINTEGER MYODBCAttStatement::getCursorType()
+{
+ MYODBCDbgEnter();
+
+ MYODBCDbgReturn3( "%d", nCursorType );
+}
+
+SQLUINTEGER MYODBCAttStatement::getEnableAutoIPD()
+{
+ MYODBCDbgEnter();
+
+ MYODBCDbgReturn3( "%d", nEnableAutoIPD );
+}
+
+SQLPOINTER MYODBCAttStatement::getFetchBookmarkPtr()
+{
+ MYODBCDbgEnter();
+
+ MYODBCDbgReturn3( "%p", pFetchBookmarkPtr );
+}
+
+MYODBCDes * MYODBCAttStatement::getImpParamDesc()
+{
+ MYODBCDbgEnter();
+
+ MYODBCDbgReturn3( "%p", pImpParamDesc );
+}
+
+MYODBCDes * MYODBCAttStatement::getImpRowDesc()
+{
+ MYODBCDbgEnter();
+
+ MYODBCDbgReturn3( "%p", pImpRowDesc );
+}
+
+SQLUINTEGER MYODBCAttStatement::getKeysetSize()
+{
+ MYODBCDbgEnter();
+
+ MYODBCDbgReturn3( "%d", nKeysetSize );
+}
+
+SQLUINTEGER MYODBCAttStatement::getMaxLength()
+{
+ MYODBCDbgEnter();
+
+ MYODBCDbgReturn3( "%d", nMaxLength );
+}
+
+SQLUINTEGER MYODBCAttStatement::getMaxRows()
+{
+ MYODBCDbgEnter();
+
+ MYODBCDbgReturn3( "%d", nMaxRows );
+}
+
+SQLUINTEGER MYODBCAttStatement::getMetadataID()
+{
+ MYODBCDbgEnter();
+
+ MYODBCDbgReturn3( "%d", nMetadataID );
+}
+
+SQLUINTEGER MYODBCAttStatement::getNoscan()
+{
+ MYODBCDbgEnter();
+
+ MYODBCDbgReturn3( "%d", nNoscan );
+}
+
+SQLUINTEGER *MYODBCAttStatement::getParamBindOffsetPtr()
+{
+ MYODBCDbgEnter();
+
+ MYODBCDbgReturn3( "%p", pAppParamDesc->getBindOffsetPtr() );
+}
+
+SQLUINTEGER MYODBCAttStatement::getParamBindType()
+{
+ MYODBCDbgEnter();
+
+ MYODBCDbgReturn3( "%d", pAppParamDesc->getBindType() );
+}
+
+SQLUSMALLINT *MYODBCAttStatement::getParamOperationPtr()
+{
+ MYODBCDbgEnter();
+
+ MYODBCDbgReturn3( "%p", pAppParamDesc->getArrayStatusPtr() );
+}
+
+SQLUSMALLINT *MYODBCAttStatement::getParamStatusPtr()
+{
+ MYODBCDbgEnter();
+
+ MYODBCDbgReturn3( "%p", pImpParamDesc->getArrayStatusPtr() );
+}
+
+SQLUINTEGER *MYODBCAttStatement::getParamsProcessedPtr()
+{
+ MYODBCDbgEnter();
+
+ MYODBCDbgReturn3( "%p", pImpParamDesc->getRowsProcessedPtr() );
+}
+
+SQLUINTEGER MYODBCAttStatement::getParamsetSize()
+{
+ MYODBCDbgEnter();
+
+ MYODBCDbgReturn3( "%d", pAppParamDesc->getArraySize() );
+}
+
+SQLUINTEGER MYODBCAttStatement::getQueryTimeout()
+{
+ MYODBCDbgEnter();
+
+ MYODBCDbgReturn3( "%d", nQueryTimeout );
+}
+
+SQLUINTEGER MYODBCAttStatement::getRetrieveData()
+{
+ MYODBCDbgEnter();
+
+ MYODBCDbgReturn3( "%d", nRetrieveData );
+}
+
+SQLUINTEGER MYODBCAttStatement::getRowArraySize()
+{
+ MYODBCDbgEnter();
+
+ MYODBCDbgReturn3( "%d", pAppRowDesc->getArraySize() );
+}
+
+SQLUINTEGER *MYODBCAttStatement::getRowBindOffsetPtr()
+{
+ MYODBCDbgEnter();
+
+ MYODBCDbgReturn3( "%p", pAppRowDesc->getBindOffsetPtr() );
+}
+
+SQLUINTEGER MYODBCAttStatement::getRowBindType()
+{
+ MYODBCDbgEnter();
+
+ MYODBCDbgReturn3( "%d", pAppRowDesc->getBindType() );
+}
+
+SQLUINTEGER MYODBCAttStatement::getRowNumber()
+{
+ MYODBCDbgEnter();
+
+ MYODBCDbgReturn3( "%d", nRowNumber );
+}
+
+SQLUSMALLINT *MYODBCAttStatement::getRowOperationPtr()
+{
+ MYODBCDbgEnter();
+
+ MYODBCDbgReturn3( "%p", pAppRowDesc->getArrayStatusPtr() );
+}
+
+SQLUSMALLINT *MYODBCAttStatement::getRowStatusPtr()
+{
+ MYODBCDbgEnter();
+
+ MYODBCDbgReturn3( "%p", pImpRowDesc->getArrayStatusPtr() );
+}
+
+SQLUINTEGER *MYODBCAttStatement::getRowsFetchedPtr()
+{
+ MYODBCDbgEnter();
+
+ MYODBCDbgReturn3( "%p", pImpRowDesc->getRowsProcessedPtr() );
+}
+
+SQLUINTEGER MYODBCAttStatement::getSimulateCursor()
+{
+ MYODBCDbgEnter();
+
+ MYODBCDbgReturn3( "%d", nSimulateCursor );
+}
+
+SQLUINTEGER MYODBCAttStatement::getUseBookmarks()
+{
+ MYODBCDbgEnter();
+
+ MYODBCDbgReturn3( "%d", nUseBookmarks );
+}
+
+
+
+
Modified: MYODBCAtt/include/MYODBCAttStatement.h
===================================================================
--- MYODBCAtt/include/MYODBCAttStatement.h 2006-01-20 19:19:22 UTC (rev 46)
+++ MYODBCAtt/include/MYODBCAttStatement.h 2006-01-20 20:04:33 UTC (rev 47)
@@ -1,42 +1,33 @@
+#ifndef MYODBC_ATT_STATEMENT_H
+#define MYODBC_ATT_STATEMENT_H
-class MYODBCAttStm
+#include <MYODBCC.h>
+#include <MYODBCDbg.h>
+#include <MYODBCDia.h>
+
+#include <QList>
+#include <QString>
+#include <QStringList>
+#include <QTextStream>
+
+class MYODBCAttStatement
{
public:
- MYODBCAttStm( SQLHANDLE hStm, MYODBCDia *pdia );
- virtual void ~MYODBCAttStm();
+ MYODBCAttStatement( SQLHANDLE hStm, MYODBCDia *pdia );
+ virtual void ~MYODBCAttStatement();
- virtual setAsyncEnable( SQLUINTEGER nAsyncEnable ); /*!<
SQL_ATTR_ASYNC_ENABLE */
- SQLUINTEGER nConcurrency; /*!< SQL_ATTR_CONCURRENCY
*/
- SQLUINTEGER nCursorScrollable; /*!< SQL_ATTR_CURSOR_SCROLLABLE
*/
- SQLUINTEGER nCursorSensitivity; /*!< SQL_ATTR_CURSOR_SENSITIVITY
*/
- SQLUINTEGER nCursorType; /*!< SQL_ATTR_CURSOR_TYPE
*/
- SQLUINTEGER nEnableAutoIPD; /*!< SQL_ATTR_ENABLE_AUTO_IPD
*/
- SQLPOINTER pFetchBookmarkPtr; /*!< SQL_ATTR_FETCH_BOOKMARK_PTR
*/
- MYODBCDesIPD ** ppImpParamDesc; /*!< SQL_ATTR_IMP_PARAM_DESC
*/
- MYODBCDesIRD ** ppImpRowDesc; /*!< SQL_ATTR_IMP_ROW_DESC
*/
- SQLUINTEGER nKeysetSize; /*!< SQL_ATTR_KEYSET_SIZE
*/
- SQLUINTEGER nMaxLength; /*!< SQL_ATTR_MAX_LENGTH
*/
- SQLUINTEGER nMaxRows; /*!< SQL_ATTR_MAX_ROWS
*/
- SQLUINTEGER nMetadataID; /*!< SQL_ATTR_METADATA_ID
*/
- SQLUINTEGER nNoscan; /*!< SQL_ATTR_NOSCAN
*/
-// SQLUINTEGER * pnParamBindOffsetPtr; /*!< SQL_ATTR_PARAM_BIND_OFFSET_PTR =
APD->SQL_DESC_BIND_OFFSET_PTR */
-// SQLUINTEGER nParamBindType; /*!< SQL_ATTR_PARAM_BIND_TYPE =
APD->SQL_DESC_ BIND_TYPE */
-// SQLUSMALLINT * pnParamOperationPtr; /*!< SQL_ATTR_PARAM_OPERATION_PTR =
APD->SQL_DESC_ARRAY_STATUS_PTR */
-// SQLUSMALLINT * pnParamStatusPtr; /*!< SQL_ATTR_PARAM_STATUS_PTR =
IPD->SQL_DESC_ARRAY_STATUS_PTR */
-// SQLUINTEGER * pnParamsProcessedPtr; /*!< SQL_ATTR_PARAMS_PROCESSED_PTR =
IPD->SQL_DESC_ROWS_PROCESSED_PTR */
-// SQLUINTEGER nParamsetSize; /*!< SQL_ATTR_PARAMSET_SIZE =
APD->SQL_DESC_ARRAY_SIZE */
- SQLUINTEGER nQueryTimeout; /*!< SQL_ATTR_QUERY_TIMEOUT
*/
- SQLUINTEGER nRetrieveData; /*!< SQL_ATTR_RETRIEVE_DATA
*/
-// SQLUINTEGER nRowArraySize; /*!< SQL_ATTR_ROW_ARRAY_SIZE =
ARD->SQL_DESC_ARRAY_SIZE */
-// SQLUINTEGER * pnRowBindOffsetPtr; /*!< SQL_ATTR_ROW_BIND_OFFSET_PTR =
ARD->SQL_DESC_BIND_OFFSET_PTR */
-// SQLUINTEGER nRowBindType; /*!< SQL_ATTR_ROW_BIND_TYPE =
ARD->SQL_DESC_BIND_TYPE */
- SQLUINTEGER nRowNumber; /*!< SQL_ATTR_ROW_NUMBER
*/
-// SQLUSMALLINT * pnRowOperationPtr; /*!< SQL_ATTR_ROW_OPERATION_PTR =
ARD->SQL_DESC_ARRAY_STATUS_PTR */
-// SQLUSMALLINT * pnRowStatusPtr; /*!< SQL_ATTR_ROW_STATUS_PTR =
IRD->SQL_DESC_ARRAY_STATUS_PTR */
-// SQLUINTEGER * pnRowsFetchedPtr; /*!< SQL_ATTR_ROWS_FETCHED_PTR =
IRD->SQL_DESC_ROWS_PROCESSED_PTR */
- SQLUINTEGER nSimulateCursor; /*!< SQL_ATTR_SIMULATE_CURSOR
*/
- SQLUINTEGER nUseBookmarks; /*!< SQL_ATTR_USE_BOOKMARKS
*/
+ virtual SQLRETURN setAppParamDesc( MYODBCDes *pdes ); /*!<
SQL_ATTR_APP_PARAM_DESC */
+ virtual SQLRETURN setAppRowDesc( MYODBCDes *pdes ); /*!<
SQL_ATTR_APP_ROW_DESC */
+ virtual SQLRETURN setAsyncEnable( SQLUINTEGER nAsyncEnable ); /*!<
SQL_ATTR_ASYNC_ENABLE */
+ virtual SQLRETURN setConcurrency( SQLUINTEGER nConcurrency ); /*!<
SQL_ATTR_CONCURRENCY */
+ virtual SQLRETURN setCursorScrollable( SQLUINTEGER nCursorScrollable ); /*!<
SQL_ATTR_CURSOR_SCROLLABLE */
+ virtual SQLRETURN setCursorSensitivity( SQLUINTEGER nCursorSensitivity ); /*!<
SQL_ATTR_CURSOR_SENSITIVITY */
+ SQLHANDLE getStm();
+ MYODBCDia * getDia();
+ MYODBCDes * getAppParamDescOrig();
+ MYODBCDes * getAppRowDescOrig();
+
virtual SQLUINTEGER getAsyncEnable();
protected:
Deleted: MYODBCDes/MYODBCDesLib/MYODBCDesAlloc.c
===================================================================
--- MYODBCDes/MYODBCDesLib/MYODBCDesAlloc.c 2006-01-20 19:19:22 UTC (rev 46)
+++ MYODBCDes/MYODBCDesLib/MYODBCDesAlloc.c 2006-01-20 20:04:33 UTC (rev 47)
@@ -1,95 +0,0 @@
-/*!
- \file MYODBCDesAlloc.c
- \author Peter Harvey <pharvey@stripped>
- Copyright MySQL AB 2004-2005, Released under GPL.
- \version Connector/ODBC v5
- \date 2005
- \brief This code is used to support descriptor information
- associated with various handles.
- \note This code is for internal use and as such is for driver
- developers only.
-*/
-
-#include "MYODBCDesInternal.h"
-
-
-MYODBC_DES_PTR MYODBCDesAlloc( SQLHANDLE hOwner, MYODBC_RTTI_DES_TYPE nDesType )
-{
- MYODBC_DES_PTR pDes = NULL;
-
- if ( hOwner )
- {
- int nOwnerType = MYODBCRttiType( hOwner );
- /*!
- \internal MYODBC Rule
-
- An undefined descriptor type is to handle case where we are
- creating a descriptor explicitly and is for dbc owner only.
-
- Other descriptor types must be owned by a statement.
- */
- switch ( nDesType )
- {
- case MYODBC_RTTI_DES_UND:
- if ( nOwnerType != MYODBC_RTTI_DBC )
- return NULL;
- break;
- case MYODBC_RTTI_DES_APD:
- case MYODBC_RTTI_DES_IPD:
- case MYODBC_RTTI_DES_ARD:
- case MYODBC_RTTI_DES_IRD:
- if ( nOwnerType != MYODBC_RTTI_STM )
- return NULL;
- break;
- default:
- return NULL;
- }
- }
-
- /* alloc descriptor */
- pDes = (MYODBC_DES_PTR)MYODBCCCalloc( 1, sizeof(MYODBC_DES) );
-
- /* init header fields to most common values */
- pDes->nTypeID = MYODBC_RTTI_DES;
- pDes->nTypeSubID = nDesType;
- pDes->hDia = MYODBCDiaAlloc();
- pDes->pExtra = NULL;
-
- pDes->desc_alloc_type = SQL_DESC_ALLOC_AUTO;
- pDes->desc_array_size = 1;
- pDes->desc_array_status_ptr = NULL;
- pDes->desc_bind_offset_ptr = NULL;
- pDes->desc_bind_type = SQL_BIND_BY_COLUMN;
- pDes->desc_count = -1; /* max viable index (-1 is none) */
- pDes->desc_rows_processed_ptr = NULL;
-
- pDes->pfuncDesFreeExtra = NULL;
- pDes->pfuncDesRecFreeExtra = NULL;
-
- /* init with no elements */
- MYODBCArrayAlloc( &pDes->hRecords );
- MYODBCArraySetCacheStep( pDes->hRecords, 10 );
-
- /* associate with our owner */
- pDes->hOwner = hOwner;
- pDes->hListItemMe = NULL; /* caller should set this upon return */
- if ( nDesType == MYODBC_RTTI_DES_UND )
- pDes->desc_alloc_type = SQL_DESC_ALLOC_USER;
-
- /* add bookmark record at index 0 */
- /*
- \internal ODBC Rule
-
- When ColumnNumber is equal to 0 (for a bookmark column),
- SQL_BINARY is returned in *DataTypePtr for variable-length
- bookmarks. (SQL_INTEGER is returned if bookmarks are used
- by an ODBC 3.x application working with an ODBC 2.x driver
- or by an ODBC 2.x application working with an ODBC 3.x
- driver.)
- */
- MYODBCDesRecConciseTypeSQL( MYODBCDesRecAllocExt( pDes ), SQL_BINARY );
-
- return pDes;
-}
-
-
Deleted: MYODBCDes/MYODBCDesLib/MYODBCDesCount.c
===================================================================
--- MYODBCDes/MYODBCDesLib/MYODBCDesCount.c 2006-01-20 19:19:22 UTC (rev 46)
+++ MYODBCDes/MYODBCDesLib/MYODBCDesCount.c 2006-01-20 20:04:33 UTC (rev 47)
@@ -1,51 +0,0 @@
-/*!
- \internal
- \file MYODBCDesCount.c
- \author Peter Harvey <pharvey@stripped>
- Copyright MySQL AB 2004-2005, Released under GPL.
- \version Connector/ODBC v5
- \date 2005
- \brief This code is used to support descriptor information
- associated with various handles.
- \note This code is for internal use and as such is for driver
- developers only.
-*/
-
-#include "MYODBCDesInternal.h"
-
-MYODBC_C_BOOL MYODBCDesCount( MYODBC_DES_PTR pDes,
- SQLSMALLINT nCount,
- MYODBC_C_BOOL bUnbind )
-{
- /* We should always have a bookmark record at index 0. */
- if ( nCount < 0 )
- return MYODBC_C_FALSE;
-
- /* append */
- while ( nCount > pDes->desc_count )
- {
- if ( !MYODBCDesRecAllocExt( pDes ) )
- return MYODBC_C_FALSE;
- }
-
- /* truncate */
- while ( pDes->desc_count > nCount )
- {
- MYODBC_DES_REC_PTR pDesRec = MYODBCDesRecGet( pDes, pDes->desc_count,
MYODBC_C_FALSE /* must be false else code may spin */ );
-
- if ( !pDesRec )
- return MYODBC_C_FALSE;
-
- /* stop when we get 1st bound record unless we want to unbind */
- if ( pDesRec->desc_data_ptr && !bUnbind )
- break;
-
- /* free last record */
- MYODBCDesRecFree( pDes, pDes->desc_count );
- }
-
- return MYODBC_C_TRUE;
-}
-
-
-
Deleted: MYODBCDes/MYODBCDesLib/MYODBCDesDump.c
===================================================================
--- MYODBCDes/MYODBCDesLib/MYODBCDesDump.c 2006-01-20 19:19:22 UTC (rev 46)
+++ MYODBCDes/MYODBCDesLib/MYODBCDesDump.c 2006-01-20 20:04:33 UTC (rev 47)
@@ -1,63 +0,0 @@
-/*!
- \file MYODBCDesDump.c
- \author Peter Harvey <pharvey@stripped>
- Copyright MySQL AB 2004-2005, Released under GPL.
- \version Connector/ODBC v5
- \date 2005
- \brief This code is used to support descriptor information
- associated with various handles.
- \note This code is for internal use and as such is for driver
- developers only.
-*/
-
-#include "MYODBCDesInternal.h"
-
-/* lets tap into some internals so we do not have to mess with the cursors */
-#include "../../MYODBCArray/MYODBCArrayLib/MYODBCArrayInternal.h"
-#include "../../MYODBCDia/MYODBCDiaLib/MYODBCDiaInternal.h"
-
-void MYODBCDesDump( MYODBC_DES_PTR pDes )
-{
-#if MYODBC_DEV > 0
- if ( !pDes )
- MYODBCCAssert( "pDes" );
- if ( MYODBCRttiType( pDes ) != MYODBC_RTTI_DES )
- MYODBCCAssert( "pDes" );
-#endif
-
- printf( "[%s][%d] MYODBC_DES_PTR %p\n", __FILE__, __LINE__, pDes );
- printf( "\tdesc_alloc_type = %d\n", pDes->desc_alloc_type );
- printf( "\tdesc_array_size = %d\n", pDes->desc_array_size );
- printf( "\tdesc_array_status_ptr = %p\n", pDes->desc_array_status_ptr );
- printf( "\tdesc_bind_offset_ptr = %p\n", pDes->desc_bind_offset_ptr );
- printf( "\tdesc_bind_type = %d\n", pDes->desc_bind_type );
- printf( "\tdesc_count = %d\n", pDes->desc_count );
- printf( "\tdesc_rows_processed_ptr = %p\n", pDes->desc_rows_processed_ptr );
- printf( "\thDia = %p\n", pDes->hDia );
- printf( "\thOwner = %p\n", pDes->hOwner );
- printf( "\thRecords = %p\n", pDes->hRecords );
- printf( "\tpExtra = %p\n", pDes->pExtra );
- printf( "\tpfuncDesFreeExtra = %p\n", pDes->pfuncDesFreeExtra );
- printf( "\tpfuncDesRecFreeExtra = %p\n", pDes->pfuncDesRecFreeExtra );
-
- printf( "[%s][%d] RECORDS...\n", __FILE__, __LINE__ );
- if ( pDes->hRecords )
- {
- MYODBC_ARRAY_PTR pArray = (MYODBC_ARRAY_PTR)pDes->hRecords;
- MYODBC_C_ULONGLONG nItem;
-
- for ( nItem = 0; nItem < pArray->nItems; nItem++ )
- {
- MYODBCDesRecDump( nItem, (MYODBC_DES_REC_PTR)pArray->ppItems[nItem] );
- }
- if ( !nItem )
- printf( "\tno records in array\n" );
- }
- else
- printf( "\tno valid array handle for records\n" );
-
- MYODBCDiaDump( pDes->hDia );
-
-}
-
-
Deleted: MYODBCDes/MYODBCDesLib/MYODBCDesFree.c
===================================================================
--- MYODBCDes/MYODBCDesLib/MYODBCDesFree.c 2006-01-20 19:19:22 UTC (rev 46)
+++ MYODBCDes/MYODBCDesLib/MYODBCDesFree.c 2006-01-20 20:04:33 UTC (rev 47)
@@ -1,28 +0,0 @@
-/*!
- \internal
- \file MYODBCDesFree.c
- \author Peter Harvey <pharvey@stripped>
- Copyright MySQL AB 2004-2005 Released under GPL.
- \version Connector/ODBC v5
- \date 2005
- \brief This code is used to support descriptor information
- associated with various handles.
- \note This code is for internal use and as such is for driver
- developers only.
-*/
-#include "MYODBCDesInternal.h"
-
-void MYODBCDesFree( MYODBC_DES_PTR pDes )
-{
- /* free descriptor records */
- MYODBCDesRecsFree( pDes );
- MYODBCArrayFree( pDes->hRecords );
-
- /* finally; free desc itself */
- if ( pDes->pfuncDesFreeExtra )
- pDes->pfuncDesFreeExtra( pDes );
- MYODBCDiaFree( pDes->hDia );
- MYODBCCFree( pDes );
-}
-
-
Deleted: MYODBCDes/MYODBCDesLib/MYODBCDesGetLength.c
===================================================================
--- MYODBCDes/MYODBCDesLib/MYODBCDesGetLength.c 2006-01-20 19:19:22 UTC (rev 46)
+++ MYODBCDes/MYODBCDesLib/MYODBCDesGetLength.c 2006-01-20 20:04:33 UTC (rev 47)
@@ -1,103 +0,0 @@
-/*!
- \internal
- \file MYODBCDesGetLength.c
- \author Peter Harvey <pharvey@stripped>
- Copyright MySQL AB 2004-2005, Released under GPL.
- \version Connector/ODBC v5
- \date 2005
- \brief This code is used to support descriptor information
- associated with various handles.
- \note This code is for internal use and as such is for driver
- developers only.
-*/
-
-#include "MYODBCDesInternal.h"
-
-SQLRETURN MYODBCDesGetLength( MYODBC_DES_PTR pDes,
- SQLUSMALLINT nRecord,
- SQLSMALLINT * pnDataTypePtr,
- SQLUINTEGER * pnColumnSizePtr,
- SQLSMALLINT * pnDecimalDigitsPtr )
-{
- MYODBC_DES_REC_PTR pRec = MYODBCDesRecGet( pDes, nRecord, MYODBC_C_FALSE );
-
- if ( !pRec )
- return ( SQL_ERROR );
-
- *pnDataTypePtr = pRec->desc_concise_type;
-
- /*
- SQL types.
-
- (IRD,IPD)
- */
- switch ( pRec->desc_type )
- {
- case SQL_CHAR:
- case SQL_VARCHAR:
- case SQL_LONGVARCHAR:
-#ifdef UNICODE
- case SQL_WCHAR:
- case SQL_WVARCHAR:
- case SQL_WLONGVARCHAR:
-#endif
- *pnColumnSizePtr = pRec->desc_length;
- *pnDecimalDigitsPtr = 0;
- break;
- case SQL_DECIMAL:
- case SQL_NUMERIC:
- *pnColumnSizePtr = pRec->desc_precision;
- *pnDecimalDigitsPtr = pRec->desc_scale;
- break;
- case SQL_SMALLINT:
- case SQL_INTEGER:
- case SQL_REAL:
- case SQL_FLOAT:
- case SQL_DOUBLE:
- *pnColumnSizePtr = pRec->desc_precision;
- *pnDecimalDigitsPtr = 0;
- break;
- case SQL_BIT:
- *pnColumnSizePtr = pRec->desc_length;
- *pnDecimalDigitsPtr = 0;
- break;
- case SQL_TINYINT:
- case SQL_BIGINT:
- *pnColumnSizePtr = pRec->desc_precision;
- *pnDecimalDigitsPtr = 0;
- break;
- case SQL_BINARY:
- case SQL_VARBINARY:
- case SQL_LONGVARBINARY:
- case SQL_DATETIME:
- *pnColumnSizePtr = pRec->desc_length;
- *pnDecimalDigitsPtr = 0;
- break;
- case SQL_INTERVAL:
- switch ( pRec->desc_concise_type )
- {
- case SQL_INTERVAL_SECOND:
- case SQL_INTERVAL_DAY_TO_SECOND:
- case SQL_INTERVAL_HOUR_TO_SECOND:
- case SQL_INTERVAL_MINUTE_TO_SECOND:
- *pnColumnSizePtr = pRec->desc_length;
- *pnDecimalDigitsPtr = pRec->desc_precision;
- break;
- default:
- *pnColumnSizePtr = pRec->desc_length;
- *pnDecimalDigitsPtr = 0;
- break;
- }
- case SQL_GUID:
- *pnColumnSizePtr = pRec->desc_length;
- *pnDecimalDigitsPtr = 0;
- break;
- default:
- return SQL_ERROR;
- }
-
- return SQL_SUCCESS;
-}
-
-
-
Modified: MYODBCDes/MYODBCDesLib/MYODBCDesLib.vpj
===================================================================
--- MYODBCDes/MYODBCDesLib/MYODBCDesLib.vpj 2006-01-20 19:19:22 UTC (rev 46)
+++ MYODBCDes/MYODBCDesLib/MYODBCDesLib.vpj 2006-01-20 20:04:33 UTC (rev 47)
@@ -185,42 +185,15 @@
Name="Source Files"
Filters="*.c;*.C;*.cc;*.cpp;*.cp;*.cxx;*.prg;*.pas;*.dpr;*.asm;*.s;*.bas;*.java;*.cs;*.sc;*.e;*.cob;*.html;*.rc;*.tcl;*.py;*.pl">
<F N="MYODBCDes.cpp"/>
- <F N="MYODBCDesAlloc.c"/>
<F N="MYODBCDesAPD.cpp"/>
<F N="MYODBCDesARD.cpp"/>
- <F N="MYODBCDesCount.c"/>
- <F N="MYODBCDesDump.c"/>
- <F N="MYODBCDesFree.c"/>
- <F N="MYODBCDesGetLength.c"/>
<F N="MYODBCDesIPD.cpp"/>
<F N="MYODBCDesIRD.cpp"/>
- <F N="MYODBCDesMorph.c"/>
<F N="MYODBCDesRec.cpp"/>
- <F N="MYODBCDesRecAlloc.c"/>
- <F N="MYODBCDesRecAllocExt.c"/>
<F N="MYODBCDesRecAPD.cpp"/>
<F N="MYODBCDesRecARD.cpp"/>
- <F N="MYODBCDesRecClear.c"/>
- <F N="MYODBCDesRecConciseType.c"/>
- <F N="MYODBCDesRecConciseTypeC.c"/>
- <F N="MYODBCDesRecConciseTypeSQL.c"/>
- <F N="MYODBCDesRecCopy.c"/>
- <F N="MYODBCDesRecDump.c"/>
- <F N="MYODBCDesRecFree.c"/>
- <F N="MYODBCDesRecGet.c"/>
- <F N="MYODBCDesRecIntervalCode.c"/>
<F N="MYODBCDesRecIPD.cpp"/>
<F N="MYODBCDesRecIRD.cpp"/>
- <F N="MYODBCDesRecIrdInteger.c"/>
- <F N="MYODBCDesRecIrdSmallInt.c"/>
- <F N="MYODBCDesRecIrdVarChar.c"/>
- <F N="MYODBCDesRecSetFreeExtra.c"/>
- <F N="MYODBCDesRecsFree.c"/>
- <F N="MYODBCDesRecType.c"/>
- <F N="MYODBCDesRecTypeC.c"/>
- <F N="MYODBCDesRecTypeSQL.c"/>
- <F N="MYODBCDesRecUnbind.c"/>
- <F N="MYODBCDesSetFreeExtra.c"/>
</Folder>
<Folder
Name="Header Files"
Deleted: MYODBCDes/MYODBCDesLib/MYODBCDesMorph.c
===================================================================
--- MYODBCDes/MYODBCDesLib/MYODBCDesMorph.c 2006-01-20 19:19:22 UTC (rev 46)
+++ MYODBCDes/MYODBCDesLib/MYODBCDesMorph.c 2006-01-20 20:04:33 UTC (rev 47)
@@ -1,53 +0,0 @@
-/*!
- \internal
- \file MYODBCDesMorph.c
- \author Peter Harvey <pharvey@stripped>
- Copyright MySQL AB 2004-2005 Released under GPL.
- \version Connector/ODBC v5
- \date 2005
- \brief This code is used to support descriptor information
- associated with various handles.
- \note This code is for internal use and as such is for driver
- developers only.
-*/
-#include "MYODBCDesInternal.h"
-
-void MYODBCDesMorph( MYODBC_DES_PTR pDes, MYODBC_RTTI_DES_TYPE nDesType )
-{
- if ( nDesType != MYODBC_RTTI_DES_UND )
- {
- MYODBCDiaAppend( pDes->hDia, MYODBC_DIA_IM001, 0, "Morphing to given type not
supported at this time." );
- return;
- }
-
- /* free any extra on all records */
- if ( pDes->pfuncDesRecFreeExtra )
- {
- MYODBCArrayFirst( pDes->hRecords );
- while ( !MYODBCArrayIsEOA( pDes->hRecords ) )
- {
- MYODBC_ARRAY_ITEM_DATA_PTR pData = NULL;
- MYODBC_DES_REC_PTR pDesRec = NULL;
-
- MYODBCArrayGet( pDes->hRecords, pData );
- pDesRec = pData;
- if ( pDesRec->pExtra )
- pDes->pfuncDesRecFreeExtra( pDesRec->pExtra );
- }
- pDes->pfuncDesRecFreeExtra = NULL;
- }
-
- /* free any extra on des */
- if ( pDes->pfuncDesFreeExtra && pDes->pExtra )
- {
- pDes->pfuncDesFreeExtra( pDes->pExtra );
- pDes->pExtra = NULL;
- pDes->pfuncDesFreeExtra = NULL;
- }
-}
-
-
-
-
-
-
Deleted: MYODBCDes/MYODBCDesLib/MYODBCDesRecAlloc.c
===================================================================
--- MYODBCDes/MYODBCDesLib/MYODBCDesRecAlloc.c 2006-01-20 19:19:22 UTC (rev 46)
+++ MYODBCDes/MYODBCDesLib/MYODBCDesRecAlloc.c 2006-01-20 20:04:33 UTC (rev 47)
@@ -1,40 +0,0 @@
-/*!
- \internal
- \file MYODBCDesRecAlloc.c
- \author Peter Harvey <pharvey@stripped>
- Copyright MySQL AB 2004-2005 Released under GPL.
- \version Connector/ODBC v5
- \date 2005
- \brief This code is used to support descriptor information
- associated with various handles.
- \note This code is for internal use and as such is for driver
- developers only.
-*/
-#include "MYODBCDesInternal.h"
-
-MYODBC_DES_REC_PTR MYODBCDesRecAlloc( MYODBC_RTTI_DES_TYPE nType )
-{
- MYODBC_DES_REC_PTR pDesRec = (MYODBC_DES_REC_PTR)MYODBCCCalloc( 1,
sizeof(MYODBC_DES_REC) );
-
- switch ( nType )
- {
- case MYODBC_RTTI_DES_UND:
- break;
- case MYODBC_RTTI_DES_APD:
- break;
- case MYODBC_RTTI_DES_IPD:
- pDesRec->desc_case_sensitive = SQL_TRUE;
- break;
- case MYODBC_RTTI_DES_ARD:
- pDesRec->desc_datetime_interval_precision = 2; /* see SQLBindCol */
- pDesRec->desc_precision = 6; /* see SQLBindCol */
- pDesRec->desc_scale = 0; /* see SQLBindCol */
- break;
- case MYODBC_RTTI_DES_IRD:
- pDesRec->desc_case_sensitive = SQL_TRUE;
- break;
- }
-
- return pDesRec;
-}
-
Deleted: MYODBCDes/MYODBCDesLib/MYODBCDesRecAllocExt.c
===================================================================
--- MYODBCDes/MYODBCDesLib/MYODBCDesRecAllocExt.c 2006-01-20 19:19:22 UTC (rev 46)
+++ MYODBCDes/MYODBCDesLib/MYODBCDesRecAllocExt.c 2006-01-20 20:04:33 UTC (rev 47)
@@ -1,29 +0,0 @@
-/*!
- \internal
- \file MYODBCDesRecAllocExt.c
- \author Peter Harvey <pharvey@stripped>
- Copyright MySQL AB 2004-2005 Released under GPL.
- \version Connector/ODBC v5
- \date 2005
- \brief This code is used to support descriptor information
- associated with various handles.
- \note This code is for internal use and as such is for driver
- developers only.
-*/
-#include "MYODBCDesInternal.h"
-
-MYODBC_DES_REC_PTR MYODBCDesRecAllocExt( MYODBC_DES_PTR pDes )
-{
- MYODBC_DES_REC_PTR pDesRec = MYODBCDesRecAlloc( MYODBCRttiSubType( pDes ) );
-
- pDesRec->pOwner = pDes;
-
- /* insert record (appends to end of array) */
- MYODBCArrayAppend( pDes->hRecords, pDesRec );
-
- /* update SQL_DESC_COUNT */
- pDes->desc_count++;
-
- return pDesRec;
-}
-
Deleted: MYODBCDes/MYODBCDesLib/MYODBCDesRecClear.c
===================================================================
--- MYODBCDes/MYODBCDesLib/MYODBCDesRecClear.c 2006-01-20 19:19:22 UTC (rev 46)
+++ MYODBCDes/MYODBCDesLib/MYODBCDesRecClear.c 2006-01-20 20:04:33 UTC (rev 47)
@@ -1,30 +0,0 @@
-/*!
- \internal
- \file MYODBCDesRecClear.c
- \author Peter Harvey <pharvey@stripped>
- Copyright MySQL AB 2004-2005 Released under GPL.
- \version Connector/ODBC v5
- \date 2005
- \brief This code is used to support descriptor information
- associated with various handles.
- \note This code is for internal use and as such is for driver
- developers only.
-*/
-#include "MYODBCDesInternal.h"
-
-void MYODBCDesRecClear( MYODBC_DES_REC_PTR pDesRec )
-{
- MYODBCCFreeNull( &pDesRec->desc_base_column_name );
- MYODBCCFreeNull( &pDesRec->desc_base_table_name );
- MYODBCCFreeNull( &pDesRec->desc_catalog_name );
- MYODBCCFreeNull( &pDesRec->desc_label );
- MYODBCCFreeNull( &pDesRec->desc_literal_prefix );
- MYODBCCFreeNull( &pDesRec->desc_literal_suffix );
- MYODBCCFreeNull( &pDesRec->desc_local_type_name );
- MYODBCCFreeNull( &pDesRec->desc_name );
- MYODBCCFreeNull( &pDesRec->desc_schema_name );
- MYODBCCFreeNull( &pDesRec->desc_table_name );
- MYODBCCFreeNull( &pDesRec->desc_type_name );
-}
-
-
Deleted: MYODBCDes/MYODBCDesLib/MYODBCDesRecConciseType.c
===================================================================
--- MYODBCDes/MYODBCDesLib/MYODBCDesRecConciseType.c 2006-01-20 19:19:22 UTC (rev 46)
+++ MYODBCDes/MYODBCDesLib/MYODBCDesRecConciseType.c 2006-01-20 20:04:33 UTC (rev 47)
@@ -1,33 +0,0 @@
-/*!
- \internal
- \file MYODBCDesRecConciseType.c
- \author Peter Harvey <pharvey@stripped>
- Copyright MySQL AB 2004-2005 Released under GPL.
- \version Connector/ODBC v5
- \date 2005
- \brief This code is used to support descriptor information
- associated with various handles.
- \note This code is for internal use and as such is for driver
- developers only.
-*/
-#include "MYODBCDesInternal.h"
-
-SQLRETURN MYODBCDesRecConciseType( MYODBC_DES_REC_PTR pDesRec, SQLSMALLINT nConciseType )
-{
- switch ( pDesRec->pOwner->nTypeSubID )
- {
- case MYODBC_RTTI_DES_UND:
- return MYODBCDiaAppend( pDesRec->pOwner->hDia, MYODBC_DIA_HY000, 0,
"Descriptor type undefined." );
- case MYODBC_RTTI_DES_IRD:
- case MYODBC_RTTI_DES_IPD:
- return MYODBCDesRecConciseTypeSQL( pDesRec, nConciseType );
- case MYODBC_RTTI_DES_ARD:
- case MYODBC_RTTI_DES_APD:
- return MYODBCDesRecConciseTypeC( pDesRec, nConciseType );
- }
-
- return MYODBCDiaAppend( pDesRec->pOwner->hDia, MYODBC_DIA_HY000, 0, "Unknown
descriptor type." );
-}
-
-
-
Deleted: MYODBCDes/MYODBCDesLib/MYODBCDesRecConciseTypeC.c
===================================================================
--- MYODBCDes/MYODBCDesLib/MYODBCDesRecConciseTypeC.c 2006-01-20 19:19:22 UTC (rev 46)
+++ MYODBCDes/MYODBCDesLib/MYODBCDesRecConciseTypeC.c 2006-01-20 20:04:33 UTC (rev 47)
@@ -1,163 +0,0 @@
-/*!
- \internal
- \file MYODBCDesRecConciseTypeC.c
- \author Peter Harvey <pharvey@stripped>
- Copyright MySQL AB 2004-2005 Released under GPL.
- \version Connector/ODBC v5
- \date 2005
- \brief This code is used to support descriptor information
- associated with various handles.
- \note This code is for internal use and as such is for driver
- developers only.
-*/
-#include "MYODBCDesInternal.h"
-
-SQLRETURN MYODBCDesRecConciseTypeC( MYODBC_DES_REC_PTR pDesRec, SQLSMALLINT nConciseType
)
-{
- /*
- \internal ODBC Rule
-
- The values in the SQL_DESC_CONCISE_TYPE, SQL_DESC_TYPE, and
- SQL_DESC_DATETIME_INTERVAL_CODE fields are interdependent. Each
- time one of the fields is set, the other must also be set.
- */
-
- /*
- \internal ODBC Rule
-
- If SQL_DESC_CONCISE_TYPE is set to a concise data type other than
- an interval or datetime data type, the SQL_DESC_TYPE field is set
- to the same value and the SQL_DESC_DATETIME_INTERVAL_CODE field is
- set to 0.
- */
-
- /*
- \internal ODBC Rule
-
- If SQL_DESC_CONCISE_TYPE is set to the concise datetime or interval
- data type, the SQL_DESC_TYPE field is set to the corresponding
- verbose type (SQL_DATETIME or SQL_INTERVAL) and the
- SQL_DESC_DATETIME_INTERVAL_CODE field is set to the appropriate
- subcode.
- */
-
- /*
- C concise types
-
- These are listed in the order given in the ODBC specification.
- */
- switch ( nConciseType )
- {
- case SQL_C_CHAR: /* 1 */
- case SQL_C_SSHORT: /* 5 + -20 = -15 */
- case SQL_C_USHORT: /* 5 + -22 = -17 */
- case SQL_C_SLONG: /* 4 + -20 = -16 */
- case SQL_C_ULONG: /* 4 + -22 = -18 */
- case SQL_C_FLOAT: /* 7 */
- case SQL_C_DOUBLE: /* 8 */
- case SQL_C_BIT: /* -7 */
- case SQL_C_STINYINT: /* -6 + -20 = -26 */
- case SQL_C_UTINYINT: /* -6 + -22 = -28 */
- case SQL_C_SBIGINT: /* -5 + -20 = -25 */
- case SQL_C_UBIGINT: /* -5 + -22 = -27 */
- case SQL_C_BINARY: /* -2 */
- /* case SQL_C_XML: *//* ? */
- /* case SQL_C_BOOKMARK: *//* SQL_C_UBIGINT */
- /* case SQL_C_VARBOOKMARK: *//* SQL_C_BINARY */
- pDesRec->desc_concise_type = nConciseType;
- pDesRec->desc_type = nConciseType;
- pDesRec->desc_datetime_interval_code = 0;
- return SQL_SUCCESS;
- case SQL_C_TYPE_DATE: /* 91 */
- pDesRec->desc_concise_type = nConciseType;
- pDesRec->desc_type = SQL_DATETIME;
- pDesRec->desc_datetime_interval_code = SQL_CODE_DATE;
- return SQL_SUCCESS;
- case SQL_C_TYPE_TIME: /* 92 */
- pDesRec->desc_concise_type = nConciseType;
- pDesRec->desc_type = SQL_DATETIME;
- pDesRec->desc_datetime_interval_code = SQL_CODE_TIME;
- return SQL_SUCCESS;
- case SQL_C_TYPE_TIMESTAMP: /* 93 */
- pDesRec->desc_concise_type = nConciseType;
- pDesRec->desc_type = SQL_DATETIME;
- pDesRec->desc_datetime_interval_code = SQL_CODE_TIMESTAMP;
- return SQL_SUCCESS;
- case SQL_C_NUMERIC: /* 2 */
- case SQL_C_GUID: /* -11 */
- case SQL_C_DEFAULT: /* 99 */
- pDesRec->desc_concise_type = nConciseType;
- pDesRec->desc_type = nConciseType;
- pDesRec->desc_datetime_interval_code = 0;
- return SQL_SUCCESS;
- case SQL_C_INTERVAL_MONTH: /* 102 */
- pDesRec->desc_concise_type = nConciseType;
- pDesRec->desc_type = SQL_INTERVAL;
- pDesRec->desc_datetime_interval_code = SQL_CODE_MONTH;
- return SQL_SUCCESS;
- case SQL_C_INTERVAL_YEAR: /* 101 */
- pDesRec->desc_concise_type = nConciseType;
- pDesRec->desc_type = SQL_INTERVAL;
- pDesRec->desc_datetime_interval_code = SQL_CODE_YEAR;
- return SQL_SUCCESS;
- case SQL_C_INTERVAL_YEAR_TO_MONTH: /* 107 */
- pDesRec->desc_concise_type = nConciseType;
- pDesRec->desc_type = SQL_INTERVAL;
- pDesRec->desc_datetime_interval_code = SQL_CODE_YEAR_TO_MONTH;
- return SQL_SUCCESS;
- case SQL_C_INTERVAL_DAY: /* 103 */
- pDesRec->desc_concise_type = nConciseType;
- pDesRec->desc_type = SQL_INTERVAL;
- pDesRec->desc_datetime_interval_code = SQL_CODE_DAY;
- return SQL_SUCCESS;
- case SQL_C_INTERVAL_HOUR: /* 104 */
- pDesRec->desc_concise_type = nConciseType;
- pDesRec->desc_type = SQL_INTERVAL;
- pDesRec->desc_datetime_interval_code = SQL_CODE_HOUR;
- return SQL_SUCCESS;
- case SQL_C_INTERVAL_MINUTE: /* 105 */
- pDesRec->desc_concise_type = nConciseType;
- pDesRec->desc_type = SQL_INTERVAL;
- pDesRec->desc_datetime_interval_code = SQL_CODE_MINUTE;
- return SQL_SUCCESS;
- case SQL_C_INTERVAL_SECOND: /* 106 */
- pDesRec->desc_concise_type = nConciseType;
- pDesRec->desc_type = SQL_INTERVAL;
- pDesRec->desc_datetime_interval_code = SQL_CODE_SECOND;
- return SQL_SUCCESS;
- case SQL_C_INTERVAL_DAY_TO_HOUR: /* 108 */
- pDesRec->desc_concise_type = nConciseType;
- pDesRec->desc_type = SQL_INTERVAL;
- pDesRec->desc_datetime_interval_code = SQL_CODE_DAY_TO_HOUR;
- return SQL_SUCCESS;
- case SQL_C_INTERVAL_DAY_TO_MINUTE: /* 109 */
- pDesRec->desc_concise_type = nConciseType;
- pDesRec->desc_type = SQL_INTERVAL;
- pDesRec->desc_datetime_interval_code = SQL_CODE_DAY_TO_MINUTE;
- return SQL_SUCCESS;
- case SQL_C_INTERVAL_DAY_TO_SECOND: /* 110 */
- pDesRec->desc_concise_type = nConciseType;
- pDesRec->desc_type = SQL_INTERVAL;
- pDesRec->desc_datetime_interval_code = SQL_CODE_DAY_TO_SECOND;
- return SQL_SUCCESS;
- case SQL_C_INTERVAL_HOUR_TO_MINUTE: /* 111 */
- pDesRec->desc_concise_type = nConciseType;
- pDesRec->desc_type = SQL_INTERVAL;
- pDesRec->desc_datetime_interval_code = SQL_CODE_HOUR_TO_MINUTE;
- return SQL_SUCCESS;
- case SQL_C_INTERVAL_HOUR_TO_SECOND: /* 112 */
- pDesRec->desc_concise_type = nConciseType;
- pDesRec->desc_type = SQL_INTERVAL;
- pDesRec->desc_datetime_interval_code = SQL_CODE_HOUR_TO_SECOND;
- return SQL_SUCCESS;
- case SQL_C_INTERVAL_MINUTE_TO_SECOND: /* 113 */
- pDesRec->desc_concise_type = nConciseType;
- pDesRec->desc_type = SQL_INTERVAL;
- pDesRec->desc_datetime_interval_code = SQL_CODE_MINUTE_TO_SECOND;
- return SQL_SUCCESS;
- }
-
- return MYODBCDiaAppend( pDesRec->pOwner->hDia, MYODBC_DIA_HY092, 0, NULL );
-}
-
-
Deleted: MYODBCDes/MYODBCDesLib/MYODBCDesRecConciseTypeSQL.c
===================================================================
--- MYODBCDes/MYODBCDesLib/MYODBCDesRecConciseTypeSQL.c 2006-01-20 19:19:22 UTC (rev 46)
+++ MYODBCDes/MYODBCDesLib/MYODBCDesRecConciseTypeSQL.c 2006-01-20 20:04:33 UTC (rev 47)
@@ -1,168 +0,0 @@
-/*!
- \internal
- \file MYODBCDesRecConciseTypeSQL.c
- \author Peter Harvey <pharvey@stripped>
- Copyright MySQL AB 2004-2005 Released under GPL.
- \version Connector/ODBC v5
- \date 2005
- \brief This code is used to support descriptor information
- associated with various handles.
- \note This code is for internal use and as such is for driver
- developers only.
-*/
-#include "MYODBCDesInternal.h"
-
-SQLRETURN MYODBCDesRecConciseTypeSQL( MYODBC_DES_REC *pDesRec, SQLSMALLINT nConciseType )
-{
- /*
- \internal ODBC Rule
-
- The values in the SQL_DESC_CONCISE_TYPE, SQL_DESC_TYPE, and
- SQL_DESC_DATETIME_INTERVAL_CODE fields are interdependent. Each
- time one of the fields is set, the other must also be set.
- */
-
- /*
- \internal ODBC Rule
-
- If SQL_DESC_CONCISE_TYPE is set to a concise data type other than
- an interval or datetime data type, the SQL_DESC_TYPE field is set
- to the same value and the SQL_DESC_DATETIME_INTERVAL_CODE field is
- set to 0.
- */
-
- /*
- \internal ODBC Rule
-
- If SQL_DESC_CONCISE_TYPE is set to the concise datetime or interval
- data type, the SQL_DESC_TYPE field is set to the corresponding
- verbose type (SQL_DATETIME or SQL_INTERVAL) and the
- SQL_DESC_DATETIME_INTERVAL_CODE field is set to the appropriate
- subcode.
- */
-
- /*
- SQL concise types
-
- These are listed in the order given in the ODBC specification.
- */
- switch ( nConciseType )
- {
- case SQL_CHAR: /* 1 */
- case SQL_VARCHAR: /* 12 */
- case SQL_LONGVARCHAR: /* -1 */
-#ifdef UNICODE
- case SQL_WCHAR: /* -8 */
- case SQL_WVARCHAR: /* -9 */
- case SQL_WLONGVARCHAR: /* -10 */
-#endif
- case SQL_DECIMAL: /* 3 */
- case SQL_NUMERIC: /* 2 */
- case SQL_SMALLINT: /* 5 */
- case SQL_INTEGER: /* 4 */
- case SQL_REAL: /* 7 */
- case SQL_FLOAT: /* 6 */
- case SQL_DOUBLE: /* 8 */
- case SQL_BIT: /* -7 */
- case SQL_TINYINT: /* -6 */
- case SQL_BIGINT: /* -5 */
- case SQL_BINARY: /* -2 */
- case SQL_VARBINARY: /* -3 */
- case SQL_LONGVARBINARY: /* -4 */
- pDesRec->desc_concise_type = nConciseType;
- pDesRec->desc_type = nConciseType;
- pDesRec->desc_datetime_interval_code = 0;
- return SQL_SUCCESS;
- case SQL_TYPE_DATE: /* 91 */
- pDesRec->desc_concise_type = nConciseType;
- pDesRec->desc_type = SQL_DATETIME;
- pDesRec->desc_datetime_interval_code = SQL_CODE_DATE;
- return SQL_SUCCESS;
- case SQL_TYPE_TIME: /* 92 */
- pDesRec->desc_concise_type = nConciseType;
- pDesRec->desc_type = SQL_DATETIME;
- pDesRec->desc_datetime_interval_code = SQL_CODE_TIME;
- return SQL_SUCCESS;
- case SQL_TYPE_TIMESTAMP: /* 93 */
- pDesRec->desc_concise_type = nConciseType;
- pDesRec->desc_type = SQL_DATETIME;
- pDesRec->desc_datetime_interval_code = SQL_CODE_TIMESTAMP;
- return SQL_SUCCESS;
- /* case SQL_TYPE_UTCDATETIME: */ /* ? */
- /* case SQL_TYPE_UTCTIME: */ /* ? */
- case SQL_INTERVAL_MONTH: /* 102 */
- pDesRec->desc_concise_type = nConciseType;
- pDesRec->desc_type = SQL_INTERVAL;
- pDesRec->desc_datetime_interval_code = SQL_CODE_MONTH;
- return SQL_SUCCESS;
- case SQL_INTERVAL_YEAR: /* 101 */
- pDesRec->desc_concise_type = nConciseType;
- pDesRec->desc_type = SQL_INTERVAL;
- pDesRec->desc_datetime_interval_code = SQL_CODE_YEAR;
- return SQL_SUCCESS;
- case SQL_INTERVAL_YEAR_TO_MONTH: /* 107 */
- pDesRec->desc_concise_type = nConciseType;
- pDesRec->desc_type = SQL_INTERVAL;
- pDesRec->desc_datetime_interval_code = SQL_CODE_YEAR_TO_MONTH;
- return SQL_SUCCESS;
- case SQL_INTERVAL_DAY: /* 103 */
- pDesRec->desc_concise_type = nConciseType;
- pDesRec->desc_type = SQL_INTERVAL;
- pDesRec->desc_datetime_interval_code = SQL_CODE_DAY;
- return SQL_SUCCESS;
- case SQL_INTERVAL_HOUR: /* 104 */
- pDesRec->desc_concise_type = nConciseType;
- pDesRec->desc_type = SQL_INTERVAL;
- pDesRec->desc_datetime_interval_code = SQL_CODE_HOUR;
- return SQL_SUCCESS;
- case SQL_INTERVAL_MINUTE: /* 105 */
- pDesRec->desc_concise_type = nConciseType;
- pDesRec->desc_type = SQL_INTERVAL;
- pDesRec->desc_datetime_interval_code = SQL_CODE_MINUTE;
- return SQL_SUCCESS;
- case SQL_INTERVAL_SECOND: /* 106 */
- pDesRec->desc_concise_type = nConciseType;
- pDesRec->desc_type = SQL_INTERVAL;
- pDesRec->desc_datetime_interval_code = SQL_CODE_SECOND;
- return SQL_SUCCESS;
- case SQL_INTERVAL_DAY_TO_HOUR: /* 108 */
- pDesRec->desc_concise_type = nConciseType;
- pDesRec->desc_type = SQL_INTERVAL;
- pDesRec->desc_datetime_interval_code = SQL_CODE_DAY_TO_HOUR;
- return SQL_SUCCESS;
- case SQL_INTERVAL_DAY_TO_MINUTE: /* 109 */
- pDesRec->desc_concise_type = nConciseType;
- pDesRec->desc_type = SQL_INTERVAL;
- pDesRec->desc_datetime_interval_code = SQL_CODE_DAY_TO_MINUTE;
- return SQL_SUCCESS;
- case SQL_INTERVAL_DAY_TO_SECOND: /* 110 */
- pDesRec->desc_concise_type = nConciseType;
- pDesRec->desc_type = SQL_INTERVAL;
- pDesRec->desc_datetime_interval_code = SQL_CODE_DAY_TO_SECOND;
- return SQL_SUCCESS;
- case SQL_INTERVAL_HOUR_TO_MINUTE: /* 111 */
- pDesRec->desc_concise_type = nConciseType;
- pDesRec->desc_type = SQL_INTERVAL;
- pDesRec->desc_datetime_interval_code = SQL_CODE_HOUR_TO_MINUTE;
- return SQL_SUCCESS;
- case SQL_INTERVAL_HOUR_TO_SECOND: /* 112 */
- pDesRec->desc_concise_type = nConciseType;
- pDesRec->desc_type = SQL_INTERVAL;
- pDesRec->desc_datetime_interval_code = SQL_CODE_HOUR_TO_SECOND;
- return SQL_SUCCESS;
- case SQL_INTERVAL_MINUTE_TO_SECOND: /* 113 */
- pDesRec->desc_concise_type = nConciseType;
- pDesRec->desc_type = SQL_INTERVAL;
- pDesRec->desc_datetime_interval_code = SQL_CODE_MINUTE_TO_SECOND;
- return SQL_SUCCESS;
- case SQL_GUID: /* -11 */
- pDesRec->desc_concise_type = nConciseType;
- pDesRec->desc_type = nConciseType;
- pDesRec->desc_datetime_interval_code = 0;
- return SQL_SUCCESS;
- }
-
- return MYODBCDiaAppend( pDesRec->pOwner->hDia, MYODBC_DIA_HY092, 0, NULL );
-}
-
-
Deleted: MYODBCDes/MYODBCDesLib/MYODBCDesRecCopy.c
===================================================================
--- MYODBCDes/MYODBCDesLib/MYODBCDesRecCopy.c 2006-01-20 19:19:22 UTC (rev 46)
+++ MYODBCDes/MYODBCDesLib/MYODBCDesRecCopy.c 2006-01-20 20:04:33 UTC (rev 47)
@@ -1,59 +0,0 @@
-/*!
- \internal
- \file MYODBCDesRecCopy.c
- \author Peter Harvey <pharvey@stripped>
- Copyright MySQL AB 2004-2005 Released under GPL.
- \version Connector/ODBC v5
- \date 2005
- \brief This code is used to support descriptor information
- associated with various handles.
- \note This code is for internal use and as such is for driver
- developers only.
-*/
-#include "MYODBCDesInternal.h"
-
-void MYODBCDesRecCopy( MYODBC_DES_REC_PTR pDesRecSource,
- MYODBC_DES_REC_PTR pDesRecDestination )
-{
- MYODBCDesRecClear( pDesRecDestination );
-
- pDesRecDestination->desc_auto_unique_value =
pDesRecSource->desc_auto_unique_value;
- pDesRecDestination->desc_base_column_name = MYODBCCStrDup(
pDesRecSource->desc_base_column_name, SQL_NTS );
- pDesRecDestination->desc_base_table_name = MYODBCCStrDup(
pDesRecSource->desc_base_table_name, SQL_NTS );
- pDesRecDestination->desc_case_sensitive =
pDesRecSource->desc_case_sensitive;
- pDesRecDestination->desc_catalog_name = MYODBCCStrDup(
pDesRecSource->desc_catalog_name, SQL_NTS );
- pDesRecDestination->desc_concise_type =
pDesRecSource->desc_concise_type;
- pDesRecDestination->desc_data_ptr =
pDesRecSource->desc_data_ptr;
- pDesRecDestination->desc_datetime_interval_code =
pDesRecSource->desc_datetime_interval_code;
- pDesRecDestination->desc_datetime_interval_precision =
pDesRecSource->desc_datetime_interval_precision;
- pDesRecDestination->desc_display_size =
pDesRecSource->desc_display_size;
- pDesRecDestination->desc_fixed_prec_scale =
pDesRecSource->desc_fixed_prec_scale;
- pDesRecDestination->desc_indicator_ptr =
pDesRecSource->desc_indicator_ptr;
- pDesRecDestination->desc_label = MYODBCCStrDup(
pDesRecSource->desc_label, SQL_NTS );
- pDesRecDestination->desc_length =
pDesRecSource->desc_length;
- pDesRecDestination->desc_literal_prefix = MYODBCCStrDup(
pDesRecSource->desc_literal_prefix, SQL_NTS );
- pDesRecDestination->desc_literal_suffix = MYODBCCStrDup(
pDesRecSource->desc_literal_suffix, SQL_NTS );
- pDesRecDestination->desc_local_type_name = MYODBCCStrDup(
pDesRecSource->desc_local_type_name, SQL_NTS );
- pDesRecDestination->desc_name = MYODBCCStrDup(
pDesRecSource->desc_name, SQL_NTS );
- pDesRecDestination->desc_nullable =
pDesRecSource->desc_nullable;
- pDesRecDestination->desc_num_prec_radix =
pDesRecSource->desc_num_prec_radix;
- pDesRecDestination->desc_octet_length =
pDesRecSource->desc_octet_length;
- pDesRecDestination->desc_octet_length_ptr =
pDesRecSource->desc_octet_length_ptr;
- pDesRecDestination->desc_paramter_type =
pDesRecSource->desc_paramter_type;
- pDesRecDestination->desc_precision =
pDesRecSource->desc_precision;
- pDesRecDestination->desc_rowver =
pDesRecSource->desc_rowver;
- pDesRecDestination->desc_scale =
pDesRecSource->desc_scale;
- pDesRecDestination->desc_schema_name = MYODBCCStrDup(
pDesRecSource->desc_schema_name, SQL_NTS );
- pDesRecDestination->desc_searchable =
pDesRecSource->desc_searchable;
- pDesRecDestination->desc_table_name = MYODBCCStrDup(
pDesRecSource->desc_table_name, SQL_NTS );
- pDesRecDestination->desc_type =
pDesRecSource->desc_type;
- pDesRecDestination->desc_type_name = MYODBCCStrDup(
pDesRecSource->desc_type_name, SQL_NTS );
- pDesRecDestination->desc_unnamed =
pDesRecSource->desc_unnamed;
- pDesRecDestination->desc_unsigned =
pDesRecSource->desc_unsigned;
- pDesRecDestination->desc_updatable =
pDesRecSource->desc_updatable;
-
- /* we do NOT copy...
- pDesRecSource->pExtra
- */
-}
-
Deleted: MYODBCDes/MYODBCDesLib/MYODBCDesRecDump.c
===================================================================
--- MYODBCDes/MYODBCDesLib/MYODBCDesRecDump.c 2006-01-20 19:19:22 UTC (rev 46)
+++ MYODBCDes/MYODBCDesLib/MYODBCDesRecDump.c 2006-01-20 20:04:33 UTC (rev 47)
@@ -1,55 +0,0 @@
-/*!
- \file MYODBCDesRecDump.c
- \author Peter Harvey <pharvey@stripped>
- Copyright MySQL AB 2004-2005, Released under GPL.
- \version Connector/ODBC v5
- \date 2005
- \brief This code is used to support descriptor information
- associated with various handles.
- \note This code is for internal use and as such is for driver
- developers only.
-*/
-
-#include "MYODBCDesInternal.h"
-
-void MYODBCDesRecDump( MYODBC_C_ULONGLONG nItem, MYODBC_DES_REC_PTR pDesRec )
-{
- printf( "[%s][%d] MYODBC_DES_REC_PTR %p is %d\n", __FILE__, __LINE__, pDesRec, nItem
);
- printf( "\tdesc_auto_unique_value = %d\n",
pDesRec->desc_auto_unique_value );
- printf( "\tdesc_base_column_name = %s\n",
pDesRec->desc_base_column_name );
- printf( "\tdesc_base_table_name = %s\n", pDesRec->desc_base_table_name
);
- printf( "\tdesc_case_sensitive = %d\n", pDesRec->desc_case_sensitive
);
- printf( "\tdesc_catalog_name = %s\n", pDesRec->desc_catalog_name );
- printf( "\tdesc_concise_type = %d\n", pDesRec->desc_concise_type );
- printf( "\tdesc_data_ptr = %p\n", pDesRec->desc_data_ptr );
- printf( "\tdesc_datetime_interval_code = %d\n",
pDesRec->desc_datetime_interval_code );
- printf( "\tdesc_datetime_interval_precision = %d\n",
pDesRec->desc_datetime_interval_precision );
- printf( "\tdesc_display_size = %d\n", pDesRec->desc_display_size );
- printf( "\tdesc_fixed_prec_scale = %d\n",
pDesRec->desc_fixed_prec_scale );
- printf( "\tdesc_indicator_ptr = %p\n", pDesRec->desc_indicator_ptr
);
- printf( "\tdesc_label = %s\n", pDesRec->desc_label );
- printf( "\tdesc_length = %d\n", pDesRec->desc_length );
- printf( "\tdesc_literal_prefix = %s\n", pDesRec->desc_literal_prefix
);
- printf( "\tdesc_literal_suffix = %s\n", pDesRec->desc_literal_suffix
);
- printf( "\tdesc_local_type_name = %s\n", pDesRec->desc_local_type_name
);
- printf( "\tdesc_name = %s\n", pDesRec->desc_name );
- printf( "\tdesc_nullable = %d\n", pDesRec->desc_nullable );
- printf( "\tdesc_num_prec_radix = %d\n", pDesRec->desc_num_prec_radix
);
- printf( "\tdesc_octet_length = %d\n", pDesRec->desc_octet_length );
- printf( "\tdesc_octet_length_ptr = %p\n",
pDesRec->desc_octet_length_ptr );
- printf( "\tdesc_paramter_type = %d\n", pDesRec->desc_paramter_type
);
- printf( "\tdesc_precision = %d\n", pDesRec->desc_precision );
- printf( "\tdesc_rowver = %d\n", pDesRec->desc_rowver );
- printf( "\tdesc_scale = %d\n", pDesRec->desc_scale );
- printf( "\tdesc_schema_name = %s\n", pDesRec->desc_schema_name );
- printf( "\tdesc_searchable = %d\n", pDesRec->desc_searchable );
- printf( "\tdesc_table_name = %s\n", pDesRec->desc_table_name );
- printf( "\tdesc_type = %d\n", pDesRec->desc_type );
- printf( "\tdesc_type_name = %s\n", pDesRec->desc_type_name );
- printf( "\tdesc_unnamed = %d\n", pDesRec->desc_unnamed );
- printf( "\tdesc_unsigned = %d\n", pDesRec->desc_unsigned );
- printf( "\tdesc_updatable = %d\n", pDesRec->desc_updatable );
- printf( "\tpExtra = %p\n", pDesRec->pExtra );
- printf( "\tpOwner = %p\n", pDesRec->pOwner );
-}
-
Deleted: MYODBCDes/MYODBCDesLib/MYODBCDesRecFree.c
===================================================================
--- MYODBCDes/MYODBCDesLib/MYODBCDesRecFree.c 2006-01-20 19:19:22 UTC (rev 46)
+++ MYODBCDes/MYODBCDesLib/MYODBCDesRecFree.c 2006-01-20 20:04:33 UTC (rev 47)
@@ -1,42 +0,0 @@
-/*!
- \internal
- \file MYODBCDesRecFree.c
- \author Peter Harvey <pharvey@stripped>
- Copyright MySQL AB 2004-2005 Released under GPL.
- \version Connector/ODBC v5
- \date 2005
- \brief This code is used to support descriptor information
- associated with various handles.
- \note This code is for internal use and as such is for driver
- developers only.
-*/
-#include "MYODBCDesInternal.h"
-
-void MYODBCDesRecFree( MYODBC_DES_PTR pDes,
- unsigned int nRecord )
-{
- MYODBC_DES_REC_PTR pDesRec = NULL;
- MYODBC_ARRAY_ITEM_DATA_PTR pData = NULL;
-
- MYODBCArrayGetExt( pDes->hRecords, nRecord, &pData );
-
- pDesRec = pData;
-
- /* free strings */
- MYODBCDesRecClear( pDesRec );
-
- /* free mem used by extra (if any) */
- if ( pDes->pfuncDesRecFreeExtra )
- pDes->pfuncDesRecFreeExtra( pDesRec );
-
- /*! \note We *must* reduce array or looping could result. */
- MYODBCArrayDeleteExt( pDes->hRecords, nRecord );
-
- /* update SQL_DESC_COUNT */
- pDes->desc_count--;
-
- /* free remaining mem used by record */
- MYODBCCFree( pDesRec );
-}
-
-
Deleted: MYODBCDes/MYODBCDesLib/MYODBCDesRecGet.c
===================================================================
--- MYODBCDes/MYODBCDesLib/MYODBCDesRecGet.c 2006-01-20 19:19:22 UTC (rev 46)
+++ MYODBCDes/MYODBCDesLib/MYODBCDesRecGet.c 2006-01-20 20:04:33 UTC (rev 47)
@@ -1,35 +0,0 @@
-/*!
- \internal
- \file MYODBCDesRecGet.c
- \author Peter Harvey <pharvey@stripped>
- Copyright MySQL AB 2004-2005 Released under GPL.
- \version Connector/ODBC v5
- \date 2005
- \brief This code is used to support descriptor information
- associated with various handles.
- \note This code is for internal use and as such is for driver
- developers only.
-*/
-#include "MYODBCDesInternal.h"
-
-MYODBC_DES_REC_PTR MYODBCDesRecGet( MYODBC_DES_PTR pDes,
- SQLSMALLINT nRecord,
- MYODBC_C_BOOL bAppend )
-{
- MYODBC_ARRAY_ITEM_DATA_PTR pData;
-
- /* append records as desired/needed */
- if ( bAppend && nRecord > pDes->desc_count )
- MYODBCDesCount( pDes, nRecord, MYODBC_C_FALSE );
-
- /* is rec_num outside the array we have */
- if ( nRecord > pDes->desc_count )
- return NULL;
-
- /* return the record */
- MYODBCArrayGetExt( pDes->hRecords, nRecord, &pData );
-
- return pData;
-}
-
-
Deleted: MYODBCDes/MYODBCDesLib/MYODBCDesRecIntervalCode.c
===================================================================
--- MYODBCDes/MYODBCDesLib/MYODBCDesRecIntervalCode.c 2006-01-20 19:19:22 UTC (rev 46)
+++ MYODBCDes/MYODBCDesLib/MYODBCDesRecIntervalCode.c 2006-01-20 20:04:33 UTC (rev 47)
@@ -1,50 +0,0 @@
-/*!
- \internal
- \file MYODBCDesRecIntervalCode.c
- \author Peter Harvey <pharvey@stripped>
- Copyright MySQL AB 2004-2005 Released under GPL.
- \version Connector/ODBC v5
- \date 2005
- \brief This code is used to support descriptor information
- associated with various handles.
- \note This code is for internal use and as such is for driver
- developers only.
-*/
-#include "MYODBCDesInternal.h"
-
-SQLRETURN MYODBCDesRecIntervalCode( MYODBC_DES_REC_PTR pDesRec,
- SQLSMALLINT nDateTimeIntervalCode )
-{
- /*
- \internal ODBC Rule
-
- This SQLSMALLINT record field contains the subcode for the specific datetime
- or interval data type when the SQL_DESC_TYPE field is SQL_DATETIME or
- SQL_INTERVAL.
- */
- if ( pDesRec->desc_type != SQL_DATETIME && pDesRec->desc_type !=
SQL_INTERVAL )
- return MYODBCDiaAppend( pDesRec->pOwner->hDia, MYODBC_DIA_HY092, 0, NULL );
-
- switch ( nDateTimeIntervalCode )
- {
- case SQL_CODE_YEAR: /* = 1 = SQL_CODE_DATE */
- case SQL_CODE_MONTH: /* = 2 = SQL_CODE_TIME */
- case SQL_CODE_DAY: /* = 3 = SQL_CODE_TIMESTAMP */
- case SQL_CODE_HOUR:
- case SQL_CODE_MINUTE:
- case SQL_CODE_SECOND:
- case SQL_CODE_YEAR_TO_MONTH:
- case SQL_CODE_DAY_TO_HOUR:
- case SQL_CODE_DAY_TO_MINUTE:
- case SQL_CODE_DAY_TO_SECOND:
- case SQL_CODE_HOUR_TO_MINUTE:
- case SQL_CODE_HOUR_TO_SECOND:
- case SQL_CODE_MINUTE_TO_SECOND:
- pDesRec->desc_datetime_interval_code = nDateTimeIntervalCode;
- return SQL_SUCCESS;
- }
-
- return MYODBCDiaAppend( pDesRec->pOwner->hDia, MYODBC_DIA_HY092, 0, NULL );
-}
-
-
Deleted: MYODBCDes/MYODBCDesLib/MYODBCDesRecIrdInteger.c
===================================================================
--- MYODBCDes/MYODBCDesLib/MYODBCDesRecIrdInteger.c 2006-01-20 19:19:22 UTC (rev 46)
+++ MYODBCDes/MYODBCDesLib/MYODBCDesRecIrdInteger.c 2006-01-20 20:04:33 UTC (rev 47)
@@ -1,44 +0,0 @@
-/*!
- \file MYODBCDesRecIrdInteger.c
- \author Peter Harvey <pharvey@stripped>
- Copyright MySQL AB 2004-2005 Released under GPL.
- \version Connector/ODBC v5
- \date 2005
- \brief Contains the MYODBCDesRecIrdInteger utility.
-*/
-#include "MYODBCDesInternal.h"
-
-void MYODBCDesRecIrdInteger( MYODBC_DES_REC_PTR pDesRec,
- SQLCHAR * pszColumnName,
- SQLSMALLINT nNullable,
- SQLSMALLINT nUnsigned )
-{
- pDesRec->desc_auto_unique_value= SQL_FALSE;
- pDesRec->desc_base_column_name = MYODBCCStrDup( pszColumnName, SQL_NTS );
- pDesRec->desc_base_table_name = MYODBCCStrDup( "", SQL_NTS );
- pDesRec->desc_case_sensitive = SQL_FALSE;
- pDesRec->desc_catalog_name = MYODBCCStrDup( "", SQL_NTS );
- pDesRec->desc_concise_type = SQL_INTEGER;
- pDesRec->desc_display_size = 28;
- pDesRec->desc_fixed_prec_scale = SQL_TRUE;
- pDesRec->desc_label = MYODBCCStrDup( pszColumnName, SQL_NTS );
- pDesRec->desc_literal_prefix = MYODBCCStrDup( "", SQL_NTS );
- pDesRec->desc_literal_suffix = MYODBCCStrDup( "", SQL_NTS );
- pDesRec->desc_local_type_name = MYODBCCStrDup( "", SQL_NTS );
- pDesRec->desc_name = MYODBCCStrDup( pszColumnName, SQL_NTS );
- pDesRec->desc_nullable = nNullable;
- pDesRec->desc_num_prec_radix = 10;
- pDesRec->desc_octet_length = 0;
- pDesRec->desc_precision = 10;
- pDesRec->desc_scale = 0;
- pDesRec->desc_schema_name = MYODBCCStrDup( "", SQL_NTS );
- pDesRec->desc_searchable = SQL_PRED_NONE;
- pDesRec->desc_table_name = MYODBCCStrDup( "", SQL_NTS );
- pDesRec->desc_type = SQL_SMALLINT;
- pDesRec->desc_type_name = MYODBCCStrDup( "INTEGER", SQL_NTS );
- pDesRec->desc_unnamed = SQL_NAMED;
- pDesRec->desc_unsigned = nUnsigned;
- pDesRec->desc_updatable = SQL_ATTR_READONLY;
-}
-
-
Deleted: MYODBCDes/MYODBCDesLib/MYODBCDesRecIrdSmallInt.c
===================================================================
--- MYODBCDes/MYODBCDesLib/MYODBCDesRecIrdSmallInt.c 2006-01-20 19:19:22 UTC (rev 46)
+++ MYODBCDes/MYODBCDesLib/MYODBCDesRecIrdSmallInt.c 2006-01-20 20:04:33 UTC (rev 47)
@@ -1,43 +0,0 @@
-/*!
- \file MYODBCDesRecIrdSmallInt.c
- \author Peter Harvey <pharvey@stripped>
- Copyright MySQL AB 2004-2005 Released under GPL.
- \version Connector/ODBC v5
- \date 2005
- \brief Contains the MYODBCDesRecIrdSmallInt utility.
-*/
-#include "MYODBCDesInternal.h"
-
-void MYODBCDesRecIrdSmallInt( MYODBC_DES_REC_PTR pDesRec,
- SQLCHAR * pszColumnName,
- SQLSMALLINT nNullable,
- SQLSMALLINT nUnsigned )
-{
- pDesRec->desc_auto_unique_value= SQL_FALSE;
- pDesRec->desc_base_column_name = MYODBCCStrDup( pszColumnName, SQL_NTS );
- pDesRec->desc_base_table_name = MYODBCCStrDup( "", SQL_NTS );
- pDesRec->desc_case_sensitive = SQL_FALSE;
- pDesRec->desc_catalog_name = MYODBCCStrDup( "", SQL_NTS );
- pDesRec->desc_concise_type = SQL_SMALLINT;
- pDesRec->desc_display_size = 7;
- pDesRec->desc_fixed_prec_scale = SQL_TRUE;
- pDesRec->desc_label = MYODBCCStrDup( pszColumnName, SQL_NTS );
- pDesRec->desc_literal_prefix = MYODBCCStrDup( "", SQL_NTS );
- pDesRec->desc_literal_suffix = MYODBCCStrDup( "", SQL_NTS );
- pDesRec->desc_local_type_name = MYODBCCStrDup( "", SQL_NTS );
- pDesRec->desc_name = MYODBCCStrDup( pszColumnName, SQL_NTS );
- pDesRec->desc_nullable = nNullable;
- pDesRec->desc_num_prec_radix = 10;
- pDesRec->desc_octet_length = 0;
- pDesRec->desc_precision = 5;
- pDesRec->desc_scale = 0;
- pDesRec->desc_schema_name = MYODBCCStrDup( "", SQL_NTS );
- pDesRec->desc_searchable = SQL_PRED_NONE;
- pDesRec->desc_table_name = MYODBCCStrDup( "", SQL_NTS );
- pDesRec->desc_type = SQL_SMALLINT;
- pDesRec->desc_type_name = MYODBCCStrDup( "SMALLINT", SQL_NTS );
- pDesRec->desc_unnamed = SQL_NAMED;
- pDesRec->desc_unsigned = nUnsigned;
- pDesRec->desc_updatable = SQL_ATTR_READONLY;
-}
-
Deleted: MYODBCDes/MYODBCDesLib/MYODBCDesRecIrdVarChar.c
===================================================================
--- MYODBCDes/MYODBCDesLib/MYODBCDesRecIrdVarChar.c 2006-01-20 19:19:22 UTC (rev 46)
+++ MYODBCDes/MYODBCDesLib/MYODBCDesRecIrdVarChar.c 2006-01-20 20:04:33 UTC (rev 47)
@@ -1,41 +0,0 @@
-/*!
- \file MYODBCDesRecIrdVarChar.c
- \author Peter Harvey <pharvey@stripped>
- Copyright MySQL AB 2004-2005 Released under GPL.
- \version Connector/ODBC v5
- \date 2005
- \brief Contains the MYODBCDesRecIrdVarChar utility.
-*/
-#include "MYODBCDesInternal.h"
-
-void MYODBCDesRecIrdVarChar( MYODBC_DES_REC_PTR pDesRec,
- SQLCHAR * pszColumnName,
- SQLSMALLINT nNullable )
-{
- pDesRec->desc_auto_unique_value= SQL_FALSE;
- pDesRec->desc_base_column_name = MYODBCCStrDup( pszColumnName, SQL_NTS );
- pDesRec->desc_base_table_name = MYODBCCStrDup( "", SQL_NTS );
- pDesRec->desc_case_sensitive = SQL_TRUE;
- pDesRec->desc_catalog_name = MYODBCCStrDup( "", SQL_NTS );
- pDesRec->desc_concise_type = SQL_VARCHAR;
- pDesRec->desc_display_size = 255;
- pDesRec->desc_label = MYODBCCStrDup( pszColumnName, SQL_NTS );
- pDesRec->desc_length = 255;
- pDesRec->desc_literal_prefix = MYODBCCStrDup( "'", SQL_NTS );
- pDesRec->desc_literal_suffix = MYODBCCStrDup( "'", SQL_NTS );
- pDesRec->desc_local_type_name = MYODBCCStrDup( "", SQL_NTS );
- pDesRec->desc_name = MYODBCCStrDup( pszColumnName, SQL_NTS );
- pDesRec->desc_nullable = nNullable;
- pDesRec->desc_num_prec_radix = 0;
- pDesRec->desc_octet_length = 255;
- pDesRec->desc_schema_name = MYODBCCStrDup( "", SQL_NTS );
- pDesRec->desc_searchable = SQL_PRED_NONE;
- pDesRec->desc_table_name = MYODBCCStrDup( "", SQL_NTS );
- pDesRec->desc_type = SQL_VARCHAR;
- pDesRec->desc_type_name = MYODBCCStrDup( "VARCHAR", SQL_NTS );
- pDesRec->desc_unnamed = SQL_NAMED;
- pDesRec->desc_unsigned = SQL_TRUE;
- pDesRec->desc_updatable = SQL_ATTR_READONLY;
-}
-
-
Deleted: MYODBCDes/MYODBCDesLib/MYODBCDesRecSetFreeExtra.c
===================================================================
--- MYODBCDes/MYODBCDesLib/MYODBCDesRecSetFreeExtra.c 2006-01-20 19:19:22 UTC (rev 46)
+++ MYODBCDes/MYODBCDesLib/MYODBCDesRecSetFreeExtra.c 2006-01-20 20:04:33 UTC (rev 47)
@@ -1,20 +0,0 @@
-/*!
- \internal
- \file MYODBCDesRecSetFreeExtra.c
- \author Peter Harvey <pharvey@stripped>
- Copyright MySQL AB 2004-2005 Released under GPL.
- \version Connector/ODBC v5
- \date 2005
- \brief This code is used to support descriptor information
- associated with various handles.
- \note This code is for internal use and as such is for driver
- developers only.
-*/
-#include "MYODBCDesInternal.h"
-
-void MYODBCDesRecSetFreeExtra( MYODBC_DES_PTR pDes, void (*pfunc)(void *pDesRec) )
-{
- pDes->pfuncDesRecFreeExtra = pfunc;
-}
-
-
Deleted: MYODBCDes/MYODBCDesLib/MYODBCDesRecType.c
===================================================================
--- MYODBCDes/MYODBCDesLib/MYODBCDesRecType.c 2006-01-20 19:19:22 UTC (rev 46)
+++ MYODBCDes/MYODBCDesLib/MYODBCDesRecType.c 2006-01-20 20:04:33 UTC (rev 47)
@@ -1,33 +0,0 @@
-/*!
- \internal
- \file MYODBCDesRecType.c
- \author Peter Harvey <pharvey@stripped>
- Copyright MySQL AB 2004-2005 Released under GPL.
- \version Connector/ODBC v5
- \date 2005
- \brief This code is used to support descriptor information
- associated with various handles.
- \note This code is for internal use and as such is for driver
- developers only.
-*/
-#include "MYODBCDesInternal.h"
-
-SQLRETURN MYODBCDesRecType( MYODBC_DES_REC_PTR pDesRec,
- SQLSMALLINT nType )
-{
- switch ( pDesRec->pOwner->nTypeSubID )
- {
- case MYODBC_RTTI_DES_UND:
- return MYODBCDiaAppend( pDesRec->pOwner->hDia, MYODBC_DIA_HY000, 0,
"Descriptor type undefined." );
- case MYODBC_RTTI_DES_IRD:
- case MYODBC_RTTI_DES_IPD:
- return MYODBCDesRecTypeSQL( pDesRec, nType );
- case MYODBC_RTTI_DES_ARD:
- case MYODBC_RTTI_DES_APD:
- return MYODBCDesRecTypeC( pDesRec, nType );
- }
-
- return MYODBCDiaAppend( pDesRec->pOwner->hDia, MYODBC_DIA_HY000, 0, "Unknown
descriptor type." );
-}
-
-
Deleted: MYODBCDes/MYODBCDesLib/MYODBCDesRecTypeC.c
===================================================================
--- MYODBCDes/MYODBCDesLib/MYODBCDesRecTypeC.c 2006-01-20 19:19:22 UTC (rev 46)
+++ MYODBCDes/MYODBCDesLib/MYODBCDesRecTypeC.c 2006-01-20 20:04:33 UTC (rev 47)
@@ -1,226 +0,0 @@
-/*!
- \internal
- \file MYODBCDesRecTypeC.c
- \author Peter Harvey <pharvey@stripped>
- Copyright MySQL AB 2004-2005 Released under GPL.
- \version Connector/ODBC v5
- \date 2005
- \brief This code is used to support descriptor information
- associated with various handles.
- \note This code is for internal use and as such is for driver
- developers only.
-*/
-#include "MYODBCDesInternal.h"
-
-SQLRETURN MYODBCDesRecTypeC( MYODBC_DES_REC_PTR pDesRec, SQLSMALLINT nType )
-{
- /*
- \internal ODBC Rule
-
- SQL_DESC_TYPE record field specifies the concise SQL or C data type
- for all data types except datetime and interval data types. For the
- datetime and interval data types, this field specifies the verbose data
- type, which is SQL_DATETIME or SQL_INTERVAL.
- */
-
- /*
- \internal ODBC Rule
-
- Trying to set SQL_DESC_TYPE to one of the concise datetime or
- interval types will return SQLSTATE HY021 (Inconsistent
- descriptor information).
- */
-
- switch ( nType )
- {
- case SQL_C_TYPE_DATE:
- case SQL_C_TYPE_TIME:
- case SQL_C_TYPE_TIMESTAMP:
- case SQL_C_INTERVAL_YEAR:
- case SQL_C_INTERVAL_MONTH:
- case SQL_C_INTERVAL_DAY:
- case SQL_C_INTERVAL_HOUR:
- case SQL_C_INTERVAL_MINUTE:
- case SQL_C_INTERVAL_SECOND:
- case SQL_C_INTERVAL_YEAR_TO_MONTH:
- case SQL_C_INTERVAL_DAY_TO_HOUR:
- case SQL_C_INTERVAL_DAY_TO_MINUTE:
- case SQL_C_INTERVAL_DAY_TO_SECOND:
- case SQL_C_INTERVAL_HOUR_TO_MINUTE:
- case SQL_C_INTERVAL_HOUR_TO_SECOND:
- case SQL_C_INTERVAL_MINUTE_TO_SECOND:
- return MYODBCDiaAppend( pDesRec->pOwner->hDia, MYODBC_DIA_HY021, 0,
NULL );
- }
-
- /*
- \internal ODBC Rule
-
- If SQL_DESC_TYPE is set to a concise data type other than an interval
- or datetime data type, the SQL_DESC_CONCISE_TYPE field is set to the
- same value and the SQL_DESC_DATETIME_INTERVAL_CODE field is set to 0.
- */
-
- /*
- \internal ODBC Rule
-
- If SQL_DESC_TYPE is set to the verbose datetime or interval data type
- (SQL_DATETIME or SQL_INTERVAL) and the SQL_DESC_DATETIME_INTERVAL_CODE
- field is set to the appropriate subcode, the SQL_DESC_CONCISE TYPE field
- is set to the corresponding concise type.
- */
-
- /*
- C concise types
-
- These are listed in the order given in the ODBC specification to make
- xref to specification easier.
- */
- switch ( nType )
- {
- case SQL_C_CHAR:
- case SQL_C_SSHORT:
- case SQL_C_USHORT:
- case SQL_C_SLONG:
- case SQL_C_ULONG:
- case SQL_C_FLOAT:
- case SQL_C_DOUBLE:
- case SQL_C_BIT:
- case SQL_C_STINYINT:
- case SQL_C_UTINYINT:
- case SQL_C_SBIGINT:
- case SQL_C_UBIGINT:
- case SQL_C_BINARY:
- /* case SQL_C_VARBOOKMARK: */ /* = SQL_C_BINARY */
- case SQL_C_NUMERIC:
- case SQL_C_GUID:
- case SQL_C_DEFAULT: /* SQL_C_DEFAULT means make intelligent choice i.e. based
upon the SQL type */
- pDesRec->desc_type = nType;
- pDesRec->desc_concise_type = nType;
- pDesRec->desc_datetime_interval_code = 0;
- return SQL_SUCCESS;
- }
-
- /* Handle special cases; SQL_DATETIME and SQL_INTERVAL */
- switch ( nType )
- {
- case SQL_DATETIME: /* ( 9) verbose type (generalization) */
- /*
- \internal ODBC Rule
-
- Whenever this field contains SQL_DATETIME the
- SQL_DESC_DATETIME_INTERVAL_CODE field must contain the appropriate
- subcode for the concise type.
-
- For datetime data types, SQL_DESC_TYPE contains SQL_DATETIME,
- and the SQL_DESC_DATETIME_INTERVAL_CODE field contains a subcode for
- the specific datetime data type.
- */
-
- /*
- NOTE
-
- These values (i.e. SQL_TYPE_DATE and SQL_CODE_DATE) are offset
- from each other by 100. This is likely true for unixODBC and XP but
- I am not sure about other SDKs. So I do not rely on this.
- */
- switch ( pDesRec->desc_datetime_interval_code )
- {
- case SQL_CODE_DATE:
- pDesRec->desc_type = nType;
- pDesRec->desc_concise_type = SQL_C_TYPE_DATE;
- return SQL_SUCCESS;
- case SQL_CODE_TIME:
- pDesRec->desc_type = nType;
- pDesRec->desc_concise_type = SQL_C_TYPE_TIME;
- return SQL_SUCCESS;
- case SQL_CODE_TIMESTAMP:
- pDesRec->desc_type = nType;
- pDesRec->desc_concise_type = SQL_C_TYPE_TIMESTAMP;
- return SQL_SUCCESS;
- default:
- return MYODBCDiaAppend( pDesRec->pOwner->hDia,
MYODBC_DIA_HY021, 0, NULL );
- }
-
- case SQL_INTERVAL: /* (10) verbose type (generalization) */
- /*
- \internal ODBC Rule
-
- Whenever this field contains SQL_INTERVAL the
- SQL_DESC_DATETIME_INTERVAL_CODE field must contain the appropriate
- subcode for the concise type.
-
- For interval data types, SQL_DESC_TYPE contains SQL_INTERVAL and the
- SQL_DESC_DATETIME_INTERVAL_CODE field contains a subcode for the
- specific interval data type.
- */
-
- /*
- NOTE
-
- These values (i.e. SQL_INTERVAL_MONTH and SQL_CODE_MONTH) are offset
- from each other by 100. This is likely true for unixODBC and XP but
- I am not sure about other SDKs. So I do not rely on this.
- */
- switch ( pDesRec->desc_datetime_interval_code )
- {
- case SQL_CODE_MONTH:
- pDesRec->desc_type = nType;
- pDesRec->desc_concise_type = SQL_C_INTERVAL_MONTH;
- return SQL_SUCCESS;
- case SQL_CODE_YEAR:
- pDesRec->desc_type = nType;
- pDesRec->desc_concise_type = SQL_C_INTERVAL_YEAR;
- return SQL_SUCCESS;
- case SQL_CODE_YEAR_TO_MONTH:
- pDesRec->desc_type = nType;
- pDesRec->desc_concise_type = SQL_C_INTERVAL_YEAR_TO_MONTH;
- return SQL_SUCCESS;
- case SQL_CODE_DAY:
- pDesRec->desc_type = nType;
- pDesRec->desc_concise_type = SQL_C_INTERVAL_DAY;
- return SQL_SUCCESS;
- case SQL_CODE_HOUR:
- pDesRec->desc_type = nType;
- pDesRec->desc_concise_type = SQL_C_INTERVAL_HOUR;
- return SQL_SUCCESS;
- case SQL_CODE_MINUTE:
- pDesRec->desc_type = nType;
- pDesRec->desc_concise_type = SQL_C_INTERVAL_MINUTE;
- return SQL_SUCCESS;
- case SQL_CODE_SECOND:
- pDesRec->desc_type = nType;
- pDesRec->desc_concise_type = SQL_C_INTERVAL_SECOND;
- return SQL_SUCCESS;
- case SQL_CODE_DAY_TO_HOUR:
- pDesRec->desc_type = nType;
- pDesRec->desc_concise_type = SQL_C_INTERVAL_DAY_TO_HOUR;
- return SQL_SUCCESS;
- case SQL_CODE_DAY_TO_MINUTE:
- pDesRec->desc_type = nType;
- pDesRec->desc_concise_type = SQL_C_INTERVAL_DAY_TO_MINUTE;
- return SQL_SUCCESS;
- case SQL_CODE_DAY_TO_SECOND:
- pDesRec->desc_type = nType;
- pDesRec->desc_concise_type = SQL_C_INTERVAL_DAY_TO_SECOND;
- return SQL_SUCCESS;
- case SQL_CODE_HOUR_TO_MINUTE:
- pDesRec->desc_type = nType;
- pDesRec->desc_concise_type = SQL_C_INTERVAL_HOUR_TO_MINUTE;
- return SQL_SUCCESS;
- case SQL_CODE_HOUR_TO_SECOND:
- pDesRec->desc_type = nType;
- pDesRec->desc_concise_type = SQL_C_INTERVAL_HOUR_TO_SECOND;
- return SQL_SUCCESS;
- case SQL_CODE_MINUTE_TO_SECOND:
- pDesRec->desc_type = nType;
- pDesRec->desc_concise_type = SQL_C_INTERVAL_MINUTE_TO_SECOND;
- return SQL_SUCCESS;
- default:
- return MYODBCDiaAppend( pDesRec->pOwner->hDia,
MYODBC_DIA_HY021, 0, NULL );
- }
- }
-
- return MYODBCDiaAppend( pDesRec->pOwner->hDia, MYODBC_DIA_HY092, 0, NULL );
-}
-
-
Deleted: MYODBCDes/MYODBCDesLib/MYODBCDesRecTypeSQL.c
===================================================================
--- MYODBCDes/MYODBCDesLib/MYODBCDesRecTypeSQL.c 2006-01-20 19:19:22 UTC (rev 46)
+++ MYODBCDes/MYODBCDesLib/MYODBCDesRecTypeSQL.c 2006-01-20 20:04:33 UTC (rev 47)
@@ -1,233 +0,0 @@
-/*!
- \internal
- \file MYODBCDesRecTypeSQL.c
- \author Peter Harvey <pharvey@stripped>
- Copyright MySQL AB 2004-2005 Released under GPL.
- \version Connector/ODBC v5
- \date 2005
- \brief This code is used to support descriptor information
- associated with various handles.
- \note This code is for internal use and as such is for driver
- developers only.
-*/
-#include "MYODBCDesInternal.h"
-
-SQLRETURN MYODBCDesRecTypeSQL( MYODBC_DES_REC_PTR pDesRec, SQLSMALLINT nType )
-{
- /*
- \internal ODBC Rule
-
- SQL_DESC_TYPE record field specifies the concise SQL or C data type
- for all data types except datetime and interval data types. For the
- datetime and interval data types, this field specifies the verbose data
- type, which is SQL_DATETIME or SQL_INTERVAL.
- */
-
- /*
- \internal ODBC Rule
-
- Trying to set SQL_DESC_TYPE to one of the concise datetime or
- interval types will return SQLSTATE HY021 (Inconsistent
- descriptor information).
- */
-
- switch ( nType )
- {
- case SQL_TYPE_DATE: /* 91 = SQL_C_TYPE_DATE */
- case SQL_TYPE_TIME: /* 92 = SQL_C_TYPE_TIME */
- case SQL_TYPE_TIMESTAMP: /* 93 = SQL_C_TYPE_TIMESTAMP */
- case SQL_INTERVAL_MONTH:
- case SQL_INTERVAL_YEAR:
- case SQL_INTERVAL_YEAR_TO_MONTH:
- case SQL_INTERVAL_DAY:
- case SQL_INTERVAL_HOUR:
- case SQL_INTERVAL_MINUTE:
- case SQL_INTERVAL_SECOND:
- case SQL_INTERVAL_DAY_TO_HOUR:
- case SQL_INTERVAL_DAY_TO_MINUTE:
- case SQL_INTERVAL_DAY_TO_SECOND:
- case SQL_INTERVAL_HOUR_TO_MINUTE:
- case SQL_INTERVAL_HOUR_TO_SECOND:
- case SQL_INTERVAL_MINUTE_TO_SECOND:
- return MYODBCDiaAppend( pDesRec->pOwner->hDia, MYODBC_DIA_HY021, 0,
NULL );
- }
-
- /*
- \internal ODBC Rule
-
- If SQL_DESC_TYPE is set to a concise data type other than an interval
- or datetime data type, the SQL_DESC_CONCISE_TYPE field is set to the
- same value and the SQL_DESC_DATETIME_INTERVAL_CODE field is set to 0.
- */
-
- /*
- \internal ODBC Rule
-
- If SQL_DESC_TYPE is set to the verbose datetime or interval data type
- (SQL_DATETIME or SQL_INTERVAL) and the SQL_DESC_DATETIME_INTERVAL_CODE
- field is set to the appropriate subcode, the SQL_DESC_CONCISE TYPE field
- is set to the corresponding concise type.
- */
-
- /*
- SQL concise types
-
- These are listed in the order given in the ODBC specification to make
- xref to specification easier.
- */
- switch ( nType )
- {
- case SQL_CHAR:
- case SQL_VARCHAR:
- case SQL_LONGVARCHAR:
-#ifdef UNICODE
- case SQL_WCHAR:
- case SQL_WVARCHAR:
- case SQL_WLONGVARCHAR:
-#endif
- case SQL_DECIMAL:
- case SQL_NUMERIC:
- case SQL_SMALLINT:
- case SQL_INTEGER:
- case SQL_REAL:
- case SQL_FLOAT:
- case SQL_DOUBLE:
- case SQL_BIT:
- case SQL_TINYINT:
- case SQL_BIGINT:
- case SQL_BINARY:
- case SQL_VARBINARY:
- case SQL_LONGVARBINARY:
- pDesRec->desc_type = nType;
- pDesRec->desc_concise_type = nType;
- pDesRec->desc_datetime_interval_code = 0;
- return SQL_SUCCESS;
-
- case SQL_DATETIME: /* ( 9) verbose type (generalization) */
- /*
- \internal ODBC Rule
-
- Whenever this field contains SQL_DATETIME the
- SQL_DESC_DATETIME_INTERVAL_CODE field must contain the appropriate
- subcode for the concise type.
-
- For datetime data types, SQL_DESC_TYPE contains SQL_DATETIME,
- and the SQL_DESC_DATETIME_INTERVAL_CODE field contains a subcode for
- the specific datetime data type.
- */
-
- /*
- NOTE
-
- These values (i.e. SQL_TYPE_DATE and SQL_CODE_DATE) are offset
- from each other by 100. This is likely true for unixODBC and XP but
- I am not sure about other SDKs. So I do not rely on this.
- */
- switch ( pDesRec->desc_datetime_interval_code )
- {
- case SQL_CODE_DATE:
- pDesRec->desc_type = nType;
- pDesRec->desc_concise_type = SQL_TYPE_DATE;
- return SQL_SUCCESS;
- case SQL_CODE_TIME:
- pDesRec->desc_type = nType;
- pDesRec->desc_concise_type = SQL_TYPE_TIME;
- return SQL_SUCCESS;
- case SQL_CODE_TIMESTAMP:
- pDesRec->desc_type = nType;
- pDesRec->desc_concise_type = SQL_TYPE_TIMESTAMP;
- return SQL_SUCCESS;
- default:
- return MYODBCDiaAppend( pDesRec->pOwner->hDia,
MYODBC_DIA_HY021, 0, NULL );
- }
-
- case SQL_INTERVAL: /* (10) verbose type (generalization) */
- /*
- \internal ODBC Rule
-
- Whenever this field contains SQL_INTERVAL the
- SQL_DESC_DATETIME_INTERVAL_CODE field must contain the appropriate
- subcode for the concise type.
-
- For interval data types, SQL_DESC_TYPE contains SQL_INTERVAL and the
- SQL_DESC_DATETIME_INTERVAL_CODE field contains a subcode for the
- specific interval data type.
- */
-
- /*
- NOTE
-
- These values (i.e. SQL_INTERVAL_MONTH and SQL_CODE_MONTH) are offset
- from each other by 100. This is likely true for unixODBC and XP but
- I am not sure about other SDKs. So I do not rely on this.
- */
- switch ( pDesRec->desc_datetime_interval_code )
- {
- case SQL_CODE_MONTH:
- pDesRec->desc_type = nType;
- pDesRec->desc_concise_type = SQL_INTERVAL_MONTH;
- return SQL_SUCCESS;
- case SQL_CODE_YEAR:
- pDesRec->desc_type = nType;
- pDesRec->desc_concise_type = SQL_INTERVAL_YEAR;
- return SQL_SUCCESS;
- case SQL_CODE_YEAR_TO_MONTH:
- pDesRec->desc_type = nType;
- pDesRec->desc_concise_type = SQL_INTERVAL_YEAR_TO_MONTH;
- return SQL_SUCCESS;
- case SQL_CODE_DAY:
- pDesRec->desc_type = nType;
- pDesRec->desc_concise_type = SQL_INTERVAL_DAY;
- return SQL_SUCCESS;
- case SQL_CODE_HOUR:
- pDesRec->desc_type = nType;
- pDesRec->desc_concise_type = SQL_INTERVAL_HOUR;
- return SQL_SUCCESS;
- case SQL_CODE_MINUTE:
- pDesRec->desc_type = nType;
- pDesRec->desc_concise_type = SQL_INTERVAL_MINUTE;
- return SQL_SUCCESS;
- case SQL_CODE_SECOND:
- pDesRec->desc_type = nType;
- pDesRec->desc_concise_type = SQL_INTERVAL_SECOND;
- return SQL_SUCCESS;
- case SQL_CODE_DAY_TO_HOUR:
- pDesRec->desc_type = nType;
- pDesRec->desc_concise_type = SQL_INTERVAL_DAY_TO_HOUR;
- return SQL_SUCCESS;
- case SQL_CODE_DAY_TO_MINUTE:
- pDesRec->desc_type = nType;
- pDesRec->desc_concise_type = SQL_INTERVAL_DAY_TO_MINUTE;
- return SQL_SUCCESS;
- case SQL_CODE_DAY_TO_SECOND:
- pDesRec->desc_type = nType;
- pDesRec->desc_concise_type = SQL_INTERVAL_DAY_TO_SECOND;
- return SQL_SUCCESS;
- case SQL_CODE_HOUR_TO_MINUTE:
- pDesRec->desc_type = nType;
- pDesRec->desc_concise_type = SQL_INTERVAL_HOUR_TO_MINUTE;
- return SQL_SUCCESS;
- case SQL_CODE_HOUR_TO_SECOND:
- pDesRec->desc_type = nType;
- pDesRec->desc_concise_type = SQL_INTERVAL_HOUR_TO_SECOND;
- return SQL_SUCCESS;
- case SQL_CODE_MINUTE_TO_SECOND:
- pDesRec->desc_type = nType;
- pDesRec->desc_concise_type = SQL_INTERVAL_MINUTE_TO_SECOND;
- return SQL_SUCCESS;
- default:
- return MYODBCDiaAppend( pDesRec->pOwner->hDia,
MYODBC_DIA_HY021, 0, NULL );
- }
-
- case SQL_GUID: /* not in *real* ODBC spec - likely an MS'ism */
- pDesRec->desc_type = nType;
- pDesRec->desc_concise_type = nType;
- pDesRec->desc_datetime_interval_code = 0;
- return SQL_SUCCESS;
- }
-
- return MYODBCDiaAppend( pDesRec->pOwner->hDia, MYODBC_DIA_HY092, 0, NULL );
-}
-
-
-
Deleted: MYODBCDes/MYODBCDesLib/MYODBCDesRecUnbind.c
===================================================================
--- MYODBCDes/MYODBCDesLib/MYODBCDesRecUnbind.c 2006-01-20 19:19:22 UTC (rev 46)
+++ MYODBCDes/MYODBCDesLib/MYODBCDesRecUnbind.c 2006-01-20 20:04:33 UTC (rev 47)
@@ -1,20 +0,0 @@
-/*!
- \internal
- \file MYODBCDesRecUnbind.c
- \author Peter Harvey <pharvey@stripped>
- Copyright MySQL AB 2004-2005 Released under GPL.
- \version Connector/ODBC v5
- \date 2005
- \brief This code is used to support descriptor information
- associated with various handles.
- \note This code is for internal use and as such is for driver
- developers only.
-*/
-#include "MYODBCDesInternal.h"
-
-void MYODBCDesRecUnbind( MYODBC_DES_REC_PTR pDesRec )
-{
- /* use this as a flag - bound/unbound */
- pDesRec->desc_data_ptr = NULL;
-}
-
Deleted: MYODBCDes/MYODBCDesLib/MYODBCDesRecsFree.c
===================================================================
--- MYODBCDes/MYODBCDesLib/MYODBCDesRecsFree.c 2006-01-20 19:19:22 UTC (rev 46)
+++ MYODBCDes/MYODBCDesLib/MYODBCDesRecsFree.c 2006-01-20 20:04:33 UTC (rev 47)
@@ -1,25 +0,0 @@
-/*!
- \internal
- \file MYODBCDesRecsFree.c
- \author Peter Harvey <pharvey@stripped>
- Copyright MySQL AB 2004-2005 Released under GPL.
- \version Connector/ODBC v5
- \date 2005
- \brief This code is used to support descriptor information
- associated with various handles.
- \note This code is for internal use and as such is for driver
- developers only.
-*/
-#include "MYODBCDesInternal.h"
-
-void MYODBCDesRecsFree( MYODBC_DES_PTR pDes )
-{
- /* while records array still has records in it */
- while ( pDes->desc_count >= 0 )
- {
- /* remove last record from array and free mem */
- MYODBCDesRecFree( pDes, pDes->desc_count );
- }
-}
-
-
Deleted: MYODBCDes/MYODBCDesLib/MYODBCDesSetFreeExtra.c
===================================================================
--- MYODBCDes/MYODBCDesLib/MYODBCDesSetFreeExtra.c 2006-01-20 19:19:22 UTC (rev 46)
+++ MYODBCDes/MYODBCDesLib/MYODBCDesSetFreeExtra.c 2006-01-20 20:04:33 UTC (rev 47)
@@ -1,21 +0,0 @@
-/*!
- \internal
- \file MYODBCDesSetFreeExtra.c
- \author Peter Harvey <pharvey@stripped>
- Copyright MySQL AB 2004-2005 Released under GPL.
- \version Connector/ODBC v5
- \date 2005
- \brief This code is used to support descriptor information
- associated with various handles.
- \note This code is for internal use and as such is for driver
- developers only.
-*/
-#include "MYODBCDesInternal.h"
-
-void MYODBCDesSetFreeExtra( MYODBC_DES_PTR pDes, void (*pfunc)(void *pDes) )
-{
- pDes->pfuncDesFreeExtra = pfunc;
-}
-
-
-
| Thread |
|---|
| • Connector/ODBC 5 commit: r47 - MYODBCAtt MYODBCAtt/MYODBCAttLib MYODBCAtt/include MYODBCDes/MYODBCDesLib | pharvey | 20 Jan |