Skip to content

Commit

Permalink
Merge pull request #292 from vrogier/develop-v4.7.4
Browse files Browse the repository at this point in the history
Develop v4.7.4
  • Loading branch information
vrogier authored Nov 30, 2021
2 parents 4a3a860 + 586bff0 commit 1ef4342
Show file tree
Hide file tree
Showing 45 changed files with 1,448 additions and 391 deletions.
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@
/lib32
/lib64
/proj/dll/temp
/proj/test/Win32
/proj/test/x64

# WinMerge backups
*.bak
Expand Down Expand Up @@ -181,3 +183,6 @@ testlog.manifest
/nuget/*.nupkg
*Browse.VC.db-wal
*Browse.VC.db-shm
/.vs
*.recipe
*.txt
22 changes: 22 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,25 @@
2021-11-30 Version 4.7.4 Vincent Rogier [email protected]

* Fixes (C API)

- Issue 291: OCI_DirPathGetErrorRow() always return 0 since v4.7.0
- Issue 284: OCI_MsgGetID() returns a NULL ID after being queued with OCI_DequeuePut()
- Issue 288: OCI_GetString returns null on implicit conversion of a RAW value when it's longer than 64 bytes
- Issue 283: OCI_DequeueGet() returns null pointer when message has empty payload
- Issue 282: PL/SQL Server output wrong internal buffer size on some oracle versions
- Issue 281: ORA-00931 in OCI_TypeInfoGet() when using SYS.RAW type

* Fixes (C++ API)

- Issue 272: AddressSanitizer reports mismatched new[] vs delete
- Issue 278: ocilib::Object causes Segmentation fault

* Miscellaneous

- Updated compilers for MS Windows prebuilt binaries
* VS2022 17.0.1 for 32/64 bit DLLs
* VC runtime (statically linked) updated from vc142 to vc143

2021-03-09 Version 4.7.3 Vincent Rogier [email protected]

* Fixes (C API)
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
4.7.3
4.7.4
478 changes: 297 additions & 181 deletions doxygen/Doxyfile.dox

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion doxygen/Introduction.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

@section Version Version information

Current version : <b>4.7.3</b>
Current version : <b>4.7.4</b>

@section Features Main features

Expand Down
7 changes: 4 additions & 3 deletions include/ocilibc/api.h
Original file line number Diff line number Diff line change
Expand Up @@ -13067,12 +13067,13 @@ OCI_SYM_PUBLIC OCI_Connection * OCI_API OCI_TypeInfoGetConnection
* @param typinf - Type info handle
*
* @note
* this call is optional.
* this call is DEPRECATED.
* OCI_TypeInfo object are internally tracked and
* automatically freed when their related connection is freed
* Thus this method does nothing
*
* @return
* TRUE on success otherwise FALSE
* TRUE if input handle is valid otherwise FALSE
*
*/

Expand Down Expand Up @@ -16311,7 +16312,7 @@ OCI_SYM_PUBLIC boolean OCI_API OCI_QueueStop
* @note
* Possible values for parameter 'queue_payload_type' :
* - For Oracle types (UDT) : use the type name ([schema.].type_name)
* - For RAW data : use "SYS.RAW" or "RAW"
* - For RAW data : use "SYS.RAW" or "RAW" (depending on Oracle versions - For latest ones, use "RAW")
*
* @note
* Possible values for parameter 'message_grouping' :
Expand Down
2 changes: 1 addition & 1 deletion include/ocilibcpp/detail/support/BindObjectAdaptor.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ namespace ocilib
template<class T>
BindObjectAdaptor<T>::~BindObjectAdaptor() noexcept
{
delete core::OnDeallocate(_data);
delete[] core::OnDeallocate(_data);
}

