Skip to content

Commit

Permalink
Merge pull request #324 from vrogier/develop-v4.7.5
Browse files Browse the repository at this point in the history
Develop v4.7.5
  • Loading branch information
vrogier authored Feb 6, 2023
2 parents 1ef4342 + 31a910c commit ce6a770
Show file tree
Hide file tree
Showing 208 changed files with 3,221 additions and 1,403 deletions.
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -186,3 +186,8 @@ testlog.manifest
/.vs
*.recipe
*.txt

# misc. VS files
*.lock
*.vsidx
*.bin
45 changes: 44 additions & 1 deletion ChangeLog
Original file line number Diff line number Diff line change
@@ -1,10 +1,53 @@
2023-02-06 Version 4.7.5 Vincent Rogier [email protected]

* Changes (C API)

- OCI_Cleanup() now returns FALSE if OCI_Initialize() has not been called
- OCI_GetSQLVerb() handles some new verbs added with Oracle 21c
- OCI_Execute() and related methods return now FALSE and report an OCI_Error for PL/SQL statements raising PL/SQL no_data_found exceptions
* This revert behavior introduced in v4.3.1 for addressing issue #68
* Motivation is to re-align on SQL*Plus behavior
- OCI_GetOCIRuntimeVersion() and OCI_GetOCICompileVersion() returned integer values on 6 digits instead of 4 digits
* Handles now minor version using 2 digits (e.g. Oracle OCI version 19.16.0)
* Use macros OCI_VER_MAJ, OCI_VER_MIN, OCI_VER_REV and OCI_VER_MAKE to do computations on versions
- Very old Oracle OCI 8.0.x is now supported
- Up to now, OCILIB supported all Oracle versions from 8.1
- Oracle 8.0 is now also supported for very old legacy systems (as Oracle 8.0 was released in mid 90's)
- As OCI multi-threaded APIs were only available from 8.1, passing OCI_ENV_THREADED to OCI_Initialize() with Oracle 8.0 will generate an error:
- OCILIB Error code : OCI_ERR_NOT_AVAILABLE
- OCILIB Error message : "Feature not available (Oracle 8.1 multihreading support)"

* Fixes (C API)

- Issue 297: Library compilation fails with MSVC 2022 version 17.2 (error C2220)
- Issue 298: OCI_DirPathLoad() can never returns in case of internal load errors (infinite loop)
- Issue 308: OCI_Execute() raises error OCI-22060 when binding host big_int variables with OCI_BDM_OUT in case the SQL or PL/SQL engine sets a NULL value
- Issue 309: OCI_Execute() does not raise exceptions when executing PL/SQL statement raising no data was found PL/SQL exception
- Issue 313: OCI_GetString() returns NULL for CLOB columns is the CLOB row value was filled with empty_clob()
- Issue 314: OCI_BindSetCharsetForm() is not accessible since v4.7.0
- ISsue 316: OCI_DequeueGet() returns messages with OCI_Object payloads that can have NULL properties while being NOT NULL when queued
- ISsue 317: OCI_SubscriptionRegister() generates a segfault on failure

* Fixes (C++ API)

- Issue 299: Performance issues with C++ API in multi-threaded environments
- Issue 306: Compile error under GCC when accessing an ocilib::Collection item

* Miscellaneous

- Updated compilers for MS Windows prebuilt binaries to VS2022 17.4.4
- Internal code changes / refactoring
- Some documentation updates
- Added more tests in tests suite
- Fixed ocilib C demo makefile : compilation could failed on some Linux environments

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 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
Expand Down
2 changes: 1 addition & 1 deletion Makefile.am
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2007-2021 Vincent ROGIER <[email protected]>
# Copyright (c) 2007-2023 Vincent ROGIER <[email protected]>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
Expand Down
2 changes: 1 addition & 1 deletion Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

@SET_MAKE@

# Copyright (c) 2007-2021 Vincent ROGIER <[email protected]>
# Copyright (c) 2007-2023 Vincent ROGIER <[email protected]>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
Expand Down
4 changes: 2 additions & 2 deletions NEWS
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
ocilib -- History of visible changes.

Copyright (c) 2007-2021 Vincent ROGIER <[email protected]>
Copyright (c) 2007-2023 Vincent ROGIER <[email protected]>
See the end for copying conditions.

Please send ocilib bug reports to [email protected].

-------------------------------------------------------
Copying information:

Copyright (c) 2007-2021 Vincent ROGIER <[email protected]>
Copyright (c) 2007-2023 Vincent ROGIER <[email protected]>

Permission is granted to anyone to make or distribute verbatim copies
of this document as received, in any medium, provided that the
Expand Down
20 changes: 11 additions & 9 deletions README
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
*
* Website: http://www.ocilib.net
*
* Copyright (c) 2007-2021 Vincent ROGIER <[email protected]>
* Copyright (c) 2007-2023 Vincent ROGIER <[email protected]>
*
*/

Expand Down Expand Up @@ -34,7 +34,7 @@ FEATURES

* Full ANSI and Unicode support on all platforms (ISO C wide strings or UTF8 strings)
* Full 32/64 bits compatibility
* Compatible with all Oracle version >= 8i
* Compatible with all Oracle version >= 8.0
* Automatic adaptation to the runtime Oracle client version
* Runtime loading of Oracle libraries
* Built-in error handling (global and thread context)
Expand Down Expand Up @@ -102,13 +102,15 @@ for ANSI version and C99 for Unicode versions.

Validated Oracle versions :

- Oracle 8i
- Oracle 9i
- Oracle 10g
- Oracle 11g
- Oracle 12c


- Oracle 8
- Oracle 9
- Oracle 10
- Oracle 11
- Oracle 12
- Oracle 18
- Oracle 19
- Oracle 21

===========================================================================
INSTALLATION AND LIBRARY BUILDS ON MS WINDOWS
===========================================================================
Expand Down
2 changes: 1 addition & 1 deletion README.MD
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ The source code is free source code licensed under **Apache License, Version 2.0
- ISO C ++ API
- Full ANSI and Unicode support on all platforms (ISO C wide strings or UTF8 strings)
- Full 32/64 bits compatibility
- Compatible with all Oracle version >= 8i
- Compatible with all Oracle version >= 8.0
- Automatic adaptation to the runtime Oracle client version
- Runtime loading of Oracle libraries
- Built-in error handling (global and thread context)
Expand Down
4 changes: 2 additions & 2 deletions README.in
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
*
* Website: http://www.ocilib.net
*
* Copyright (c) 2007-2021 Vincent ROGIER <[email protected]>
* Copyright (c) 2007-2023 Vincent ROGIER <[email protected]>
*
*/

Expand Down Expand Up @@ -34,7 +34,7 @@ FEATURES

* Full ANSI and Unicode support on all platforms (ISO C wide strings or UTF8 strings)
* Full 32/64 bits compatibility
* Compatible with all Oracle version >= 8i
* Compatible with all Oracle version >= 8.0
* Automatic adaptation to the runtime Oracle client version
* Runtime loading of Oracle libraries
* Built-in error handling (global and thread context)
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
4.7.4
4.7.5
2 changes: 1 addition & 1 deletion configure.ac
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2007-2021 Vincent ROGIER <[email protected]>
# Copyright (c) 2007-2023 Vincent ROGIER <[email protected]>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
Expand Down
2 changes: 1 addition & 1 deletion demo/Makefile.am
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2007-2021 Vincent ROGIER <[email protected]>
# Copyright (c) 2007-2023 Vincent ROGIER <[email protected]>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
Expand Down
2 changes: 1 addition & 1 deletion demo/Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

@SET_MAKE@

# Copyright (c) 2007-2021 Vincent ROGIER <[email protected]>
# Copyright (c) 2007-2023 Vincent ROGIER <[email protected]>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
Expand Down
2 changes: 1 addition & 1 deletion demo/Makefile_demo
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2007-2021 Vincent ROGIER <[email protected]>
# Copyright (c) 2007-2023 Vincent ROGIER <[email protected]>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
Expand Down
4 changes: 2 additions & 2 deletions demo/Makefile_demo.in
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2007-2021 Vincent ROGIER <[email protected]>
# Copyright (c) 2007-2023 Vincent ROGIER <[email protected]>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
Expand All @@ -18,7 +18,7 @@ OBJS = $(SRCS:.c=.o)
all: ocilib_demo

ocilib_demo: $(OBJS)
$(CC) $(LDFLAGS) -o $@ $(OBJS)
$(CC) -o $@ $(OBJS) $(LDFLAGS)

.c.o:
$(CC) $(INCS) $(CFLAGS) -c -o $@ $<
Expand Down
2 changes: 1 addition & 1 deletion demo/Makefile_demo_cpp.in
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2007-2021 Vincent ROGIER <[email protected]>
# Copyright (c) 2007-2023 Vincent ROGIER <[email protected]>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
Expand Down
48 changes: 24 additions & 24 deletions demo/ocilib_demo.c
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
*
* Website: http://www.ocilib.net
*
* Copyright (c) 2007-2021 Vincent ROGIER <[email protected]>
* Copyright (c) 2007-2023 Vincent ROGIER <[email protected]>
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -65,29 +65,29 @@ void test_number(void);

test_t tab_test[] =
{
{test_format, TRUE},
{test_immediate, TRUE},
{test_immediate_format, TRUE},
{test_fetch, TRUE},
{test_bind1, TRUE},
{test_bind2, TRUE},
{test_piecewise_insert, TRUE},
{test_piecewise_fetch, TRUE},
{test_lob, TRUE},
{test_nested_table, TRUE},
{test_ref_cursor, TRUE},
{test_plsql, TRUE},
{test_dates, TRUE},
{test_timestamp, TRUE},
{test_describe, TRUE},
{test_returning, TRUE},
{test_returning_array, TRUE},
{test_object_insert, TRUE},
{test_object_fetch, TRUE},
{test_format, TRUE},
{test_immediate, TRUE},
{test_immediate_format, TRUE},
{test_fetch, TRUE},
{test_bind1, TRUE},
{test_bind2, TRUE},
{test_piecewise_insert, TRUE},
{test_piecewise_fetch, TRUE},
{test_lob, TRUE},
{test_nested_table, TRUE},
{test_ref_cursor, TRUE},
{test_plsql, TRUE},
{test_dates, TRUE},
{test_timestamp, TRUE},
{test_describe, TRUE},
{test_returning, TRUE},
{test_returning_array, TRUE},
{test_object_insert, TRUE},
{test_object_fetch, TRUE},
{test_object_fetch_string, TRUE},
{test_scrollable_cursor, TRUE},
{test_collection, TRUE},
{test_ref, TRUE},
{test_scrollable_cursor, TRUE},
{test_collection, TRUE},
{test_ref, TRUE},
{test_directpath, TRUE},
{test_bigint, TRUE},
{test_number, TRUE}
Expand Down Expand Up @@ -1336,7 +1336,7 @@ void test_object_fetch(void)
print_text("\n");

temp[OCI_ObjectGetRaw(obj, OTEXT("VAL_RAW"), rawbuf, 10)] = 0;
print_text("val_raw : "); print_text(rawbuf);
print_text("val_raw : "); print_frmt("%s", rawbuf);
print_text("\n");

date = OCI_ObjectGetDate(obj, OTEXT("VAL_DATE"));
Expand Down
2 changes: 1 addition & 1 deletion demo/ocilib_demo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
*
* Website: http://www.ocilib.net
*
* Copyright (c) 2007-2021 Vincent ROGIER <[email protected]>
* Copyright (c) 2007-2023 Vincent ROGIER <[email protected]>
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion demo/ocilib_demo.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
*
* Website: http://www.ocilib.net
*
* Copyright (c) 2007-2021 Vincent ROGIER <[email protected]>
* Copyright (c) 2007-2023 Vincent ROGIER <[email protected]>
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion doc/html/Makefile.am
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2007-2021 Vincent ROGIER <[email protected]>
# Copyright (c) 2007-2023 Vincent ROGIER <[email protected]>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
Expand Down
2 changes: 1 addition & 1 deletion doc/html/Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

@SET_MAKE@

# Copyright (c) 2007-2021 Vincent ROGIER <[email protected]>
# Copyright (c) 2007-2023 Vincent ROGIER <[email protected]>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
Expand Down
Loading

0 comments on commit ce6a770

Please sign in to comment.