|
View:
New views
3 Messages
—
Rating Filter:
Alert me
|
|
|
Patches for Odbc driverHi, all!
I made some patches for OdbcJdbc B2_0_0 branch. odbc-32.patch fixes http://tracker.firebirdsql.org/browse/ODBC-32. odbc-23.patch fixes http://tracker.firebirdsql.org/browse/ODBC-23. odbc-x64.patch for support x64 building. Goals of odbc-install.patch are: 1) Renaming driver from OdbcFb32 (OdbcFb64) to OdbcFb (This is more correctly because x64 and x86 (Windows or Linux) libraries have identical names in most cases). 2) Code corrections (fixed usage of old hard coded "OdbcJdbcSetup" in different places). 3) Installation corrections. Now if you install driver DLL by hand using regsvr32.exe with key "/i" then it will be installed into system directory. If key "/i" is not used then driver will be registered in the directory where it is located. I made a snapshot build (146) too. You can find it here: http://www.red-soft.biz/files/downloads/diff/OdbcFb_2.0.0.146_x86_x64.zip We'd like to commit these patches (Red Soft). Are there any objections? Regards, Alexander Potapchenko, Red Soft Corporation diff -r -u -x CVS e:\OdbcJdbco\OdbcJdbcSetup\ServiceTabChild.cpp e:\OdbcJdbc\OdbcJdbcSetup\ServiceTabChild.cpp --- e:\OdbcJdbco\OdbcJdbcSetup\ServiceTabChild.cpp Sun Aug 03 19:50:50 2008 +++ e:\OdbcJdbc\OdbcJdbcSetup\ServiceTabChild.cpp Thu Aug 21 18:56:44 2008 @@ -68,6 +68,8 @@ GetTempPath( MAX_PATH, bufferTmpDir ); GetTempFileName( bufferTmpDir, "OFB", 0, bufferTmpFileName ); + DeleteFile( bufferTmpFileName ); + strcpy( strrchr( bufferTmpFileName, '.' ) + 1, "htm"); hTmpFile = CreateFile( bufferTmpFileName, GENERIC_READ | GENERIC_WRITE, diff -r -u -x CVS e:\OdbcJdbco\OdbcJdbcSetup\ServiceTabCtrl.cpp e:\OdbcJdbc\OdbcJdbcSetup\ServiceTabCtrl.cpp --- e:\OdbcJdbco\OdbcJdbcSetup\ServiceTabCtrl.cpp Wed Jun 25 13:02:17 2008 +++ e:\OdbcJdbc\OdbcJdbcSetup\ServiceTabCtrl.cpp Thu Aug 21 18:56:45 2008 @@ -223,7 +223,7 @@ LONG ret; ret = RegOpenKeyEx( HKEY_CLASSES_ROOT, - "htmlfile\\shell\\opennew\\command", + "http\\shell\\open\\command", 0, KEY_EXECUTE, &hKey ); diff -r -u -x CVS e:\OdbcJdbco\MbsAndWcs.cpp e:\OdbcJdbc\MbsAndWcs.cpp --- e:\OdbcJdbco\MbsAndWcs.cpp Thu Aug 21 18:42:10 2008 +++ e:\OdbcJdbc\MbsAndWcs.cpp Thu Aug 21 16:19:20 2008 @@ -47,7 +47,7 @@ wcstr, -1, (LPSTR)mbstr, - !mbstr ? 0 : (int)count, + !mbstr ? 0 : (int)count+1, NULL, NULL ); if ( len > 0 ) diff -r -u -x CVS e:\OdbcJdbco\Builds\MsVc80.win\makefile.msvc8 e:\OdbcJdbc\Builds\MsVc80.win\makefile.msvc8 --- e:\OdbcJdbco\Builds\MsVc80.win\makefile.msvc8 Wed Apr 25 17:24:24 2007 +++ e:\OdbcJdbc\Builds\MsVc80.win\makefile.msvc8 Sat Aug 23 14:26:46 2008 @@ -47,7 +47,7 @@ /Fd"$(BUILDDIR)\\" /c # ISCDBCDLL = $(TARGETDIR)\IscDbc.dll -ODBCJDBCDLL = $(TARGETDIR)\OdbcFb32.dll +ODBCJDBCDLL = $(TARGETDIR)\OdbcFb.dll ODBCJDBCSDLL = $(TARGETDIR)\OdbcJdbcSetup.dll # !ifdef DEBUG diff -r -u -x CVS e:\OdbcJdbco\Builds\MsVc80.win\OdbcFb32.vcproj e:\OdbcJdbc\Builds\MsVc80.win\OdbcFb32.vcproj --- e:\OdbcJdbco\Builds\MsVc80.win\OdbcFb32.vcproj Fri Apr 27 16:48:25 2007 +++ e:\OdbcJdbc\Builds\MsVc80.win\OdbcFb32.vcproj Sat Aug 23 14:29:48 2008 @@ -44,7 +44,7 @@ MkTypLibCompatible="true" SuppressStartupBanner="true" TargetEnvironment="1" - TypeLibraryName=".\Debug/OdbcFb32.tlb" + TypeLibraryName=".\Debug/OdbcFb.tlb" /> <Tool Name="VCCLCompilerTool" @@ -78,7 +78,7 @@ Name="VCLinkerTool" AdditionalOptions="/EXPORT:ConfigDSN /EXPORT:ConfigDriver,PRIVATE /EXPORT:DllRegisterServer,PRIVATE /EXPORT:DllUnregisterServer,PRIVATE /EXPORT:DllInstall,PRIVATE" AdditionalDependencies="version.lib wsock32.lib comctl32.lib" - OutputFile="$(PlatformName)/$(ConfigurationName)/OdbcFb32.dll" + OutputFile="$(PlatformName)/$(ConfigurationName)/OdbcFb.dll" AdditionalLibraryDirectories="debug" ModuleDefinitionFile="..\..\OdbcJdbc.def" GenerateDebugInformation="true" @@ -139,7 +139,7 @@ MkTypLibCompatible="true" SuppressStartupBanner="true" TargetEnvironment="3" - TypeLibraryName=".\Debug/OdbcFb32.tlb" + TypeLibraryName=".\Debug/OdbcFb.tlb" /> <Tool Name="VCCLCompilerTool" @@ -174,7 +174,7 @@ Name="VCLinkerTool" AdditionalOptions="/EXPORT:ConfigDSN /EXPORT:ConfigDriver,PRIVATE /EXPORT:DllRegisterServer,PRIVATE /EXPORT:DllUnregisterServer,PRIVATE /EXPORT:DllInstall,PRIVATE" AdditionalDependencies="version.lib wsock32.lib comctl32.lib" - OutputFile="$(PlatformName)/$(ConfigurationName)/OdbcFb32.dll" + OutputFile="$(PlatformName)/$(ConfigurationName)/OdbcFb.dll" AdditionalLibraryDirectories="debug" ModuleDefinitionFile="..\..\OdbcJdbc.def" GenerateDebugInformation="true" @@ -236,7 +236,7 @@ MkTypLibCompatible="true" SuppressStartupBanner="true" TargetEnvironment="1" - TypeLibraryName=".\Release/OdbcFb32.tlb" + TypeLibraryName=".\Release/OdbcFb.tlb" /> <Tool Name="VCCLCompilerTool" @@ -270,7 +270,7 @@ Name="VCLinkerTool" AdditionalOptions="/EXPORT:ConfigDSN /EXPORT:ConfigDriver,PRIVATE /EXPORT:DllRegisterServer,PRIVATE /EXPORT:DllUnregisterServer,PRIVATE /EXPORT:DllInstall,PRIVATE" AdditionalDependencies="version.lib wsock32.lib comctl32.lib" - OutputFile="$(PlatformName)/$(ConfigurationName)/OdbcFb32.dll" + OutputFile="$(PlatformName)/$(ConfigurationName)/OdbcFb.dll" ModuleDefinitionFile="..\..\OdbcJdbc.def" SubSystem="2" ImportLibrary="" @@ -327,7 +327,7 @@ MkTypLibCompatible="true" SuppressStartupBanner="true" TargetEnvironment="3" - TypeLibraryName=".\Release/OdbcFb32.tlb" + TypeLibraryName=".\Release/OdbcFb.tlb" /> <Tool Name="VCCLCompilerTool" @@ -362,7 +362,7 @@ Name="VCLinkerTool" AdditionalOptions="/EXPORT:ConfigDSN /EXPORT:ConfigDriver,PRIVATE /EXPORT:DllRegisterServer,PRIVATE /EXPORT:DllUnregisterServer,PRIVATE /EXPORT:DllInstall,PRIVATE" AdditionalDependencies="version.lib wsock32.lib comctl32.lib" - OutputFile="$(PlatformName)/$(ConfigurationName)/OdbcFb32.dll" + OutputFile="$(PlatformName)/$(ConfigurationName)/OdbcFb.dll" ModuleDefinitionFile="..\..\OdbcJdbc.def" ProgramDatabaseFile="" SubSystem="2" diff -r -u -x CVS e:\OdbcJdbco\OdbcJdbcSetup\res\resource.en e:\OdbcJdbc\OdbcJdbcSetup\res\resource.en --- e:\OdbcJdbco\OdbcJdbcSetup\res\resource.en Fri Jul 14 13:17:09 2006 +++ e:\OdbcJdbc\OdbcJdbcSetup\res\resource.en Sat Aug 23 14:26:46 2008 @@ -99,8 +99,8 @@ IDS_ERROR_MESSAGE_05, // "Install Driver Failed" "Install Driver Failed" , -IDS_ERROR_MESSAGE_06, // " ERROR!\nPlease, use regsvr32.exe .\\OdbcJdbcSetup.dll" - " ERROR!\nPlease, use regsvr32.exe .\\OdbcJdbcSetup.dll" +IDS_ERROR_MESSAGE_06, // " ERROR!\nPlease, use regsvr32.exe .\\OdbcFb.dll" + " ERROR!\nPlease, use regsvr32.exe .\\OdbcFb.dll" , IDS_ERROR_MESSAGE_07, // "Config Install" "Config Install" diff -r -u -x CVS e:\OdbcJdbco\OdbcJdbcSetup\res\resource.es e:\OdbcJdbc\OdbcJdbcSetup\res\resource.es --- e:\OdbcJdbco\OdbcJdbcSetup\res\resource.es Fri Jul 14 13:17:09 2006 +++ e:\OdbcJdbc\OdbcJdbcSetup\res\resource.es Sat Aug 23 14:26:46 2008 @@ -99,8 +99,8 @@ IDS_ERROR_MESSAGE_05, // "Install Driver Failed" "La instalación del controlador ha fallado" , -IDS_ERROR_MESSAGE_06, // " ERROR!\nPlease, use regsvr32.exe .\\OdbcJdbcSetup.dll" - " ¡ERROR!\n Por favor utilice regsvr32.exe .\\OdbcJdbcSetup.dll" +IDS_ERROR_MESSAGE_06, // " ERROR!\nPlease, use regsvr32.exe .\\OdbcFb.dll" + " ¡ERROR!\n Por favor utilice regsvr32.exe .\\OdbcFb.dll" , IDS_ERROR_MESSAGE_07, // "Config Install" "Instalar Configuración" diff -r -u -x CVS e:\OdbcJdbco\OdbcJdbcSetup\res\resource.it e:\OdbcJdbc\OdbcJdbcSetup\res\resource.it --- e:\OdbcJdbco\OdbcJdbcSetup\res\resource.it Fri Jul 14 13:17:09 2006 +++ e:\OdbcJdbc\OdbcJdbcSetup\res\resource.it Sat Aug 23 14:26:46 2008 @@ -99,8 +99,8 @@ IDS_ERROR_MESSAGE_05, // "Install Driver Failed" "L'installazione del Driver non ha funzionato!" , -IDS_ERROR_MESSAGE_06, // " ERROR!\nPlease, use regsvr32.exe .\\OdbcJdbcSetup.dll" - " ERRORE!\nPer favore, usare il comando regsvr32.exe .\\OdbcJdbcSetup.dll" +IDS_ERROR_MESSAGE_06, // " ERROR!\nPlease, use regsvr32.exe .\\OdbcFb.dll" + " ERRORE!\nPer favore, usare il comando regsvr32.exe .\\OdbcFb.dll" , IDS_ERROR_MESSAGE_07, // "Config Install" "Installazione Config" diff -r -u -x CVS e:\OdbcJdbco\OdbcJdbcSetup\res\resource.ru e:\OdbcJdbc\OdbcJdbcSetup\res\resource.ru --- e:\OdbcJdbco\OdbcJdbcSetup\res\resource.ru Fri Jul 14 13:17:09 2006 +++ e:\OdbcJdbc\OdbcJdbcSetup\res\resource.ru Sat Aug 23 14:26:46 2008 @@ -99,8 +99,8 @@ IDS_ERROR_MESSAGE_05, // "Install Driver Failed" "Èíñòàëÿöèÿ äðàéâåðà ïðåðâàíà" , -IDS_ERROR_MESSAGE_06, // " ERROR!\nPlease, use regsvr32.exe .\\OdbcJdbcSetup.dll" - " ÎØÈÁÊÀ!\nÏîæàëóéñòà, èñïîëüçóéòå êîìàíäó regsvr32.exe .\\OdbcJdbcSetup.dll" +IDS_ERROR_MESSAGE_06, // " ERROR!\nPlease, use regsvr32.exe .\\OdbcFb.dll" + " ÎØÈÁÊÀ!\nÏîæàëóéñòà, èñïîëüçóéòå êîìàíäó regsvr32.exe .\\OdbcFb.dll" , IDS_ERROR_MESSAGE_07, // "Config Install" "Êîíôèãóðàòîð óñòàíîâëåí" diff -r -u -x CVS e:\OdbcJdbco\OdbcJdbcSetup\res\resource.uk e:\OdbcJdbc\OdbcJdbcSetup\res\resource.uk --- e:\OdbcJdbco\OdbcJdbcSetup\res\resource.uk Fri Jul 14 13:17:09 2006 +++ e:\OdbcJdbc\OdbcJdbcSetup\res\resource.uk Sat Aug 23 14:26:46 2008 @@ -99,8 +99,8 @@ IDS_ERROR_MESSAGE_05, // "Install Driver Failed" "Iíñòàëÿöiþ ïåðåðâàíî" , -IDS_ERROR_MESSAGE_06, // " ERROR!\nPlease, use regsvr32.exe .\\OdbcJdbcSetup.dll" - " ÏÎÌÈËÊÀ!\nÁóäüëàñêà, âèêîíàéòå regsvr32.exe .\\OdbcJdbcSetup.dll" +IDS_ERROR_MESSAGE_06, // " ERROR!\nPlease, use regsvr32.exe .\\OdbcFb.dll" + " ÏÎÌÈËÊÀ!\nÁóäüëàñêà, âèêîíàéòå regsvr32.exe .\\OdbcFb.dll" , IDS_ERROR_MESSAGE_07, // "Config Install" "Êîíôiãóðàòîð âñòàíîâëåíî" diff -r -u -x CVS e:\OdbcJdbco\OdbcJdbcSetup\Setup.cpp e:\OdbcJdbc\OdbcJdbcSetup\Setup.cpp --- e:\OdbcJdbco\OdbcJdbcSetup\Setup.cpp Fri Mar 23 18:14:36 2007 +++ e:\OdbcJdbc\OdbcJdbcSetup\Setup.cpp Sat Aug 23 14:32:16 2008 @@ -213,8 +213,7 @@ if ( !strncasecmp( fileName, pathOut, strlen( pathOut ) ) ) { - MessageBox( NULL, _TR( IDS_ERROR_MESSAGE_06, " ERROR!\nPlease, use regsvr32.exe .\\OdbcJdbcSetup.dll" ), DRIVER_NAME, MB_ICONSTOP|MB_OK ); - return S_FALSE; + return S_OK; } char *path = pathOut + strlen( pathOut ); @@ -224,18 +223,18 @@ bool ret = copyFilesDriver( pathOut, path, fileName, tail ); return ret ? S_OK : S_FALSE; -} +} /* * Registration can be performed with the following command: * - * regsvr32 .\odbcjdbcsetup.dll + * regsvr32 .\OdbcFb.dll * * To debug registration the project settings to call regsvr32.exe * with the full path. * * Use - * ..\debug\odbcjdbcsetup.dll + * ..\debug\OdbcFb.dll * * as the program argument * @@ -243,13 +242,10 @@ extern "C" STDAPI DllRegisterServer (void) { - char fileName [MAX_PATH]; char pathOut [MAX_PATH]; WORD length = sizeof (pathOut) - 1; DWORD useCount; - GetModuleFileName( m_hInstance, fileName, sizeof ( fileName ) ); - if ( !SQLInstallDriverEx( DRIVER_FULL_NAME"\0" INSTALL_DRIVER "=" DRIVER_NAME ".DLL\0\0", NULL, @@ -270,6 +266,7 @@ { char temp [80]; char *fullDriverName = temp; + char pathIn[MAX_PATH]; char pathOut [MAX_PATH]; WORD length = sizeof (pathOut) - 1; DWORD useCount; @@ -280,9 +277,16 @@ initVersionDriver( strDriverInfo ); + if (!setInstallKey) + { + GetModuleFileName( m_hInstance, pathIn, sizeof ( pathIn ) ); + char *tail = strrchr( pathIn, '\\' ) + 1; + *tail = '\0'; + } + if ( !SQLInstallDriverEx( strDriverInfo, - NULL, + setInstallKey ? NULL : pathIn, pathOut, sizeof (pathOut), &length, @@ -401,17 +405,14 @@ CopyFile( pathSource, pathDestination ); } } - else if ( !setInstallKey ) + else { DelayRegisterOdbcJdbc( pathDestination, endPathDestination, pathSource, endPathSource ); - if ( !silentDisplay ) - { - MessageBox( NULL, - (const char*)"Please, reboot for use", - DRIVER_NAME, - MB_ICONINFORMATION|MB_OK ); - } + MessageBox( NULL, + (const char*)"Please, reboot for use", + DRIVER_NAME, + MB_ICONINFORMATION|MB_OK ); return false; } @@ -598,7 +599,7 @@ char commandLine[ 2 * MAX_PATH + 2 ]; DWORD dwDisposition; - strcpy( endPathSource, "OdbcJdbcSetup.dll" ); + strcpy( endPathSource, DRIVER_NAME".DLL" ); strcpy( endPathDestination, "regsvr32.exe" ); do @@ -616,7 +617,7 @@ if ( res != ERROR_SUCCESS ) break; - wsprintf( commandLine, "%s /s \"%s\"", pathDestination, pathSource ); + wsprintf( commandLine, "%s /s /i \"%s\"", pathDestination, pathSource ); res = RegSetValueEx( hKey, "OdbcJdbcSetupDelay", diff -r -u -x CVS e:\OdbcJdbco\SetupAttributes.h e:\OdbcJdbc\SetupAttributes.h --- e:\OdbcJdbco\SetupAttributes.h Tue Jul 25 11:23:25 2006 +++ e:\OdbcJdbc\SetupAttributes.h Sat Aug 23 14:33:09 2008 @@ -37,7 +37,7 @@ #endif #define DRIVER_FULL_NAME "Firebird/InterBase(r) driver" -#define DRIVER_NAME "OdbcFb" SUFFIX_BUILD +#define DRIVER_NAME "OdbcFb" #define DEFAULT_DRIVER "IscDbc" #ifdef _WINDOWS diff -r -u -x CVS e:\OdbcJdbco\ConnectDialog.cpp e:\OdbcJdbc\ConnectDialog.cpp --- e:\OdbcJdbco\ConnectDialog.cpp Wed Jul 19 16:35:19 2006 +++ e:\OdbcJdbc\ConnectDialog.cpp Tue Aug 26 16:02:30 2008 @@ -107,7 +107,7 @@ CConnectDialog * m_ptConnectDialog = NULL; -int DialogBoxDynamicConnect(); +INT_PTR DialogBoxDynamicConnect(); BOOL CALLBACK wndprocConnectDialog(HWND hDlg, UINT message, WORD wParam, LONG lParam); CConnectDialog::CConnectDialog() @@ -145,7 +145,7 @@ int DialogBoxDynamic(); -int CConnectDialog::DoModal() +INT_PTR CConnectDialog::DoModal() { return DialogBoxDynamicConnect(); } @@ -193,9 +193,9 @@ LPWORD lpwAlign ( LPWORD lpIn) { - ULONG ul; + UINT_PTR ul; - ul = (ULONG) lpIn; + ul = (UINT_PTR) lpIn; ul +=3; ul >>=2; ul <<=2; @@ -259,7 +259,7 @@ //CAPTION "FireBird ODBC Setup" //FONT 8, "MS Sans Serif" -int DialogBoxDynamicConnect() +INT_PTR DialogBoxDynamicConnect() { HWND hwnd = NULL; WORD *p, *pdlgtemplate; @@ -300,7 +300,7 @@ TMP_LTEXT ( _TR( IDS_STATIC_PASSWORD, "Password" ), IDC_STATIC,5,26,54,8 ) TMP_LTEXT ( _TR( IDS_STATIC_ROLE, "Role" ), IDC_STATIC,5,41,54,8 ) - int nRet = DialogBoxIndirect(m_hInstance, (LPDLGTEMPLATE) pdlgtemplate, hwnd, (DLGPROC)wndprocConnectDialog); + INT_PTR nRet = DialogBoxIndirect(m_hInstance, (LPDLGTEMPLATE) pdlgtemplate, hwnd, (DLGPROC)wndprocConnectDialog); LocalFree (LocalHandle (pdlgtemplate)); return nRet; diff -r -u -x CVS e:\OdbcJdbco\ConnectDialog.h e:\OdbcJdbc\ConnectDialog.h --- e:\OdbcJdbco\ConnectDialog.h Wed Jul 19 16:35:19 2006 +++ e:\OdbcJdbc\ConnectDialog.h Tue Aug 26 16:02:30 2008 @@ -46,7 +46,7 @@ JString m_role; public: - int DoModal(); + INT_PTR DoModal(); void UpdateData(HWND hDlg, BOOL bSaveAndValidate = TRUE ); BOOL OnInitDialog(HWND hDlg); diff -r -u -x CVS e:\OdbcJdbco\DescRecord.cpp e:\OdbcJdbc\DescRecord.cpp --- e:\OdbcJdbco\DescRecord.cpp Tue Feb 27 19:26:29 2007 +++ e:\OdbcJdbc\DescRecord.cpp Tue Aug 26 16:02:30 2008 @@ -67,7 +67,7 @@ length = 0; nullable = 0; octetLength = 0; - octetLengthPtr = (SQLINTEGER*)NULL; + octetLengthPtr = (SQLLEN*)NULL; parameterType = SQL_PARAM_INPUT; precision = 0; scale = 0; @@ -111,7 +111,7 @@ void DescRecord::setDefault(DescRecord *recTo) { - SQLINTEGER *saveIndicatorPtr = recTo->indicatorPtr; + SQLLEN *saveIndicatorPtr = recTo->indicatorPtr; SQLPOINTER saveDataPtr = recTo->dataPtr; *recTo = this; recTo->indicatorPtr = saveIndicatorPtr; diff -r -u -x CVS e:\OdbcJdbco\DescRecord.h e:\OdbcJdbc\DescRecord.h --- e:\OdbcJdbco\DescRecord.h Tue Jun 20 16:46:49 2006 +++ e:\OdbcJdbc\DescRecord.h Tue Aug 26 16:02:30 2008 @@ -96,7 +96,7 @@ JString name; SQLSMALLINT nullable; SQLINTEGER octetLength; - SQLINTEGER *octetLengthPtr; + SQLLEN *octetLengthPtr; SQLSMALLINT parameterType; SQLSMALLINT precision; SQLSMALLINT scale; @@ -106,7 +106,7 @@ JString typeName; SQLSMALLINT unSigned; SQLSMALLINT updaTable; - SQLINTEGER *indicatorPtr; + SQLLEN *indicatorPtr; SQLSMALLINT unNamed; SQLPOINTER dataPtr; WCSTOMBS WcsToMbs; diff -r -u -x CVS e:\OdbcJdbco\Headers\SQL.H e:\OdbcJdbc\Headers\SQL.H --- e:\OdbcJdbco\Headers\SQL.H Fri May 11 01:51:39 2001 +++ e:\OdbcJdbc\Headers\SQL.H Tue Aug 26 16:02:30 2008 @@ -209,7 +209,7 @@ #define SQL_DEFAULT 99 #endif -/* SQLGetData() code indicating that the application row descriptor +/* SQLSQLLEN GetData() code indicating that the application row descriptor * specifies the data type */ #if (ODBCVER >= 0x0300) @@ -596,15 +596,15 @@ SQLRETURN SQL_API SQLBindCol(SQLHSTMT StatementHandle, SQLUSMALLINT ColumnNumber, SQLSMALLINT TargetType, - SQLPOINTER TargetValue, SQLINTEGER BufferLength, - SQLINTEGER *StrLen_or_Ind); + SQLPOINTER TargetValue, SQLLEN BufferLength, + SQLLEN *StrLen_or_Ind); #if (ODBCVER >= 0x0300) SQLRETURN SQL_API SQLBindParam(SQLHSTMT StatementHandle, SQLUSMALLINT ParameterNumber, SQLSMALLINT ValueType, - SQLSMALLINT ParameterType, SQLUINTEGER LengthPrecision, + SQLSMALLINT ParameterType, SQLULEN LengthPrecision, SQLSMALLINT ParameterScale, SQLPOINTER ParameterValue, - SQLINTEGER *StrLen_or_Ind); + SQLLEN *StrLen_or_Ind); #endif SQLRETURN SQL_API SQLCancel(SQLHSTMT StatementHandle); @@ -612,11 +612,18 @@ #if (ODBCVER >= 0x0300) SQLRETURN SQL_API SQLCloseCursor(SQLHSTMT StatementHandle); +#ifdef _WIN64 +SQLRETURN SQL_API SQLColAttribute (SQLHSTMT StatementHandle, + SQLUSMALLINT ColumnNumber, SQLUSMALLINT FieldIdentifier, + SQLPOINTER CharacterAttribute, SQLSMALLINT BufferLength, + SQLSMALLINT *StringLength, SQLLEN *NumericAttribute); +#else SQLRETURN SQL_API SQLColAttribute (SQLHSTMT StatementHandle, SQLUSMALLINT ColumnNumber, SQLUSMALLINT FieldIdentifier, SQLPOINTER CharacterAttribute, SQLSMALLINT BufferLength, SQLSMALLINT *StringLength, SQLPOINTER NumericAttribute); #endif +#endif SQLRETURN SQL_API SQLColumns(SQLHSTMT StatementHandle, @@ -645,7 +652,7 @@ SQLRETURN SQL_API SQLDescribeCol(SQLHSTMT StatementHandle, SQLUSMALLINT ColumnNumber, SQLCHAR *ColumnName, SQLSMALLINT BufferLength, SQLSMALLINT *NameLength, - SQLSMALLINT *DataType, SQLUINTEGER *ColumnSize, + SQLSMALLINT *DataType, SQLULEN *ColumnSize, SQLSMALLINT *DecimalDigits, SQLSMALLINT *Nullable); SQLRETURN SQL_API SQLDisconnect(SQLHDBC ConnectionHandle); @@ -670,7 +677,7 @@ #if (ODBCVER >= 0x0300) SQLRETURN SQL_API SQLFetchScroll(SQLHSTMT StatementHandle, - SQLSMALLINT FetchOrientation, SQLINTEGER FetchOffset); + SQLSMALLINT FetchOrientation, SQLLEN FetchOffset); #endif SQLRETURN SQL_API SQLFreeConnect(SQLHDBC ConnectionHandle); @@ -699,8 +706,8 @@ SQLRETURN SQL_API SQLGetData(SQLHSTMT StatementHandle, SQLUSMALLINT ColumnNumber, SQLSMALLINT TargetType, - SQLPOINTER TargetValue, SQLINTEGER BufferLength, - SQLINTEGER *StrLen_or_Ind); + SQLPOINTER TargetValue, SQLLEN BufferLength, + SQLLEN *StrLen_or_Ind); #if (ODBCVER >= 0x0300) SQLRETURN SQL_API SQLGetDescField(SQLHDESC DescriptorHandle, @@ -712,7 +719,7 @@ SQLSMALLINT RecNumber, SQLCHAR *Name, SQLSMALLINT BufferLength, SQLSMALLINT *StringLength, SQLSMALLINT *Type, SQLSMALLINT *SubType, - SQLINTEGER *Length, SQLSMALLINT *Precision, + SQLLEN *Length, SQLSMALLINT *Precision, SQLSMALLINT *Scale, SQLSMALLINT *Nullable); SQLRETURN SQL_API SQLGetDiagField(SQLSMALLINT HandleType, SQLHANDLE Handle, @@ -759,10 +766,10 @@ SQLCHAR *StatementText, SQLINTEGER TextLength); SQLRETURN SQL_API SQLPutData(SQLHSTMT StatementHandle, - SQLPOINTER Data, SQLINTEGER StrLen_or_Ind); + SQLPOINTER Data, SQLLEN StrLen_or_Ind); SQLRETURN SQL_API SQLRowCount(SQLHSTMT StatementHandle, - SQLINTEGER *RowCount); + SQLLEN* RowCount); #if (ODBCVER >= 0x0300) SQLRETURN SQL_API SQLSetConnectAttr(SQLHDBC ConnectionHandle, @@ -771,7 +778,7 @@ #endif /* ODBCVER >= 0x0300 */ SQLRETURN SQL_API SQLSetConnectOption(SQLHDBC ConnectionHandle, - SQLUSMALLINT Option, SQLUINTEGER Value); + SQLUSMALLINT Option, SQLULEN Value); SQLRETURN SQL_API SQLSetCursorName(SQLHSTMT StatementHandle, SQLCHAR *CursorName, SQLSMALLINT NameLength); @@ -783,10 +790,10 @@ SQLRETURN SQL_API SQLSetDescRec(SQLHDESC DescriptorHandle, SQLSMALLINT RecNumber, SQLSMALLINT Type, - SQLSMALLINT SubType, SQLINTEGER Length, + SQLSMALLINT SubType, SQLLEN Length, SQLSMALLINT Precision, SQLSMALLINT Scale, - SQLPOINTER Data, SQLINTEGER *StringLength, - SQLINTEGER *Indicator); + SQLPOINTER Data, SQLLEN *StringLength, + SQLLEN *Indicator); SQLRETURN SQL_API SQLSetEnvAttr(SQLHENV EnvironmentHandle, SQLINTEGER Attribute, SQLPOINTER Value, @@ -795,9 +802,9 @@ SQLRETURN SQL_API SQLSetParam(SQLHSTMT StatementHandle, SQLUSMALLINT ParameterNumber, SQLSMALLINT ValueType, - SQLSMALLINT ParameterType, SQLUINTEGER LengthPrecision, + SQLSMALLINT ParameterType, SQLULEN LengthPrecision, SQLSMALLINT ParameterScale, SQLPOINTER ParameterValue, - SQLINTEGER *StrLen_or_Ind); + SQLLEN *StrLen_or_Ind); #if (ODBCVER >= 0x0300) SQLRETURN SQL_API SQLSetStmtAttr(SQLHSTMT StatementHandle, @@ -806,7 +813,7 @@ #endif SQLRETURN SQL_API SQLSetStmtOption(SQLHSTMT StatementHandle, - SQLUSMALLINT Option, SQLUINTEGER Value); + SQLUSMALLINT Option, SQLULEN Value); SQLRETURN SQL_API SQLSpecialColumns(SQLHSTMT StatementHandle, SQLUSMALLINT IdentifierType, SQLCHAR *CatalogName, diff -r -u -x CVS e:\OdbcJdbco\Headers\SQLEXT.H e:\OdbcJdbc\Headers\SQLEXT.H --- e:\OdbcJdbco\Headers\SQLEXT.H Fri May 11 01:51:39 2001 +++ e:\OdbcJdbc\Headers\SQLEXT.H Tue Aug 26 16:02:31 2008 @@ -435,6 +435,7 @@ /* The previous definitions for SQL_UNICODE_ are historical and obsolete */ #define SQL_UNICODE SQL_WCHAR + #define SQL_UNICODE_VARCHAR SQL_WVARCHAR #define SQL_UNICODE_LONGVARCHAR SQL_WLONGVARCHAR #define SQL_UNICODE_CHAR SQL_WCHAR @@ -495,7 +496,12 @@ #define SQL_C_ULONG (SQL_C_LONG+SQL_UNSIGNED_OFFSET) /* UNSIGNED INTEGER*/ #define SQL_C_USHORT (SQL_C_SHORT+SQL_UNSIGNED_OFFSET) /* UNSIGNED SMALLINT*/ #define SQL_C_UTINYINT (SQL_TINYINT+SQL_UNSIGNED_OFFSET) /* UNSIGNED TINYINT*/ + +#ifdef _WIN64 +#define SQL_C_BOOKMARK SQL_C_UBIGINT /* BOOKMARK */ +#else #define SQL_C_BOOKMARK SQL_C_ULONG /* BOOKMARK */ +#endif #if (ODBCVER >= 0x0350) #define SQL_C_GUID SQL_GUID @@ -852,6 +858,7 @@ #define SQL_DDL_INDEX 170 #define SQL_DM_VER 171 #define SQL_INSERT_STATEMENT 172 +#define SQL_CONVERT_GUID 173 #define SQL_UNION_STATEMENT SQL_UNION #endif /* ODBCVER >= 0x0300 */ @@ -908,6 +915,7 @@ #define SQL_CVT_WCHAR 0x00200000L #define SQL_CVT_WLONGVARCHAR 0x00400000L #define SQL_CVT_WVARCHAR 0x00800000L +#define SQL_CVT_GUID 0x01000000L #endif /* ODBCVER >= 0x0300 */ @@ -1805,7 +1813,7 @@ SQLPOINTER rgbDesc, SQLSMALLINT cbDescMax, SQLSMALLINT *pcbDesc, - SQLINTEGER *pfDesc); + SQLLEN * pfDesc); SQLRETURN SQL_API SQLColumnPrivileges( SQLHSTMT hstmt, @@ -1822,15 +1830,15 @@ SQLHSTMT hstmt, SQLUSMALLINT ipar, SQLSMALLINT *pfSqlType, - SQLUINTEGER *pcbParamDef, + SQLULEN *pcbParamDef, SQLSMALLINT *pibScale, SQLSMALLINT *pfNullable); SQLRETURN SQL_API SQLExtendedFetch( SQLHSTMT hstmt, SQLUSMALLINT fFetchType, - SQLINTEGER irow, - SQLUINTEGER *pcrow, + SQLLEN irow, + SQLULEN *pcrow, SQLUSMALLINT *rgfRowStatus); SQLRETURN SQL_API SQLForeignKeys( @@ -1865,8 +1873,8 @@ SQLRETURN SQL_API SQLParamOptions( SQLHSTMT hstmt, - SQLUINTEGER crow, - SQLUINTEGER *pirow); + SQLULEN crow, + SQLULEN *pirow); SQLRETURN SQL_API SQLPrimaryKeys( SQLHSTMT hstmt, @@ -1897,9 +1905,11 @@ SQLCHAR *szProcName, SQLSMALLINT cbProcName); + + SQLRETURN SQL_API SQLSetPos( SQLHSTMT hstmt, - SQLUSMALLINT irow, + SQLSETPOSIROW irow, SQLUSMALLINT fOption, SQLUSMALLINT fLock); @@ -1928,11 +1938,11 @@ SQLSMALLINT fParamType, SQLSMALLINT fCType, SQLSMALLINT fSqlType, - SQLUINTEGER cbColDef, + SQLULEN cbColDef, SQLSMALLINT ibScale, SQLPOINTER rgbValue, - SQLINTEGER cbValueMax, - SQLINTEGER *pcbValue); + SQLLEN cbValueMax, + SQLLEN *pcbValue); #endif /* RC_INVOKED */ @@ -1997,7 +2007,7 @@ SQLRETURN SQL_API SQLSetScrollOptions( /* Use SQLSetStmtOptions */ SQLHSTMT hstmt, SQLUSMALLINT fConcurrency, - SQLINTEGER crowKeyset, + SQLLEN crowKeyset, SQLUSMALLINT crowRowset); /* Tracing section */ @@ -2016,6 +2026,18 @@ RETCODE SQL_API TraceVSControl(DWORD); +/* Functions for setting the connection pooling failure detection code */ +/* The "TryWait" value is the time (in seconds) that the DM will wait */ +/* between detecting that a connection is dead (using */ +/* SQL_ATTR_CONNECTION_DEAD) and retrying the connection. During that */ +/* interval, connection requests will get "The server appears to be */ +/* dead" error returns. */ + + +BOOL SQL_API ODBCSetTryWaitValue(DWORD dwValue); /* In seconds */ +DWORD SQL_API ODBCGetTryWaitValue(); /* In Milliseconds(!) */ + + /* the flags in ODBC_VS_ARGS */ #define ODBC_VS_FLAG_UNICODE_ARG 0x00000001L /* the argument is unicode */ #define ODBC_VS_FLAG_UNICODE_COR 0x00000002L /* the correlation is unicode */ @@ -2044,7 +2066,7 @@ } /* End of extern "C" { */ #endif /* __cplusplus */ -#if defined(WIN32) +#if defined(WIN32) || defined(_WIN64) #include "sqlucode.h" #endif diff -r -u -x CVS e:\OdbcJdbco\IscDbc\Attachment.h e:\OdbcJdbc\IscDbc\Attachment.h --- e:\OdbcJdbco\IscDbc\Attachment.h Thu Mar 22 22:13:27 2007 +++ e:\OdbcJdbc\IscDbc\Attachment.h Tue Aug 26 16:03:24 2008 @@ -56,7 +56,7 @@ CFbDll *GDS; isc_db_handle databaseHandle; - void *transactionHandle; // for two phase + isc_tr_handle transactionHandle; // for two phase JString dsn; JString databaseName; JString databaseServerName; diff -r -u -x CVS e:\OdbcJdbco\IscDbc\EnvShare.cpp e:\OdbcJdbc\IscDbc\EnvShare.cpp --- e:\OdbcJdbco\IscDbc\EnvShare.cpp Wed Jul 19 16:35:20 2006 +++ e:\OdbcJdbc\IscDbc\EnvShare.cpp Tue Aug 26 16:03:28 2008 @@ -95,7 +95,7 @@ CFbDll *GDS = connections[0]->GDS; struct { - void *db; + isc_db_handle db; char *opt; int countOpt; } shDb[MAX_COUNT_DBC_SHARE] = {0}; diff -r -u -x CVS e:\OdbcJdbco\IscDbc\EnvShare.h e:\OdbcJdbc\IscDbc\EnvShare.h --- e:\OdbcJdbco\IscDbc\EnvShare.h Sun Jun 04 15:35:41 2006 +++ e:\OdbcJdbc\IscDbc\EnvShare.h Tue Aug 26 16:03:31 2008 @@ -58,7 +58,7 @@ public: IscConnection *connections[MAX_COUNT_DBC_SHARE]; int countConnection; - void *transactionHandle; + isc_tr_handle transactionHandle; ListParamTransaction *listTransaction; JString databaseServerName; diff -r -u -x CVS e:\OdbcJdbco\IscDbc\IscArray.cpp e:\OdbcJdbc\IscDbc\IscArray.cpp --- e:\OdbcJdbco\IscDbc\IscArray.cpp Sun Feb 11 20:26:48 2007 +++ e:\OdbcJdbc\IscDbc\IscArray.cpp Tue Aug 26 16:03:38 2008 @@ -44,7 +44,7 @@ { ISC_STATUS statusVector [20]; IscConnection * connection = stmt->connection; - void *transactionHandle = stmt->startTransaction(); + isc_tr_handle transactionHandle = stmt->startTransaction(); if ( !connection->GDS->_array_lookup_bounds(statusVector,&connection->databaseHandle, &transactionHandle, nameRelation, nameFields, &arrDesc) ) @@ -299,7 +299,7 @@ void IscArray::attach(char * pointBlob, bool fetchBinary, bool bClear) { clear(); - CAttrArray * arr = (CAttrArray *)*(long*)pointBlob; + CAttrArray * arr = (CAttrArray *)*(INT_PTR*)pointBlob; attach(arr, fetchBinary, bClear); fetched = false; } @@ -359,7 +359,7 @@ { ISC_STATUS statusVector [20]; IscConnection * connection = statement->connection; - void *transactionHandle = statement->startTransaction(); + isc_tr_handle transactionHandle = statement->startTransaction(); long lenbuf = arrBufDataSize; int ret = connection->GDS->_array_get_slice(statusVector, &connection->databaseHandle, &transactionHandle, @@ -487,7 +487,7 @@ ISC_STATUS statusVector [20]; IscConnection * connection = statement->connection; CFbDll * GDS = connection->GDS; - void *transactionHandle = statement->startTransaction(); + isc_tr_handle transactionHandle = statement->startTransaction(); arrayId = (ISC_QUAD*)sqldata; memset( arrayId, 0, sizeof ( ISC_QUAD ) ); @@ -504,7 +504,7 @@ ISC_STATUS statusVector [20]; IscConnection * connection = statement->connection; CFbDll * GDS = connection->GDS; - void *transactionHandle = statement->startTransaction(); + isc_tr_handle transactionHandle = statement->startTransaction(); arrayId = (ISC_QUAD*)sqldata; memset( arrayId, 0, sizeof ( ISC_QUAD ) ); @@ -673,7 +673,7 @@ ISC_STATUS statusVector [20]; IscConnection * connection = statement->connection; CFbDll * GDS = connection->GDS; - void *transactionHandle = statement->startTransaction(); + isc_tr_handle transactionHandle = statement->startTransaction(); ISC_QUAD *arrayId = (ISC_QUAD*)sqldata; memset( arrayId, 0, sizeof ( ISC_QUAD ) ); @@ -713,7 +713,7 @@ ISC_STATUS statusVector [20]; IscConnection * connection = statement->connection; - void *transactionHandle = statement->startTransaction(); + isc_tr_handle transactionHandle = statement->startTransaction(); long lenbuf = arrBufDataSize; memset( arrayId, 0, sizeof ( ISC_QUAD )); diff -r -u -x CVS e:\OdbcJdbco\IscDbc\IscBlob.cpp e:\OdbcJdbc\IscDbc\IscBlob.cpp --- e:\OdbcJdbco\IscDbc\IscBlob.cpp Tue Oct 19 23:24:58 2004 +++ e:\OdbcJdbc\IscDbc\IscBlob.cpp Tue Aug 26 16:03:43 2008 @@ -86,7 +86,7 @@ void IscBlob::attach(char * pointBlob, bool bFetched, bool clear) { - IscBlob * ptBlob = (IscBlob *)*(long*)pointBlob; + IscBlob * ptBlob = (IscBlob *)*(INT_PTR*)pointBlob; statement = ptBlob->statement; memcpy(&blobId,&ptBlob->blobId, sizeof(blobId)); @@ -118,7 +118,7 @@ { ISC_STATUS statusVector [20]; IscConnection * connection = statement->connection; - void *transactionHandle = statement->startTransaction(); + isc_tr_handle transactionHandle = statement->startTransaction(); isc_blob_handle blobHandle = NULL; int ret = connection->GDS->_open_blob2 (statusVector, &connection->databaseHandle, &transactionHandle, @@ -297,7 +297,7 @@ if ( directBlobHandle ) GDS->_close_blob (statusVector, &directBlobHandle); - void *transactionHandle = statement->startTransaction(); + isc_tr_handle transactionHandle = statement->startTransaction(); int ret = GDS->_open_blob2 (statusVector, &connection->databaseHandle, &transactionHandle, &directBlobHandle, (ISC_QUAD*) sqldata, 0, NULL); if (ret) @@ -429,7 +429,7 @@ if ( directBlobHandle ) GDS->_close_blob (statusVector, &directBlobHandle); - void *transactionHandle = statement->startTransaction(); + isc_tr_handle transactionHandle = statement->startTransaction(); GDS->_create_blob2 ( statusVector, &connection->databaseHandle, &transactionHandle, diff -r -u -x CVS e:\OdbcJdbco\IscDbc\IscCallableStatement.cpp e:\OdbcJdbc\IscDbc\IscCallableStatement.cpp --- e:\OdbcJdbco\IscDbc\IscCallableStatement.cpp Sat Jan 15 20:10:34 2005 +++ e:\OdbcJdbc\IscDbc\IscCallableStatement.cpp Tue Aug 26 16:03:46 2008 @@ -95,7 +95,7 @@ ISC_STATUS statusVector [20]; values.alloc (numberColumns); int numberParameters = inputSqlda.getColumnCount(); - void *transHandle = startTransaction(); + isc_tr_handle transHandle = startTransaction(); int n; for (n = 0; n < numberParameters; ++n) diff -r -u -x CVS e:\OdbcJdbco\IscDbc\IscConnection.cpp e:\OdbcJdbc\IscDbc\IscConnection.cpp --- e:\OdbcJdbco\IscDbc\IscConnection.cpp Thu Mar 22 22:13:27 2007 +++ e:\OdbcJdbc\IscDbc\IscConnection.cpp Tue Aug 26 16:03:51 2008 @@ -248,12 +248,12 @@ return transactionInfo.transactionPending; } -void* IscConnection::getHandleDb() +isc_db_handle IscConnection::getHandleDb() { return attachment->databaseHandle; } -void* IscConnection::startTransaction() +isc_tr_handle IscConnection::startTransaction() { InfoTransaction &tr = transactionInfo; diff -r -u -x CVS e:\OdbcJdbco\IscDbc\IscConnection.h e:\OdbcJdbc\IscDbc\IscConnection.h --- e:\OdbcJdbco\IscDbc\IscConnection.h Thu Jul 13 16:47:49 2006 +++ e:\OdbcJdbc\IscDbc\IscConnection.h Tue Aug 26 16:03:58 2008 @@ -49,7 +49,7 @@ } public: - void *transactionHandle; + isc_tr_handle transactionHandle; int transactionIsolation; int transactionExtInit; bool autoCommit; @@ -118,7 +118,7 @@ virtual int getNativeSql (const char * inStatementText, long textLength1, char * outStatementText, long bufferLength, long * textLength2Ptr); - void* startTransaction(); + isc_tr_handle startTransaction(); void deleteStatement (IscStatement *statement); IscConnection(); ~IscConnection(); @@ -144,7 +144,7 @@ inline bool isMatchExt( char *& string, const char *keyWord, const int length ); virtual void prepareTransaction(); virtual bool getTransactionPending(); - void *getHandleDb(); + isc_db_handle getHandleDb(); public: CNodeParamTransaction *tmpParamTransaction; diff -r -u -x CVS e:\OdbcJdbco\IscDbc\IscDbc.h e:\OdbcJdbc\IscDbc\IscDbc.h --- e:\OdbcJdbco\IscDbc\IscDbc.h Fri Mar 23 18:14:36 2007 +++ e:\OdbcJdbc\IscDbc\IscDbc.h Tue Aug 26 16:02:31 2008 @@ -46,7 +46,7 @@ #define NOT_YET_IMPLEMENTED throw SQLEXCEPTION (FEATURE_NOT_YET_IMPLEMENTED, "not yet implemented") #define NOT_SUPPORTED(type,rellen,rel,collen,col) throw SQLEXCEPTION (UNSUPPORTED_DATATYPE, "datatype is not supported in ODBC: %s column %*s.%*s", type,rellen,rel,collen,col) #define THROW_ISC_EXCEPTION(connection, statusVector) throw SQLEXCEPTION ( connection->GDS->_sqlcode( statusVector ), statusVector [1], connection->getIscStatusText (statusVector)) -#define OFFSET(type,fld) (int)&(((type*)0)->fld) +#define OFFSET(type,fld) (size_t)&(((type*)0)->fld) #define MAX(a,b) ((a > b) ? a : b) #define MIN(a,b) ((a < b) ? a : b) #define ABS(n) (((n) >= 0) ? (n) : -(n)) diff -r -u -x CVS e:\OdbcJdbco\IscDbc\IscProceduresResultSet.cpp e:\OdbcJdbc\IscDbc\IscProceduresResultSet.cpp --- e:\OdbcJdbco\IscDbc\IscProceduresResultSet.cpp Wed Mar 22 23:50:35 2006 +++ e:\OdbcJdbc\IscDbc\IscProceduresResultSet.cpp Tue Aug 26 16:02:31 2008 @@ -118,7 +118,7 @@ { int countSUSPEND = 0; XSQLVAR *var = sqlda->Var(10); - IscBlob * blob = (IscBlob *)*(long*)var->sqldata; + IscBlob * blob = (IscBlob *)*(INT_PTR*)var->sqldata; int length = blob->length(); char * buffer = (char*)malloc (length); diff -r -u -x CVS e:\OdbcJdbco\IscDbc\IscStatement.cpp e:\OdbcJdbc\IscDbc\IscStatement.cpp --- e:\OdbcJdbco\IscDbc\IscStatement.cpp Sat Aug 02 02:53:03 2008 +++ e:\OdbcJdbc\IscDbc\IscStatement.cpp Tue Aug 26 16:04:07 2008 @@ -260,7 +260,7 @@ transactionStatusChangingToLocal = false; } -void* IscStatement::startTransaction() +isc_tr_handle IscStatement::startTransaction() { if ( connection->shareConnected ) return connection->startTransaction(); @@ -577,7 +577,7 @@ // Make sure we have a transaction started. Allocate a statement. - void *transHandle = startTransaction(); + isc_tr_handle transHandle = startTransaction(); ISC_STATUS statusVector [20]; GDS->_dsql_allocate_statement (statusVector, &connection->databaseHandle, &statementHandle); @@ -639,7 +639,7 @@ // Make sure there is a transaction ISC_STATUS statusVector [20]; - void *transHandle = startTransaction(); + isc_tr_handle transHandle = startTransaction(); int dialect = connection->getDatabaseDialect (); if (connection->GDS->_dsql_execute2 (statusVector, &transHandle, &statementHandle, @@ -701,7 +701,7 @@ bool IscStatement::executeProcedure() { ISC_STATUS statusVector [20]; - void *transHandle = startTransaction(); + isc_tr_handle transHandle = startTransaction(); int dialect = connection->getDatabaseDialect (); if (connection->GDS->_dsql_execute2 (statusVector, &transHandle, &statementHandle, diff -r -u -x CVS e:\OdbcJdbco\IscDbc\IscStatement.h e:\OdbcJdbc\IscDbc\IscStatement.h --- e:\OdbcJdbco\IscDbc\IscStatement.h Thu Mar 22 21:44:27 2007 +++ e:\OdbcJdbc\IscDbc\IscStatement.h Tue Aug 26 16:04:10 2008 @@ -53,7 +53,7 @@ void rollbackLocal(); void commitLocal(); void setReadOnlyTransaction(); - void* startTransaction(); + isc_tr_handle startTransaction(); static ISC_TIME getIscTime (SqlTime value); static ISC_TIMESTAMP getIscTimeStamp (TimeStamp value); static ISC_DATE getIscDate (DateTime date); diff -r -u -x CVS e:\OdbcJdbco\IscDbc\LinkedList.cpp e:\OdbcJdbc\IscDbc\LinkedList.cpp --- e:\OdbcJdbco\IscDbc\LinkedList.cpp Sun Feb 11 20:26:48 2007 +++ e:\OdbcJdbc\IscDbc\LinkedList.cpp Tue Aug 26 16:02:31 2008 @@ -29,7 +29,7 @@ namespace IscDbcLibrary { - + LinkedList::LinkedList () { /************************************** @@ -43,11 +43,10 @@ * **************************************/ -//addressCheck (this); next = prior = NULL; } - + LinkedList::~LinkedList () { /************************************** @@ -62,8 +61,6 @@ **************************************/ LinkedNode *node; -//addressCheck (this); - while (node = next) { next = node->next; @@ -71,7 +68,7 @@ } } - + LinkedNode::LinkedNode (void *obj) { /************************************** @@ -87,7 +84,7 @@ object = obj; } - + LinkedNode::~LinkedNode () { /************************************** @@ -103,7 +100,7 @@ next = prior = NULL; } - + void LinkedList::append (void *object) { /************************************** @@ -118,7 +115,6 @@ **************************************/ LinkedNode *node = new LinkedNode (object); -//addressCheck (node); if (prior) { @@ -130,7 +126,7 @@ prior = node; } - + int LinkedList::appendUnique (void *object) { /************************************** @@ -154,7 +150,7 @@ return n; } - + void LinkedList::clear () { /************************************** @@ -177,7 +173,7 @@ prior = NULL; } - + int LinkedList::count () { /************************************** @@ -197,7 +193,7 @@ return n; } - + bool LinkedList::deleteItem (void *object) { /************************************** @@ -229,7 +225,7 @@ return false; } - + void *LinkedList::getElement (int position) { /************************************** @@ -251,7 +247,7 @@ return NULL; } - + #ifdef UNDEF LinkedList *LinkedList::getHead () { @@ -268,7 +264,7 @@ return next; } - + void *LinkedList::getNext (LinkedList **node) { /************************************** @@ -288,7 +284,7 @@ return object; } #endif - + void *LinkedList::getPrior (LinkedList **node) { /************************************** @@ -326,7 +322,7 @@ return this; } - + bool LinkedList::isEmpty () { /************************************** @@ -342,7 +338,7 @@ return next == NULL; } - + bool LinkedList::isMember (void *object) { /************************************** @@ -362,7 +358,7 @@ return 0; } - + #ifdef UNDEF bool LinkedList::more (LinkedList *node) { @@ -380,7 +376,7 @@ return (node != NULL); } #endif - + bool LinkedList::moreBackwards (LinkedList *node) { /************************************** @@ -424,14 +420,6 @@ } return false; -} - -void LinkedList::addressCheck(void * address) -{ - - if ((long) address == 0x00CDE290 || - (long) address == 0x00cdde70) - printf ("hit %p\n", address); } }; // end namespace IscDbcLibrary diff -r -u -x CVS e:\OdbcJdbco\IscDbc\ServiceManager.cpp e:\OdbcJdbc\IscDbc\ServiceManager.cpp --- e:\OdbcJdbco\IscDbc\ServiceManager.cpp Tue Jun 21 00:56:22 2005 +++ e:\OdbcJdbc\IscDbc\ServiceManager.cpp Tue Aug 26 16:04:14 2008 @@ -227,7 +227,7 @@ void CServiceManager::exitRestoreDatabase() { ISC_STATUS status[20]; - void *databaseHandle = NULL; + isc_db_handle databaseHandle = NULL; char dpbBuffer[RESPONSE_BUFFER/2]; int dpbLength; const char *pt; diff -r -u -x CVS e:\OdbcJdbco\IscDbc\ServiceManager.h e:\OdbcJdbc\IscDbc\ServiceManager.h --- e:\OdbcJdbco\IscDbc\ServiceManager.h Wed Jul 19 16:35:21 2006 +++ e:\OdbcJdbc\IscDbc\ServiceManager.h Tue Aug 26 16:04:17 2008 @@ -80,7 +80,7 @@ CFbDll *GDS; Properties *properties; - void *svcHandle; + isc_svc_handle svcHandle; int useCount; }; diff -r -u -x CVS e:\OdbcJdbco\IscDbc\Sqlda.cpp e:\OdbcJdbc\IscDbc\Sqlda.cpp --- e:\OdbcJdbco\IscDbc\Sqlda.cpp Sun Feb 11 20:26:48 2007 +++ e:\OdbcJdbc\IscDbc\Sqlda.cpp Tue Aug 26 16:02:31 2008 @@ -170,8 +170,8 @@ { if ( pt && *(long*)pt ) { - free ( ((CAttrArray *)*(long*)pt)->arrBufData ); - delete (CAttrArray *)*(long*)pt; + free ( ((CAttrArray *)*(INT_PTR*)pt)->arrBufData ); + delete (CAttrArray *)*(INT_PTR*)pt; } } } @@ -183,7 +183,8 @@ { char * pt = listBlocks[n] + (var->sqldata - sqlvar[0].sqldata); for (int l = 0; nRow < countAllRows && l < countRowsInBlock[n]; ++l, pt += lenRow, ++nRow) - if ( pt && *(long*)pt )delete (IscBlob *)*(long*)pt; + if ( pt && *(INT_PTR*)pt ) + delete (IscBlob *)*(INT_PTR*)pt; } } } @@ -217,13 +218,13 @@ IscArray iscArr(statement,var); iscArr.getBytesFromArray(); iscArr.detach(ptArr); - *(long*)var->sqldata = (long)ptArr; + *(INT_PTR*)var->sqldata = (INT_PTR)ptArr; } else if ( (var->sqltype & ~1) == SQL_BLOB ) { IscBlob * ptBlob = new IscBlob (statement, var); ptBlob->fetchBlob(); - *(long*)var->sqldata = (long)ptBlob; + *(INT_PTR*)var->sqldata = (INT_PTR)ptBlob; } } } @@ -512,7 +513,7 @@ for ( n = 0; n < numberColumns; ++n ) { - var->sqldata = buffer + (long) var->sqldata; + var->sqldata = buffer + (INT_PTR) var->sqldata; (var++)->sqlind = (short*)indicators; *indicators++ = 0; } diff -r -u -x CVS e:\OdbcJdbco\IscDbc\TypesResultSet.cpp e:\OdbcJdbc\IscDbc\TypesResultSet.cpp --- e:\OdbcJdbco\IscDbc\TypesResultSet.cpp Wed Jul 19 16:35:21 2006 +++ e:\OdbcJdbc\IscDbc\TypesResultSet.cpp Tue Aug 26 16:02:31 2008 @@ -191,7 +191,7 @@ indicators = (long*)calloc( 1, sizeof(long) * numberColumns ); sqlda = &outputSqlda; ((XSQLDA*)*sqlda)->sqld = numberColumns; - sqldataOffsetPtr = (unsigned long)types - sizeof (*types); + sqldataOffsetPtr = (UINT_PTR)types - sizeof (*types); sqlda->orgsqlvar = new CAttrSqlVar [numberColumns]; CAttrSqlVar * orgvar = sqlda->orgsqlvar; @@ -244,7 +244,7 @@ recordNumber = 1; return false; } - sqldataOffsetPtr = (unsigned long)types + (recordNumber - 1) * sizeof (*types); + sqldataOffsetPtr = (UINT_PTR)types + (recordNumber - 1) * sizeof (*types); } if (++recordNumber > sizeof (types) / sizeof (types [0])) diff -r -u -x CVS e:\OdbcJdbco\OdbcConnection.cpp e:\OdbcJdbc\OdbcConnection.cpp --- e:\OdbcJdbco\OdbcConnection.cpp Thu Mar 22 22:13:27 2007 +++ e:\OdbcJdbc\OdbcConnection.cpp Tue Aug 26 16:02:31 2008 @@ -403,14 +403,14 @@ #endif case SQL_ATTR_ANSI_APP: - if ( (int) value == SQL_AA_FALSE ) + if ( (INT_PTR) value == SQL_AA_FALSE ) return sqlReturn (SQL_ERROR, "IM001", "Driver does not support this function"); break; case SQL_ATTR_HANDLE_DBC_SHARE: // 4000 if (connection) { - if ( (int) value ) + if ( (INT_PTR) value ) connection->connectionToEnvShare(); else connection->connectionFromEnvShare(); @@ -418,33 +418,33 @@ break; case SQL_ATTR_LOGIN_TIMEOUT: - connectionTimeout = (int) value; + connectionTimeout = (INT_PTR) value; break; case SQL_ATTR_AUTOCOMMIT: - autoCommit = (int) value == SQL_AUTOCOMMIT_ON; + autoCommit = (INT_PTR) value == SQL_AUTOCOMMIT_ON; if (connection) connection->setAutoCommit (autoCommit); break; case SQL_ATTR_ODBC_CURSORS: - cursors = (int) value; + cursors = (INT_PTR) value; break; //Added by CA case SQL_ATTR_TXN_ISOLATION: - transactionIsolation = (int)value; - if( connection ) - connection->setTransactionIsolation( (int) value ); + transactionIsolation = (INT_PTR)value; + if ( connection ) + connection->setTransactionIsolation( (INT_PTR) value ); break; //Added by CA case SQL_ATTR_ASYNC_ENABLE: - asyncEnabled = (int) value; + asyncEnabled = (INT_PTR) value; break; case SQL_ATTR_ACCESS_MODE: - accessMode = (int)value; + accessMode = (INT_PTR)value; break; case SQL_FB_INIT_EVENTS: @@ -1123,7 +1123,7 @@ return sqlReturn (SQL_ERROR, "HY096", "Information type out of range"); const char *string = item->value; - SQLUINTEGER value = (SQLUINTEGER) item->value; + UINT_PTR value = (UINT_PTR) item->value; DatabaseMetaData *metaData = NULL; if (connection) @@ -1262,11 +1262,11 @@ break; case SQL_DRIVER_HDBC: - value = (SQLUINTEGER) this; + value = (UINT_PTR) this; break; case SQL_DRIVER_HENV: - value = (SQLUINTEGER) env; + value = (UINT_PTR) env; break; case SQL_USER_NAME: diff -r -u -x CVS e:\OdbcJdbco\OdbcDesc.cpp e:\OdbcJdbc\OdbcDesc.cpp --- e:\OdbcJdbco\OdbcDesc.cpp Wed Jun 21 19:35:55 2006 +++ e:\OdbcJdbc\OdbcDesc.cpp Tue Aug 26 16:02:31 2008 @@ -58,7 +58,7 @@ headArraySize = 1; headArrayStatusPtr = (SQLUSMALLINT*)NULL; headBindOffsetPtr = (SQLINTEGER*)NULL; - headRowsProcessedPtr = (SQLUINTEGER*)NULL; + headRowsProcessedPtr = (SQLULEN*)NULL; headCount = 0; headBindType = SQL_BIND_BY_COLUMN; @@ -87,7 +87,7 @@ headArraySize = 1; headArrayStatusPtr = (SQLUSMALLINT*)NULL; headBindOffsetPtr = (SQLINTEGER*)NULL; - headRowsProcessedPtr = (SQLUINTEGER*)NULL; + headRowsProcessedPtr = (SQLULEN*)NULL; headCount = 0; if( metaDataOut == NULL ) @@ -273,7 +273,7 @@ metaDataIn->getSqlData(recNumber, record->dataBlobPtr, record->headSqlVarPtr); record->dataPtr = (SQLPOINTER)record->headSqlVarPtr->getSqlData(); - record->indicatorPtr = (SQLINTEGER*)record->headSqlVarPtr->getSqlInd(); + record->indicatorPtr = (SQLLEN*)record->headSqlVarPtr->getSqlInd(); } void OdbcDesc::defFromMetaDataOut(int recNumber, DescRecord * record) @@ -314,7 +314,7 @@ metaDataOut->getSqlData(recNumber, record->dataBlobPtr, record->headSqlVarPtr); record->dataPtr = (SQLPOINTER)record->headSqlVarPtr->getSqlData(); - record->indicatorPtr = (SQLINTEGER*)record->headSqlVarPtr->getSqlInd(); + record->indicatorPtr = (SQLLEN*)record->headSqlVarPtr->getSqlInd(); } OdbcConnection* OdbcDesc::getConnection() @@ -444,7 +444,7 @@ case odtImplementationRow: case odtImplementationParameter: if (ptr) - *(SQLUINTEGER**)ptr = headRowsProcessedPtr, + *(SQLULEN**)ptr = headRowsProcessedPtr, size = sizeof (SQLUINTEGER*); break; default: @@ -648,7 +648,7 @@ case odtApplicationParameter: case odtApplicationRow: if (record && ptr) - *(SQLINTEGER **)ptr = record->octetLengthPtr, + *(SQLLEN **)ptr = record->octetLengthPtr, size = sizeof (SQLINTEGER*); break; default: @@ -755,7 +755,7 @@ case odtApplicationParameter: case odtApplicationRow: if (record && ptr) - *(SQLINTEGER **)ptr = record->indicatorPtr, + *(SQLLEN **)ptr = record->indicatorPtr, size = sizeof (SQLINTEGER*); break; default: @@ -855,7 +855,7 @@ if(i==sizeof(debSetDescField)/sizeof(*debSetDescField)) i=0; sprintf(strTmp,"\tid %4i - %s : recNumber %i : value %i\n",fieldId,debSetDescField[i].name, - recNumber, value ? (int)value : 0); + recNumber, value ? (INT_PTR)value : 0); OutputDebugString(strTmp); #endif clearErrors(); @@ -875,7 +875,7 @@ case odtApplicationParameter: case odtImplementationParameter: #pragma FB_COMPILER_MESSAGE("If modify value realized ReAlloc FIXME!") - headCount = (SQLSMALLINT)(int)value; + headCount = (SQLSMALLINT)(INT_PTR)value; break; default: return sqlReturn (SQL_ERROR, "HY091", "Invalid descriptor field identifier"); @@ -888,7 +888,7 @@ case odtApplication: case odtApplicationParameter: case odtApplicationRow: - headArraySize = (SQLUINTEGER)value; + headArraySize = (UINT_PTR)value; break; default: return sqlReturn (SQL_ERROR, "HY091", "Invalid descriptor field identifier"); @@ -918,7 +918,7 @@ case odtApplication: case odtApplicationParameter: case odtApplicationRow: - headBindType = (SQLINTEGER)value; + headBindType = (INT_PTR)value; break; default: return sqlReturn (SQL_ERROR, "HY091", "Invalid descriptor field identifier"); @@ -930,7 +930,7 @@ { case odtImplementationRow: case odtImplementationParameter: - headRowsProcessedPtr = (SQLUINTEGER*)value; + headRowsProcessedPtr = (SQLULEN*)value; break; default: return sqlReturn (SQL_ERROR, "HY091", "Invalid descriptor field identifier"); @@ -947,8 +947,8 @@ if (record) { #pragma FB_COMPILER_MESSAGE("This temporary decision. FIXME!") - record->type = (SQLSMALLINT)(int)value; - record->conciseType = (SQLSMALLINT)(int)value; + record->type = (SQLSMALLINT)(INT_PTR)value; + record->conciseType = (SQLSMALLINT)(INT_PTR)value; } break; default: @@ -964,7 +964,7 @@ case odtApplicationParameter: case odtImplementationParameter: if (record) - record->datetimeIntervalCode = (SQLSMALLINT)(int)value; + record->datetimeIntervalCode = (SQLSMALLINT)(INT_PTR)value; break; default: return sqlReturn (SQL_ERROR, "HY091", "Invalid descriptor field identifier"); @@ -981,8 +981,8 @@ if (record) { #pragma FB_COMPILER_MESSAGE("This temporary decision. FIXME!") - record->conciseType = (SQLSMALLINT)(int)value; - record->type = (SQLSMALLINT)(int)value; + record->conciseType = (SQLSMALLINT)(INT_PTR)value; + record->type = (SQLSMALLINT)(INT_PTR)value; } break; default: @@ -998,7 +998,7 @@ case odtApplicationParameter: case odtImplementationParameter: if (record) - record->datetimeIntervalPrecision = (SQLINTEGER)value; + record->datetimeIntervalPrecision = (INT_PTR)value; break; default: return sqlReturn (SQL_ERROR, "HY091", "Invalid descriptor field identifier"); @@ -1013,7 +1013,7 @@ case odtApplicationParameter: case odtImplementationParameter: if (record) - record->length = (SQLUINTEGER)value; + record->length = (UINT_PTR)value; break; default: return sqlReturn (SQL_ERROR, "HY091", "Invalid descriptor field identifier"); @@ -1038,7 +1038,7 @@ case odtApplicationParameter: case odtImplementationParameter: if (record) - record->numPrecRadix = (SQLINTEGER)value; + record->numPrecRadix = (INT_PTR)value; break; default: return sqlReturn (SQL_ERROR, "HY091", "Invalid descriptor field identifier"); @@ -1054,10 +1054,10 @@ case odtImplementationParameter: if (record) { - record->octetLength = (SQLINTEGER)value; - record->sizeColumnExtendedFetch = (SQLINTEGER)value; + record->octetLength = (INT_PTR)value; + record->sizeColumnExtendedFetch = (INT_PTR)value; if ( !record->length ) - record->length = (SQLINTEGER)value; + record->length = (INT_PTR)value; } break; default: @@ -1072,7 +1072,7 @@ case odtApplicationRow: case odtApplicationParameter: if (record) - record->octetLengthPtr = (SQLINTEGER*)value; + record->octetLengthPtr = (SQLLEN*)value; break; default: return sqlReturn (SQL_ERROR, "HY091", "Invalid descriptor field identifier"); @@ -1083,7 +1083,7 @@ if(headType == odtImplementationParameter) { if (record) - record->parameterType = (SQLSMALLINT)(int)value; + record->parameterType = (SQLSMALLINT)(INT_PTR)value; } else return sqlReturn (SQL_ERROR, "HY091", "Invalid descriptor field identifier"); @@ -1097,7 +1097,7 @@ case odtApplicationParameter: case odtImplementationParameter: if (record) - record->precision = (SQLSMALLINT)(int)value; + record->precision = (SQLSMALLINT)(INT_PTR)value; break; default: return sqlReturn (SQL_ERROR, "HY091", "Invalid descriptor field identifier"); @@ -1112,7 +1112,7 @@ case odtApplicationParameter: case odtImplementationParameter: if (record) - record->scale = (SQLSMALLINT)(int)value; + record->scale = (SQLSMALLINT)(INT_PTR)value; break; default: return sqlReturn (SQL_ERROR, "HY091", "Invalid descriptor field identifier"); @@ -1126,7 +1126,7 @@ case odtApplicationRow: case odtApplicationParameter: if (record) - record->indicatorPtr = (SQLINTEGER*)value; + record->indicatorPtr = (SQLLEN*)value; break; default: return sqlReturn (SQL_ERROR, "HY091", "Invalid descriptor field identifier"); @@ -1137,7 +1137,7 @@ if(headType == odtImplementationParameter) { if (record) - record->unNamed = (SQLSMALLINT)(int)value; + record->unNamed = (SQLSMALLINT)(INT_PTR)value; } else return sqlReturn (SQL_ERROR, "HY091", "Invalid descriptor field identifier"); @@ -1183,7 +1183,7 @@ SQLSMALLINT *stringLengthPtr, SQLSMALLINT *typePtr, SQLSMALLINT *subTypePtr, - SQLINTEGER *lengthPtr, + SQLLEN *lengthPtr, SQLSMALLINT *precisionPtr, SQLSMALLINT *scalePtr, SQLSMALLINT *nullablePtr) @@ -1233,8 +1233,8 @@ SQLSMALLINT precision, SQLSMALLINT scale, SQLPOINTER dataPtr, - SQLINTEGER *stringLengthPtr, - SQLINTEGER *indicatorPtr) + SQLLEN *stringLengthPtr, + SQLLEN *indicatorPtr) { clearErrors(); DescRecord *record = NULL; diff -r -u -x CVS e:\OdbcJdbco\OdbcDesc.h e:\OdbcJdbc\OdbcDesc.h --- e:\OdbcJdbco\OdbcDesc.h Wed Apr 20 21:47:15 2005 +++ e:\OdbcJdbc\OdbcDesc.h Tue Aug 26 16:02:31 2008 @@ -90,11 +90,11 @@ SQLRETURN sqlGetDescField(int recNumber, int fieldId, SQLPOINTER value, int length, SQLINTEGER *lengthPtr); SQLRETURN sqlSetDescField (int recNumber, int fieldId, SQLPOINTER value, int length); SQLRETURN sqlGetDescRec(SQLSMALLINT recNumber, SQLCHAR *Name, SQLSMALLINT BufferLength, SQLSMALLINT *StringLengthPtr, - SQLSMALLINT *TypePtr, SQLSMALLINT *SubTypePtr, SQLINTEGER *LengthPtr, SQLSMALLINT *PrecisionPtr, + SQLSMALLINT *TypePtr, SQLSMALLINT *SubTypePtr, SQLLEN *LengthPtr, SQLSMALLINT *PrecisionPtr, SQLSMALLINT *ScalePtr, SQLSMALLINT *NullablePtr); SQLRETURN sqlSetDescRec( SQLSMALLINT recNumber, SQLSMALLINT type, SQLSMALLINT subType, SQLINTEGER length, SQLSMALLINT precision, SQLSMALLINT scale, SQLPOINTER dataPtr, - SQLINTEGER *stringLengthPtr, SQLINTEGER *indicatorPtr); + SQLLEN *stringLengthPtr, SQLLEN *indicatorPtr); virtual OdbcConnection* getConnection(); virtual OdbcObjectType getType(); @@ -125,7 +125,7 @@ SQLINTEGER *headBindOffsetPtr; SQLINTEGER headBindType; SQLSMALLINT headCount; - SQLUINTEGER *headRowsProcessedPtr; + SQLULEN *headRowsProcessedPtr; // OdbcConnection *connection; diff -r -u -x CVS e:\OdbcJdbco\OdbcEnv.cpp e:\OdbcJdbc\OdbcEnv.cpp --- e:\OdbcJdbco\OdbcEnv.cpp Wed Jul 19 16:35:19 2006 +++ e:\OdbcJdbc\OdbcEnv.cpp Tue Aug 26 16:02:31 2008 @@ -215,7 +215,7 @@ break; case SQL_ATTR_ODBC_VERSION: - useAppOdbcVersion = (int)value; + useAppOdbcVersion = (INT_PTR)value; break; default: diff -r -u -x CVS e:\OdbcJdbco\OdbcJdbc.h e:\OdbcJdbc\OdbcJdbc.h --- e:\OdbcJdbco\OdbcJdbc.h Fri Mar 23 18:14:36 2007 +++ e:\OdbcJdbc\OdbcJdbc.h Tue Aug 26 16:02:31 2008 @@ -92,12 +92,6 @@ #include "SetupAttributes.h" #include "IscDbc/JavaType.h" -#ifndef SQLLEN -#define SQLLEN SQLINTEGER -#define SQLULEN SQLUINTEGER -#define SQLSETPOSIROW SQLUSMALLINT -#endif - #ifndef SQL_BOOLEAN #define SQL_BOOLEAN 16 #endif @@ -144,4 +138,5 @@ #endif + diff -r -u -x CVS e:\OdbcJdbco\OdbcJdbcSetup\CommonUtil.cpp e:\OdbcJdbc\OdbcJdbcSetup\CommonUtil.cpp --- e:\OdbcJdbco\OdbcJdbcSetup\CommonUtil.cpp Mon Jun 06 01:04:29 2005 +++ e:\OdbcJdbc\OdbcJdbcSetup\CommonUtil.cpp Tue Aug 26 16:02:31 2008 @@ -36,9 +36,9 @@ LPWORD lpwAlign( LPWORD lpIn ) { - ULONG ul; + UINT_PTR ul; - ul = (ULONG)lpIn; + ul = (UINT_PTR)lpIn; ul += 3; ul >>= 2; ul <<= 2; diff -r -u -x CVS e:\OdbcJdbco\OdbcJdbcSetup\DsnDialog.cpp e:\OdbcJdbc\OdbcJdbcSetup\DsnDialog.cpp --- e:\OdbcJdbco\OdbcJdbcSetup\DsnDialog.cpp Fri Mar 23 18:14:36 2007 +++ e:\OdbcJdbc\OdbcJdbcSetup\DsnDialog.cpp Tue Aug 26 16:02:31 2008 @@ -184,7 +184,7 @@ hWnd = GetDlgItem(hDlg, IDC_COMBOBOX_USE_SCHEMA); - int selectUse = SendMessage( hWnd, CB_GETCURSEL, (WPARAM)0, (LPARAM)0 ); + INT_PTR selectUse = SendMessage( hWnd, CB_GETCURSEL, (WPARAM)0, (LPARAM)0 ); if ( selectUse == CB_ERR ) selectUse = 0; @@ -814,7 +814,7 @@ MessageBox( hWnd, stringID, TEXT( _TR( IDS_DLG_TITLE_SETUP, "FireBird ODBC Setup" ) ), MB_OK ); } -int CDsnDialog::DoModal() +INT_PTR CDsnDialog::DoModal() { WORD *p, *pdlgtemplate; int nchar; @@ -888,7 +888,7 @@ TMP_PUSHBUTTON ( _TR( IDS_BUTTON_SERVICES, "Services" ), IDC_BUTTON_SERVICE,118,130,87,18 ) TMP_PUSHBUTTON ( _TR( IDS_BUTTON_HELP_ODBC, "Help" ), IDC_HELP_ODBC,243,233,60,14 ) - int nRet = DialogBoxIndirectParam(m_hInstance, (LPDLGTEMPLATE) pdlgtemplate, m_hWndParent, (DLGPROC)wndprocDsnDialog, (ULONG)this ); + INT_PTR nRet = DialogBoxIndirectParam(m_hInstance, (LPDLGTEMPLATE) pdlgtemplate, m_hWndParent, (DLGPROC)wndprocDsnDialog, (UINT_PTR)this ); LocalFree (LocalHandle (pdlgtemplate)); return nRet; diff -r -u -x CVS e:\OdbcJdbco\OdbcJdbcSetup\DsnDialog.h e:\OdbcJdbc\OdbcJdbcSetup\DsnDialog.h --- e:\OdbcJdbco\OdbcJdbcSetup\DsnDialog.h Wed Jul 19 16:35:21 2006 +++ e:\OdbcJdbc\OdbcJdbcSetup\DsnDialog.h Tue Aug 26 16:02:31 2008 @@ -81,7 +81,7 @@ BOOL m_safeThread; public: - int DoModal(); + INT_PTR DoModal(); BOOL IsLocalhost( char * fullPathFileName, int &nSme ); void CheckRemotehost( char * fullPathFileName ); diff -r -u -x CVS e:\OdbcJdbco\OdbcJdbcSetup\ServiceTabChild.cpp e:\OdbcJdbc\OdbcJdbcSetup\ServiceTabChild.cpp --- e:\OdbcJdbco\OdbcJdbcSetup\ServiceTabChild.cpp Sun Aug 03 19:54:19 2008 +++ e:\OdbcJdbc\OdbcJdbcSetup\ServiceTabChild.cpp Tue Aug 26 16:02:31 2008 @@ -433,7 +433,7 @@ sh.lpDirectory = NULL; sh.nShow = SW_SHOWNORMAL; - if ( !(ShellExecuteEx( &sh ) && ((DWORD)sh.hInstApp > 32)) ) + if ( !(ShellExecuteEx( &sh ) && ((UINT_PTR)sh.hInstApp > 32)) ) return false; } return true; diff -r -u -x CVS e:\OdbcJdbco\OdbcJdbcSetup\ServiceTabCtrl.cpp e:\OdbcJdbc\OdbcJdbcSetup\ServiceTabCtrl.cpp --- e:\OdbcJdbco\OdbcJdbcSetup\ServiceTabCtrl.cpp Mon Feb 19 19:11:27 2007 +++ e:\OdbcJdbc\OdbcJdbcSetup\ServiceTabCtrl.cpp Tue Aug 26 16:02:31 2008 @@ -76,7 +76,7 @@ tie.iImage = -1; tabData.tabCtrl = this; tabData.hWndTab = hWndTab; - tie.lParam = (ULONG)&tabData; + tie.lParam = (UINT_PTR)&tabData; tabData.childTab[0] = backup.getObject(); backup.buildDlgChild( hWndTab ); @@ -105,7 +105,7 @@ setExecutorForViewLogFile(); - SetWindowLong( hWndTab, GW_USERDATA, (ULONG)&tabData ); + SetWindowLong( hWndTab, GW_USERDATA, (INT_PTR)&tabData ); backup.createDialogIndirect( this ); return true; @@ -174,7 +174,7 @@ return FALSE ; } -int CServiceTabCtrl::DoModal() +INT_PTR CServiceTabCtrl::DoModal() { WORD *p, *pdlgtemplate; int nchar; @@ -208,7 +208,7 @@ TMP_DEFPUSHBUTTON ( _TR( IDS_BUTTON_CLOSE, "Close" ), IDOK,144,216,60,14 ) TMP_NAMECONTROL ( "TabControl", IDC_SERVICE_TABCTRL, "SysTabControl32",0x0,7,7,328,204 ) - int nRet = DialogBoxIndirectParam( m_hInstance, (LPDLGTEMPLATE) pdlgtemplate, hWndParent, (DLGPROC)wndproCServiceTabCtrl, (ULONG)this ); + INT_PTR nRet = DialogBoxIndirectParam( m_hInstance, (LPDLGTEMPLATE) pdlgtemplate, hWndParent, (DLGPROC)wndproCServiceTabCtrl, (UINT_PTR)this ); LocalFree( LocalHandle( pdlgtemplate ) ); return nRet; diff -r -u -x CVS e:\OdbcJdbco\OdbcJdbcSetup\ServiceTabCtrl.h e:\OdbcJdbc\OdbcJdbcSetup\ServiceTabCtrl.h --- e:\OdbcJdbco\OdbcJdbcSetup\ServiceTabCtrl.h Tue Jun 21 00:21:20 2005 +++ e:\OdbcJdbc\OdbcJdbcSetup\ServiceTabCtrl.h Tue Aug 26 16:02:31 2008 @@ -48,7 +48,7 @@ ~CServiceTabCtrl(); public: - int DoModal(); + INT_PTR DoModal(); void SetDisabledDlgItem( HWND hDlg, int ID, BOOL bDisabled = TRUE ); void UpdateData( HWND hDlg, BOOL bSaveAndValidate = TRUE ); diff -r -u -x CVS e:\OdbcJdbco\OdbcJdbcSetup\ServiceTabUsers.cpp e:\OdbcJdbc\OdbcJdbcSetup\ServiceTabUsers.cpp --- e:\OdbcJdbco\OdbcJdbcSetup\ServiceTabUsers.cpp Wed Jul 19 16:35:21 2006 +++ e:\OdbcJdbc\OdbcJdbcSetup\ServiceTabUsers.cpp Tue Aug 26 16:02:31 2008 @@ -70,7 +70,7 @@ tie.iImage = -1; tabData.tabCtrl = this; tabData.hWndTab = hWndTab; - tie.lParam = (ULONG)&tabData; + tie.lParam = (UINT_PTR)&tabData; tabData.childTab[0] = users.getObject(); users.buildDlgChild( hWndTab ); @@ -87,7 +87,7 @@ tie.pszText = " MemberShips "; TabCtrl_InsertItem( hWndTab, 2, &tie ); */ - SetWindowLong( hWndTab, GW_USERDATA, (ULONG)&tabData ); + SetWindowLong( hWndTab, GW_USERDATA, (INT_PTR)&tabData ); users.createDialogIndirect( this ); return true; diff -r -u -x CVS e:\OdbcJdbco\OdbcJdbcSetup\Setup.cpp e:\OdbcJdbc\OdbcJdbcSetup\Setup.cpp --- e:\OdbcJdbco\OdbcJdbcSetup\Setup.cpp Fri Mar 23 18:14:36 2007 +++ e:\OdbcJdbc\OdbcJdbcSetup\Setup.cpp Tue Aug 26 16:02:31 2008 @@ -1540,7 +1540,7 @@ do { - int ret = dialog.DoModal(); + INT_PTR ret = dialog.DoModal(); if ( ret != IDOK ) return false; diff -r -u -x CVS e:\OdbcJdbco\OdbcJdbcSetup\UserDialog.cpp e:\OdbcJdbc\OdbcJdbcSetup\UserDialog.cpp --- e:\OdbcJdbco\OdbcJdbcSetup\UserDialog.cpp Wed Jul 19 16:35:21 2006 +++ e:\OdbcJdbc\OdbcJdbcSetup\UserDialog.cpp Tue Aug 26 16:02:31 2008 @@ -180,7 +180,7 @@ return FALSE; } -int CUserDialog::DoModal() +INT_PTR CUserDialog::DoModal() { char bufHeader[128]; WORD *p, *pdlgtemplate; @@ -233,7 +233,7 @@ TMP_LTEXT ( "User ID",IDC_STATIC,5,135,75,8 ) TMP_LTEXT ( "Group ID",IDC_STATIC,5,155,75,8 ) - int nRet = DialogBoxIndirectParam( m_hInstance, (LPDLGTEMPLATE) pdlgtemplate, parent->hDlg, (DLGPROC)wndproCUserDialog, (ULONG)this ); + INT_PTR nRet = DialogBoxIndirectParam( m_hInstance, (LPDLGTEMPLATE) pdlgtemplate, parent->hDlg, (DLGPROC)wndproCUserDialog, (UINT_PTR)this ); LocalFree( LocalHandle( pdlgtemplate ) ); return nRet; diff -r -u -x CVS e:\OdbcJdbco\OdbcJdbcSetup\UserDialog.h e:\OdbcJdbc\OdbcJdbcSetup\UserDialog.h --- e:\OdbcJdbco\OdbcJdbcSetup\UserDialog.h Wed Aug 24 22:51:52 2005 +++ e:\OdbcJdbc\OdbcJdbcSetup\UserDialog.h Tue Aug 26 16:02:31 2008 @@ -39,7 +39,7 @@ ~CUserDialog(); public: - int DoModal(); + INT_PTR DoModal(); bool OnInitDialog( HWND hWndDlg ); void updateData( HWND hDlg, BOOL bSaveAndValidate = TRUE ); bool onCommand( HWND hWnd, int nCommand ); diff -r -u -x CVS e:\OdbcJdbco\OdbcStatement.cpp e:\OdbcJdbc\OdbcStatement.cpp --- e:\OdbcJdbco\OdbcStatement.cpp Mon Jun 09 00:49:55 2008 +++ e:\OdbcJdbc\OdbcStatement.cpp Tue Aug 26 16:02:31 2008 @@ -151,7 +151,7 @@ using namespace IscDbcLibrary; -void TraceOutput(char * msg,long val) +void TraceOutput(char * msg, INT_PTR val) { char buf[80]; sprintf( buf, "\t%s = %ld : %p\n", msg, val, val ); @@ -160,7 +160,7 @@ // Bound Address + Binding Offset + ((Row Number 1) x Element Size) // *ptr = binding->pointer + bindOffsetPtr + ((1 1) * rowBindType); // <-- for single row -#define GETBOUNDADDRESS(binding) ( (unsigned long)binding->dataPtr + ( applicationParamDescriptor->headBindType ? (unsigned long)bindOffsetPtr : 0 ) ); +#define GETBOUNDADDRESS(binding) ( (UINT_PTR)binding->dataPtr + ( applicationParamDescriptor->headBindType ? (UINT_PTR)bindOffsetPtr : 0 ) ); ////////////////////////////////////////////////////////////////////// // Construction/Destruction @@ -612,7 +612,7 @@ { } -SQLRETURN OdbcStatement::sqlBindCol(int column, int targetType, SQLPOINTER targetValuePtr, SQLINTEGER bufferLength, SQLINTEGER * indPtr) +SQLRETURN OdbcStatement::sqlBindCol(int column, int targetType, SQLPOINTER targetValuePtr, SQLLEN bufferLength, SQLLEN * indPtr) { clearErrors(); @@ -732,8 +732,8 @@ inline SQLRETURN OdbcStatement::fetchData() { - SQLUINTEGER rowCount = 0; - SQLUINTEGER *rowCountPt = implementationRowDescriptor->headRowsProcessedPtr ? implementationRowDescriptor->headRowsProcessedPtr + SQLULEN rowCount = 0; + SQLULEN *rowCountPt = implementationRowDescriptor->headRowsProcessedPtr ? implementationRowDescriptor->headRowsProcessedPtr : &rowCount; SQLUSMALLINT *statusPtr = implementationRowDescriptor->headArrayStatusPtr ? implementationRowDescriptor->headArrayStatusPtr : NULL; @@ -877,9 +877,9 @@ SQLINTEGER *&bindOffsetPtr = applicationRowDescriptor->headBindOffsetPtr; int rowsetSize = applicationRowDescriptor->headArraySize; bool bFetchAbsolute; - SQLUINTEGER rowCount; - SQLUINTEGER *rowCountPt = implementationRowDescriptor->headRowsProcessedPtr ? implementationRowDescriptor->headRowsProcessedPtr - : &rowCount; + SQLULEN rowCount; + SQLULEN *rowCountPt = implementationRowDescriptor->headRowsProcessedPtr ? implementationRowDescriptor->headRowsProcessedPtr + : &rowCount; rowNumber = resultSet->getPosRowInSet(); @@ -1210,7 +1210,7 @@ return fetchData(); } -SQLRETURN OdbcStatement::sqlExtendedFetch(int orientation, int offset, SQLUINTEGER *rowCountPointer, SQLUSMALLINT *rowStatusArray) +SQLRETURN OdbcStatement::sqlExtendedFetch(int orientation, int offset, SQLULEN *rowCountPointer, SQLUSMALLINT *rowStatusArray) { clearErrors(); @@ -1418,7 +1418,7 @@ return sqlSuccess(); } -SQLRETURN OdbcStatement::sqlSetScrollOptions (SQLUSMALLINT fConcurrency, SQLINTEGER crowKeyset, SQLUSMALLINT crowRowset) +SQLRETURN OdbcStatement::sqlSetScrollOptions (SQLUSMALLINT fConcurrency, SQLLEN crowKeyset, SQLUSMALLINT crowRowset) { bool bOk; SQLUSMALLINT InfoType, InfoValuePtr; @@ -1483,12 +1483,12 @@ else sqlSetStmtAttr(SQL_ATTR_CURSOR_TYPE, crowKeyset < 0 ? (SQLPOINTER)-crowKeyset : (SQLPOINTER)crowKeyset, 0); - sqlSetStmtAttr(SQL_ATTR_CONCURRENCY, (SQLPOINTER)(int)fConcurrency, 0); + sqlSetStmtAttr(SQL_ATTR_CONCURRENCY, (SQLPOINTER)(INT_PTR)fConcurrency, 0); if ( crowKeyset > 0 ) sqlSetStmtAttr(SQL_ATTR_KEYSET_SIZE, (SQLPOINTER)crowKeyset, 0); else - sqlSetStmtAttr(SQL_ROWSET_SIZE, (SQLPOINTER)(SQLINTEGER)crowRowset, 0); + sqlSetStmtAttr(SQL_ROWSET_SIZE, (SQLPOINTER)(INT_PTR)crowRowset, 0); return sqlSuccess(); } @@ -1717,7 +1717,7 @@ SQLRETURN OdbcStatement::sqlDescribeCol(int col, SQLCHAR * colName, int nameSize, SWORD * nameLength, SWORD * sqlType, - UDWORD * precision, + SQLULEN * precision, SWORD * scale, SWORD * nullable) { @@ -1788,7 +1788,7 @@ return SQL_SUCCESS; } -SQLRETURN OdbcStatement::sqlGetData(int column, int cType, PTR pointer, int bufferLength, SDWORD * indicatorPointer) +SQLRETURN OdbcStatement::sqlGetData(int column, int cType, PTR pointer, SQLLEN bufferLength, SQLLEN * indicatorPointer) { clearErrors(); @@ -1930,12 +1930,12 @@ if ( initAttrDataAtExec ) { - long * length; + SQLLEN * length; if ( !applicationParamDescriptor->headBindOffsetPtr ) length = recordApp->indicatorPtr; else - length = (long*)((char*)recordApp->indicatorPtr + *applicationParamDescriptor->headBindOffsetPtr); + length = (SQLLEN*)((char*)recordApp->indicatorPtr + *applicationParamDescriptor->headBindOffsetPtr); recordApp->data_at_exec = length && (*length == SQL_DATA_AT_EXEC || *length <= SQL_LEN_DATA_AT_EXEC_OFFSET); @@ -1959,7 +1959,7 @@ } -SQLRETURN OdbcStatement::sqlDescribeParam(int parameter, SWORD * sqlType, UDWORD * precision, SWORD * scale, SWORD * nullable) +SQLRETURN OdbcStatement::sqlDescribeParam(int parameter, SWORD * sqlType, SQLULEN * precision, SWORD * scale, SWORD * nullable) { clearErrors(); @@ -2007,14 +2007,14 @@ return sqlSuccess(); } -SQLRETURN OdbcStatement::sqlSetParam (int parameter, int cType, int sqlType, int precision, int scale, PTR ptr, SDWORD * length) +SQLRETURN OdbcStatement::sqlSetParam (int parameter, int cType, int sqlType, int precision, int scale, PTR ptr, SQLLEN * length) { return sqlBindParameter (parameter, SQL_PARAM_INPUT_OUTPUT, cType, sqlType, precision, scale, ptr, SQL_SETPARAM_VALUE_MAX, length); } SQLRETURN OdbcStatement::sqlBindParameter(int parameter, int type, int cType, int sqlType, int precision, int scale, - PTR ptr, int bufferLength, SDWORD * length) + PTR ptr, int bufferLength, SQLLEN * length) { clearErrors(); @@ -2368,7 +2368,7 @@ SQLRETURN OdbcStatement::sqlGetStmtAttr(int attribute, SQLPOINTER ptr, int bufferLength, SQLINTEGER * lengthPtr) { clearErrors(); - long value; + INT_PTR value; char *string = NULL; try @@ -2385,22 +2385,22 @@ return statement->getStmtInfoCountRecords(ptr,bufferLength,lengthPtr); case SQL_ATTR_APP_ROW_DESC: - value = (long) applicationRowDescriptor; + value = (INT_PTR) applicationRowDescriptor; TRACE02(SQL_ATTR_APP_ROW_DESC,value); break; case SQL_ATTR_APP_PARAM_DESC: - value = (long) applicationParamDescriptor; + value = (INT_PTR) applicationParamDescriptor; TRACE02(SQL_ATTR_APP_PARAM_DESC,value); break; case SQL_ATTR_IMP_ROW_DESC: - value = (long) implementationRowDescriptor; + value = (INT_PTR) implementationRowDescriptor; TRACE02(SQL_ATTR_IMP_ROW_DESC,value); break; case SQL_ATTR_IMP_PARAM_DESC: - value = (long) implementationParamDescriptor; + value = (INT_PTR) implementationParamDescriptor; TRACE02(SQL_ATTR_IMP_PARAM_DESC,value); break; @@ -2465,7 +2465,7 @@ break; case SQL_ATTR_ROW_STATUS_PTR: - value = (long) implementationRowDescriptor->headArrayStatusPtr; + value = (INT_PTR) implementationRowDescriptor->headArrayStatusPtr; TRACE02(SQL_ATTR_ROW_STATUS_PTR,value); break; @@ -2490,7 +2490,7 @@ break; case SQL_ATTR_FETCH_BOOKMARK_PTR: // 16 - value = (long)fetchBookmarkPtr; + value = (INT_PTR)fetchBookmarkPtr; TRACE02(SQL_ATTR_FETCH_BOOKMARK_PTR,value); break; @@ -2507,7 +2507,7 @@ return returnStringInfo (ptr, bufferLength, lengthPtr, string); if (ptr) - *(long*) ptr = value; + *(INT_PTR*) ptr = value; if (lengthPtr) *lengthPtr = sizeof (long); @@ -2821,9 +2821,9 @@ SQLRETURN OdbcStatement::executeStatementParamArray() { SQLRETURN ret = SQL_SUCCESS; - SQLUINTEGER rowCount = 0; - SQLUINTEGER *rowCountPt = implementationParamDescriptor->headRowsProcessedPtr ? implementationParamDescriptor->headRowsProcessedPtr - : &rowCount; + SQLULEN rowCount = 0; + SQLULEN *rowCountPt = implementationParamDescriptor->headRowsProcessedPtr ? implementationParamDescriptor->headRowsProcessedPtr + : &rowCount; SQLUSMALLINT *statusPtr = implementationParamDescriptor->headArrayStatusPtr ? implementationParamDescriptor->headArrayStatusPtr : NULL; int rowSize = applicationParamDescriptor->headBindType; @@ -3010,7 +3010,7 @@ DescRecord *binding = applicationParamDescriptor->getDescRecord ( parameterNeedData ); SQLINTEGER *bindOffsetPtr = applicationParamDescriptor->headBindOffsetPtr; - *(unsigned long*)ptr = GETBOUNDADDRESS(binding); + *(UINT_PTR*)ptr = GETBOUNDADDRESS(binding); if( binding->indicatorPtr && binding->data_at_exec ) { @@ -3057,7 +3057,7 @@ if ( retcode == SQL_NEED_DATA && saveParameter != parameterNeedData ) { binding = applicationParamDescriptor->getDescRecord ( parameterNeedData ); - *(unsigned long*)ptr = GETBOUNDADDRESS(binding); + *(UINT_PTR*)ptr = GETBOUNDADDRESS(binding); } } catch ( std::exception &ex ) @@ -3073,7 +3073,7 @@ return sqlSuccess(); } -SQLRETURN OdbcStatement::sqlPutData (SQLPOINTER value, SQLINTEGER valueSize) +SQLRETURN OdbcStatement::sqlPutData (SQLPOINTER value, SQLLEN valueSize) { if (parameterNeedData == 0) return sqlReturn (SQL_ERROR, "HY010", "Function sequence error :: OdbcStatement::sqlPutData"); @@ -3202,74 +3202,74 @@ break; case SQL_ATTR_RETRIEVE_DATA: - fetchRetData = (int) ptr; - TRACE02(SQL_ATTR_RETRIEVE_DATA,(int) ptr); + fetchRetData = (INT_PTR) ptr; + TRACE02(SQL_ATTR_RETRIEVE_DATA,(INT_PTR) ptr); break; case SQL_ATTR_PARAM_BIND_TYPE: // 18 - applicationParamDescriptor->headBindType = (SQLINTEGER) ptr; - TRACE02(SQL_ATTR_PARAM_BIND_TYPE,(int) ptr); + applicationParamDescriptor->headBindType = (INT_PTR) ptr; + TRACE02(SQL_ATTR_PARAM_BIND_TYPE,(INT_PTR) ptr); break; case SQL_ATTR_PARAM_BIND_OFFSET_PTR:// 17 applicationParamDescriptor->headBindOffsetPtr = (SQLINTEGER*)ptr; - TRACE02(SQL_ATTR_PARAM_BIND_OFFSET_PTR,(int) ptr); + TRACE02(SQL_ATTR_PARAM_BIND_OFFSET_PTR,(INT_PTR) ptr); break; case SQL_ATTR_PARAMS_PROCESSED_PTR: // 21 - implementationParamDescriptor->headRowsProcessedPtr = (SQLUINTEGER*) ptr; - TRACE02(SQL_ATTR_PARAMS_PROCESSED_PTR,(int) ptr); + implementationParamDescriptor->headRowsProcessedPtr = (SQLULEN*) ptr; + TRACE02(SQL_ATTR_PARAMS_PROCESSED_PTR,(INT_PTR) ptr); break; case SQL_ATTR_PARAMSET_SIZE: // 22 - applicationParamDescriptor->headArraySize = (SQLUINTEGER)ptr; - TRACE02(SQL_ATTR_PARAMSET_SIZE,(int) ptr); + applicationParamDescriptor->headArraySize = (UINT_PTR)ptr; + TRACE02(SQL_ATTR_PARAMSET_SIZE,(INT_PTR) ptr); break; case SQL_ATTR_ROW_BIND_TYPE: // SQL_BIND_TYPE 5 - applicationRowDescriptor->headBindType = (SQLINTEGER)ptr; - TRACE02(SQL_ATTR_ROW_BIND_TYPE,(int) ptr); + applicationRowDescriptor->headBindType = (INT_PTR)ptr; + TRACE02(SQL_ATTR_ROW_BIND_TYPE,(INT_PTR) ptr); break; case SQL_ATTR_ROW_ARRAY_SIZE: // 27 - applicationRowDescriptor->headArraySize = (int) ptr; - TRACE02(SQL_ATTR_ROW_ARRAY_SIZE,(int) ptr); + applicationRowDescriptor->headArraySize = (INT_PTR) ptr; + TRACE02(SQL_ATTR_ROW_ARRAY_SIZE,(INT_PTR) ptr); break; case SQL_ATTR_KEYSET_SIZE: // 8 case SQL_ROWSET_SIZE: // 9 - applicationRowDescriptor->headArraySize = (int) ptr; - TRACE02(SQL_ROWSET_SIZE,(int) ptr); + applicationRowDescriptor->headArraySize = (INT_PTR) ptr; + TRACE02(SQL_ROWSET_SIZE,(INT_PTR) ptr); break; case SQL_ATTR_ROWS_FETCHED_PTR: // 26 - implementationRowDescriptor->headRowsProcessedPtr = (SQLUINTEGER*) ptr; - TRACE02(SQL_ATTR_ROWS_FETCHED_PTR,(int) ptr); + implementationRowDescriptor->headRowsProcessedPtr = (SQLULEN*) ptr; + TRACE02(SQL_ATTR_ROWS_FETCHED_PTR,(INT_PTR) ptr); break; case SQL_ATTR_ROW_BIND_OFFSET_PTR: // 23 applicationRowDescriptor->headBindOffsetPtr = (SQLINTEGER*)ptr; - TRACE02(SQL_ATTR_ROW_BIND_OFFSET_PTR,(int) ptr); + TRACE02(SQL_ATTR_ROW_BIND_OFFSET_PTR,(INT_PTR) ptr); break; case SQL_ATTR_ROW_STATUS_PTR: // 25 implementationRowDescriptor->headArrayStatusPtr = (SQLUSMALLINT*)ptr; - TRACE02(SQL_ATTR_ROW_STATUS_PTR,(int) ptr); + TRACE02(SQL_ATTR_ROW_STATUS_PTR,(INT_PTR) ptr); break; case SQL_ATTR_CONCURRENCY: // SQL_CONCURRENCY 7 - currency = (int) ptr; + currency = (INT_PTR) ptr; if(currency == SQL_CONCUR_READ_ONLY) cursorSensitivity = SQL_INSENSITIVE; else cursorSensitivity = SQL_UNSPECIFIED; - TRACE02(SQL_ATTR_CONCURRENCY,(int) ptr); + TRACE02(SQL_ATTR_CONCURRENCY,(INT_PTR) ptr); break; case SQL_ATTR_CURSOR_TYPE: // SQL_CURSOR_TYPE 6 - cursorType = (int) ptr; + cursorType = (INT_PTR) ptr; if ( cursorType == SQL_CURSOR_DYNAMIC ) { cursorScrollable = SQL_SCROLLABLE; @@ -3294,46 +3294,46 @@ else cursorSensitivity = SQL_INSENSITIVE; } - TRACE02(SQL_ATTR_CURSOR_TYPE,(int) ptr); + TRACE02(SQL_ATTR_CURSOR_TYPE,(INT_PTR) ptr); break; case SQL_ATTR_CURSOR_SCROLLABLE: - cursorScrollable = (int) ptr; + cursorScrollable = (INT_PTR) ptr; if( cursorScrollable == SQL_NONSCROLLABLE ) cursorType = SQL_CURSOR_FORWARD_ONLY; else cursorType = SQL_CURSOR_STATIC; - TRACE02(SQL_ATTR_CURSOR_SCROLLABLE,(int) ptr); + TRACE02(SQL_ATTR_CURSOR_SCROLLABLE,(INT_PTR) ptr); break; case SQL_ATTR_ASYNC_ENABLE: // 4 - asyncEnable = (int) ptr == SQL_ASYNC_ENABLE_ON; - TRACE02(SQL_ATTR_ASYNC_ENABLE,(int) ptr); + asyncEnable = (INT_PTR) ptr == SQL_ASYNC_ENABLE_ON; + TRACE02(SQL_ATTR_ASYNC_ENABLE,(INT_PTR) ptr); break; case SQL_ATTR_MAX_ROWS: // SQL_MAX_ROWS 1 - maxRows = (int) ptr; - TRACE02(SQL_ATTR_MAX_ROWS,(int) ptr); + maxRows = (INT_PTR) ptr; + TRACE02(SQL_ATTR_MAX_ROWS,(INT_PTR) ptr); break; case SQL_ATTR_MAX_LENGTH: if ( length == SQL_IS_POINTER ) - maxLength = *(int*) ptr; + maxLength = *(INT_PTR*) ptr; else - maxLength = (int) ptr; + maxLength = (INT_PTR) ptr; TRACE02(SQL_ATTR_MAX_LENGTH, maxLength); break; case SQL_ATTR_USE_BOOKMARKS: // SQL_USE_BOOKMARKS 12 applicationRowDescriptor->allocBookmarkField(); - useBookmarks = (SQLINTEGER)ptr; - TRACE02(SQL_ATTR_USE_BOOKMARKS,(int) ptr); + useBookmarks = (INT_PTR)ptr; + TRACE02(SQL_ATTR_USE_BOOKMARKS,(INT_PTR) ptr); break; case SQL_ATTR_CURSOR_SENSITIVITY: // (-2) - cursorSensitivity = (SQLINTEGER)ptr; + cursorSensitivity = (INT_PTR)ptr; if ( cursorSensitivity == SQL_INSENSITIVE ) { currency = SQL_CONCUR_READ_ONLY; @@ -3350,37 +3350,37 @@ cursorType = SQL_CURSOR_FORWARD_ONLY; } - TRACE02(SQL_ATTR_CURSOR_SENSITIVITY,(int) ptr); + TRACE02(SQL_ATTR_CURSOR_SENSITIVITY,(INT_PTR) ptr); break; case SQL_ATTR_PARAM_OPERATION_PTR: // 19 applicationParamDescriptor->headArrayStatusPtr = (SQLUSMALLINT*)ptr; - TRACE02(SQL_ATTR_PARAM_OPERATION_PTR,(int) ptr); + TRACE02(SQL_ATTR_PARAM_OPERATION_PTR,(INT_PTR) ptr); break; case SQL_ATTR_PARAM_STATUS_PTR: // 20 implementationParamDescriptor->headArrayStatusPtr = (SQLUSMALLINT*)ptr; - TRACE02(SQL_ATTR_PARAM_STATUS_PTR,(int) ptr); + TRACE02(SQL_ATTR_PARAM_STATUS_PTR,(INT_PTR) ptr); break; case SQL_ATTR_ROW_OPERATION_PTR: // 24 applicationRowDescriptor->headArrayStatusPtr = (SQLUSMALLINT*)ptr; - TRACE02(SQL_ATTR_ROW_OPERATION_PTR,(int) ptr); + TRACE02(SQL_ATTR_ROW_OPERATION_PTR,(INT_PTR) ptr); break; case SQL_ATTR_ENABLE_AUTO_IPD: // 15 - enableAutoIPD = (int) ptr; - TRACE02(SQL_ATTR_ENABLE_AUTO_IPD,(int) ptr); + enableAutoIPD = (INT_PTR) ptr; + TRACE02(SQL_ATTR_ENABLE_AUTO_IPD,(INT_PTR) ptr); break; case SQL_ATTR_FETCH_BOOKMARK_PTR: // 16 fetchBookmarkPtr = ptr; - TRACE02(SQL_ATTR_FETCH_BOOKMARK_PTR,(int) ptr); + TRACE02(SQL_ATTR_FETCH_BOOKMARK_PTR,(INT_PTR) ptr); break; case SQL_ATTR_NOSCAN: // 2 - noscanSQL = (int) ptr; - TRACE02(SQL_ATTR_NOSCAN,(int) ptr); + noscanSQL = (INT_PTR) ptr; + TRACE02(SQL_ATTR_NOSCAN,(INT_PTR) ptr); break; case SQL_ATTR_APP_ROW_DESC: @@ -3392,7 +3392,7 @@ applicationRowDescriptor = saveApplicationRowDescriptor; return sqlReturn (SQL_ERROR, "HY017", "Invalid use of an automatically allocated descriptor handle"); } - TRACE02(SQL_ATTR_APP_ROW_DESC,(int) applicationRowDescriptor); + TRACE02(SQL_ATTR_APP_ROW_DESC,(INT_PTR) applicationRowDescriptor); break; case SQL_ATTR_APP_PARAM_DESC: @@ -3404,7 +3404,7 @@ applicationParamDescriptor = saveApplicationParamDescriptor; return sqlReturn (SQL_ERROR, "HY017", "Invalid use of an automatically allocated descriptor handle"); } - TRACE02(SQL_ATTR_APP_PARAM_DESC,(int) applicationParamDescriptor); + TRACE02(SQL_ATTR_APP_PARAM_DESC,(INT_PTR) applicationParamDescriptor); break; default: @@ -3421,7 +3421,7 @@ return sqlSuccess(); } -SQLRETURN OdbcStatement::sqlRowCount(SQLINTEGER *rowCount) +SQLRETURN OdbcStatement::sqlRowCount(SQLLEN *rowCount) { clearErrors(); diff -r -u -x CVS e:\OdbcJdbco\OdbcStatement.h e:\OdbcJdbc\OdbcStatement.h --- e:\OdbcJdbco\OdbcStatement.h Wed Jun 21 19:35:55 2006 +++ e:\OdbcJdbc\OdbcStatement.h Tue Aug 26 16:02:31 2008 @@ -71,12 +71,12 @@ SQLRETURN sqlFetchScrollCursorStatic(int orientation, int offset); SQLRETURN sqlSetPos (SQLUSMALLINT rowNumber, SQLUSMALLINT operation, SQLUSMALLINT lockType); SQLRETURN sqlBulkOperations( int operation ); - SQLRETURN sqlSetScrollOptions (SQLUSMALLINT fConcurrency, SQLINTEGER crowKeyset, SQLUSMALLINT crowRowset); - SQLRETURN sqlExtendedFetch (int orientation, int offset, SQLUINTEGER *rowCountPointer, SQLUSMALLINT *rowStatusArray); - SQLRETURN sqlRowCount (SQLINTEGER *rowCount); + SQLRETURN sqlSetScrollOptions (SQLUSMALLINT fConcurrency, SQLLEN crowKeyset, SQLUSMALLINT crowRowset); + SQLRETURN sqlExtendedFetch (int orientation, int offset, SQLULEN *rowCountPointer, SQLUSMALLINT *rowStatusArray); + SQLRETURN sqlRowCount (SQLLEN *rowCount); SQLRETURN sqlSetStmtAttr (int attribute, SQLPOINTER ptr, int length); SQLRETURN sqlParamData(SQLPOINTER *ptr); // Carlos Guzmán Álvarez - SQLRETURN sqlPutData (SQLPOINTER value, SQLINTEGER valueSize); + SQLRETURN sqlPutData (SQLPOINTER value, SQLLEN valueSize); SQLRETURN sqlGetTypeInfo (int dataType); bool registerOutParameter(); SQLRETURN inputParam( bool arrayColumnWiseBinding = false ); @@ -94,13 +94,13 @@ SQLRETURN sqlProcedureColumns(SQLCHAR * catalog, int catLength, SQLCHAR * schema, int schemaLength, SQLCHAR * proc, int procLength, SQLCHAR*col,int colLength); SQLRETURN sqlProcedures(SQLCHAR * catalog, int catLength, SQLCHAR * schema, int schemaLength, SQLCHAR * proc, int procLength); SQLRETURN sqlCancel(); - SQLRETURN sqlBindParameter (int parameter, int type, int cType, int sqlType, int precision, int scale, PTR ptr, int bufferLength, SDWORD *length); - SQLRETURN sqlDescribeParam (int parameter, SWORD* sqlType, UDWORD*precision, SWORD*scale,SWORD*nullable); + SQLRETURN sqlBindParameter (int parameter, int type, int cType, int sqlType, int precision, int scale, PTR ptr, int bufferLength, SQLLEN *length); + SQLRETURN sqlDescribeParam (int parameter, SWORD* sqlType, SQLULEN*precision, SWORD*scale,SWORD*nullable); SQLRETURN formatParameter( int parameter ); SQLRETURN sqlExecDirect (SQLCHAR * sql, int sqlLength); SQLRETURN sqlExecute(); - SQLRETURN sqlGetData (int column, int cType, PTR value, int bufferLength, SDWORD *length); - SQLRETURN sqlDescribeCol (int col, SQLCHAR *colName, int nameSize, SWORD *nameLength,SWORD*sqlType,UDWORD*precision,SWORD*scale,SWORD *nullable); + SQLRETURN sqlGetData (int column, int cType, PTR value, SQLLEN bufferLength, SQLLEN *length); + SQLRETURN sqlDescribeCol (int col, SQLCHAR *colName, int nameSize, SWORD *nameLength,SWORD*sqlType,SQLULEN*precision,SWORD*scale,SWORD *nullable); SQLRETURN sqlNumResultCols (SWORD *columns); SQLRETURN sqlNumParams (SWORD *params); SQLRETURN sqlForeignKeys (SQLCHAR *pkCatalog, int pkCatLength, SQLCHAR*pkSchema, int pkSchemaLength,SQLCHAR*pkTable,int pkTableLength, SQLCHAR* fkCatalog,int fkCatalogLength, SQLCHAR*fkSchema, int fkSchemaLength,SQLCHAR*fkTable,int fkTableLength); @@ -110,7 +110,7 @@ void releaseBindings(); SQLRETURN sqlFreeStmt (int option); SQLRETURN sqlFetch(); - SQLRETURN sqlBindCol (int columnNumber, int targetType, SQLPOINTER targetValuePtr, SQLINTEGER bufferLength, SQLINTEGER *indPtr); + SQLRETURN sqlBindCol (int columnNumber, int targetType, SQLPOINTER targetValuePtr, SQLLEN bufferLength, SQLLEN *indPtr); void rebindColumn(); void rebindParam(bool initAttrDataAtExec = false); void setResultSet (ResultSet *results, bool fromSystemCatalog = true); @@ -123,7 +123,7 @@ SQLRETURN sqlTablePrivileges (SQLCHAR* catalog, int catLength, SQLCHAR* schema, int schemaLength, SQLCHAR*table, int tableLength); SQLRETURN sqlColumnPrivileges (SQLCHAR* catalog, int catLength, SQLCHAR* schema, int schemaLength, SQLCHAR*table, int tableLength, SQLCHAR * column, int columnLength); SQLRETURN sqlSpecialColumns(unsigned short rowId, SQLCHAR * catalog, int catLength, SQLCHAR * schema, int schemaLength, SQLCHAR * table, int tableLength, unsigned short scope, unsigned short nullable); - SQLRETURN sqlSetParam (int parameter, int cType, int sqlType, int precision, int scale, PTR ptr, SDWORD * length); + SQLRETURN sqlSetParam (int parameter, int cType, int sqlType, int precision, int scale, PTR ptr, SQLLEN * length); void addBindColumn(int column, DescRecord * recordFrom, DescRecord * recordTo); void delBindColumn(int column); void addBindParam(int param, DescRecord * recordFrom, DescRecord * recordTo); @@ -177,7 +177,7 @@ bool isFetchStaticCursor; bool schemaFetchData; - int fetchRetData; + SQLLEN fetchRetData; SQLINTEGER *sqldataOutOffsetPtr; SQLUINTEGER enableAutoIPD; SQLINTEGER useBookmarks; @@ -193,7 +193,7 @@ int rowNumber; int rowNumberParamArray; int lastRowsetSize; - long indicatorRowNumber; + SQLLEN indicatorRowNumber; int maxRows; int maxLength; }; ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Firebird-odbc-devel mailing list Firebird-odbc-devel@... https://lists.sourceforge.net/lists/listinfo/firebird-odbc-devel |
|
|
Re: Patches for Odbc driver |