template<class T>
Expand Down
6 changes: 3 additions & 3 deletions nuget/ocilib.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<package>
<metadata minClientVersion="3.5">
<id>ocilib</id>
<version>4.7.3</version>
<version>4.7.4</version>
<title>Ocilib Driver for Oracle databases</title>
<summary>
OCILIB is an open source and cross platform Oracle Driver delivering efficient access to Oracle databases.
Expand All @@ -18,7 +18,7 @@ It requires Oracle Client libraries (Regular or instant client).
</description>
<authors>Vincent Rogier</authors>
<owners>Vincentt Rogier</owners>
<releaseNotes>https://github.com/vrogier/ocilib/releases/tag/v4.7.3</releaseNotes>
<releaseNotes>https://github.com/vrogier/ocilib/releases/tag/v4.7.4</releaseNotes>
<projectUrl>https://github.com/vrogier/ocilib</projectUrl>
<iconUrl>http://ocilib.net/images/logo-160x120.png</iconUrl>
<icon>images\logo-160x120.png</icon>
Expand All @@ -27,7 +27,7 @@ It requires Oracle Client libraries (Regular or instant client).
<licenseUrl>https://licenses.nuget.org/Apache-2.0</licenseUrl>
<copyright>Copyright 2007-2021 Vincent Rogier</copyright>
<tags>Oracle SQL C C++ OCI API Access Driver</tags>
<repository type="git" url="https://github.com/vrogier/ocilib.git" commit="75995440d2453d54af68c54483a78cccca7bc6a3" />
<repository type="git" url="https://github.com/vrogier/ocilib.git" commit="e3df9f97fc9cbbb6e632ea39b912402a75a84274" />
</metadata>
<files>
<file src="ocilib.props" target="build\native" />
Expand Down
2 changes: 1 addition & 1 deletion ocilib.pc
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ includedir=${prefix}/include
Name: ocilib
Description: OCILIB is an open source and cross platform Oracle Driver that delivers efficient access to Oracle databases.
URL: http://www.ocilib.net
Version: 4.7.3
Version: 4.7.4
Libs: -L${exec_prefix}/lib -locilib
Cflags: -I${prefix}/include

16 changes: 8 additions & 8 deletions proj/dll/main.rc
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
#include "resource.h"

VS_VERSION_INFO VERSIONINFO
FILEVERSION 4,7,3,0
PRODUCTVERSION 4,7,3,0
FILEVERSION 4,7,4,0
PRODUCTVERSION 4,7,4,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
Expand All @@ -20,11 +20,11 @@ BEGIN
BEGIN
VALUE "CompanyName", "Vincent Rogier"
VALUE "FileDescription", "Open source C driver for Oracle databases"
VALUE "FileVersion", "4.7.3.0"
VALUE "FileVersion", "4.7.4.0"
VALUE "InternalName", "OCILIB"
VALUE "LegalCopyright", "Copyright � 2007-2021"
VALUE "ProductName", "OCILIB (C driver for Oracle)"
VALUE "ProductVersion", "4.7.3.0"
VALUE "ProductVersion", "4.7.4.0"
END
END
BLOCK "VarFileInfo"
Expand All @@ -34,8 +34,8 @@ BEGIN
END

IDR_VERSION VERSIONINFO
FILEVERSION 4,7,3,0
PRODUCTVERSION 4,7,3,0
FILEVERSION 4,7,4,0
PRODUCTVERSION 4,7,4,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
Expand All @@ -52,12 +52,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "Vincent Rogier"
VALUE "FileDescription", "Open source C driver for Oracle databases"
VALUE "FileVersion", "4.7.3.0"
VALUE "FileVersion", "4.7.4.0"
VALUE "InternalName", "OCILIB.dll"
VALUE "LegalCopyright", "Copyright � 2007-2021"
VALUE "OriginalFilename", "OCILIB.dll"
VALUE "ProductName", "OCILIB (C driver for Oracle)"
VALUE "ProductVersion", "4.7.3.0"
VALUE "ProductVersion", "4.7.4.0"
END
END
BLOCK "VarFileInfo"
Expand Down
2 changes: 1 addition & 1 deletion proj/dll/ocilib_dll_vs2019.sln → proj/dll/ocilib_dll.sln
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.29926.136
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OCILIB Dynamic Library", "ocilib_dll_vs2019.vcxproj", "{B5B9DE0E-C2BE-4D75-BDA0-CBF81BD18D7D}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OCILIB Dynamic Library", "ocilib_dll.vcxproj", "{B5B9DE0E-C2BE-4D75-BDA0-CBF81BD18D7D}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,25 +30,25 @@
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release - ANSI|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release - UNICODE|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release - ANSI|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.29926.136
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ocilib++_demo_vs2019", "ocilib++_demo_vs2019.vcxproj", "{22508194-4A82-4EA7-A754-126534AE7108}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ocilib++_demo", "ocilib++_demo.vcxproj", "{22508194-4A82-4EA7-A754-126534AE7108}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,27 +32,27 @@
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
Expand Down Expand Up @@ -113,7 +113,7 @@
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;OCI_CHARSET_WIDE;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>WIN32;_DEBUG;OCI_CHARSET_ANSI;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MultiProcessorCompilation>
</MultiProcessorCompilation>
</ClCompile>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@

Microsoft Visual Studio Solution File, Format Version 11.00
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OCILIB Demo", "ocilib_demo_vs2019.vcxproj", "{D08196A4-17BC-42CE-A7A9-866905120974}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OCILIB Demo", "ocilib_demo.vcxproj", "{D08196A4-17BC-42CE-A7A9-866905120974}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,7 @@
</DataExecutionPrevention>
<TargetMachine>MachineX86</TargetMachine>
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
</Link>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
Expand Down Expand Up @@ -238,6 +239,7 @@
<DataExecutionPrevention>
</DataExecutionPrevention>
<TargetMachine>MachineX64</TargetMachine>
<ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
</Link>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
Expand Down Expand Up @@ -287,6 +289,7 @@
<DataExecutionPrevention>
</DataExecutionPrevention>
<TargetMachine>MachineX86</TargetMachine>
<ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
</Link>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
Expand Down Expand Up @@ -336,6 +339,7 @@
<DataExecutionPrevention>
</DataExecutionPrevention>
<TargetMachine>MachineX64</TargetMachine>
<ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
</Link>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
Expand Down Expand Up @@ -384,6 +388,7 @@
<DataExecutionPrevention>
</DataExecutionPrevention>
<TargetMachine>MachineX86</TargetMachine>
<ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
</Link>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
Expand Down Expand Up @@ -432,6 +437,7 @@
<DataExecutionPrevention>
</DataExecutionPrevention>
<TargetMachine>MachineX64</TargetMachine>
<ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
</Link>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
Expand Down
23 changes: 20 additions & 3 deletions src/array.c
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,14 @@ OCI_Array * OcilibArrayCreate

/* create array object */

arr = OcilibListAppend(Env.arrs, sizeof(*arr));
LOCK_LIST
(
Env.arrs,
{
arr = OcilibListAppend(Env.arrs, sizeof(*arr));
}
)

CHECK_NULL(arr)

arr->con = con;
Expand Down Expand Up @@ -297,10 +304,20 @@ boolean OcilibArrayFreeFromHandles

CHECK_PTR(OCI_IPC_VOID, handles)

arr = OcilibListFind(Env.arrs, (POCI_LIST_FIND) OcilibArrayFindAny, handles);
LOCK_LIST
(
Env.arrs,
{
arr = OcilibListFind(Env.arrs, (POCI_LIST_FIND)OcilibArrayFindAny, handles);
if (NULL != arr)
{
OcilibListRemove(Env.arrs, arr);
}
}
)

CHECK_NULL(arr)

OcilibListRemove(Env.arrs, arr);
OcilibArrayDispose(arr);
FREE(arr)

Expand Down
8 changes: 7 additions & 1 deletion src/callback.c
Original file line number Diff line number Diff line change
Expand Up @@ -632,7 +632,13 @@ void OcilibCallbackHAEvent

/* notify all related connections */

OcilibListForEachWithParam(Env.cons, &params, (POCI_LIST_FOR_EACH_WITH_PARAM)OcilibProcHAEventInvoke);
LOCK_LIST
(
Env.cons,
{
OcilibListForEachWithParam(Env.cons, &params, (POCI_LIST_FOR_EACH_WITH_PARAM)OcilibProcHAEventInvoke);
}
)

/* get next server */

Expand Down
Loading

0 comments on commit 1ef4342

Please sign in to comment.