Oracle NoSQL Database C API Change Log
Release 3.0.14
The C interface for the Oracle NoSQL Database is implemented using the
Java Native Interface (JNI) to make calls to the Java client.
This means that it requires a JVM on the client and the Java JDK for building.
Changes in 3.0.14
- Added new interfaces to make copying and donation of value and
key objects more efficient:
kv_copy_value() does an internal copy of all state
associated with the value.
kv_operations_set_donate() allows a user to donate keys,
values, and versions to the kv_operations_t, simplifying memory
management and avoiding unnecessary data copies.
- Fixed a bug where
kv_lob_read() might return 0 bytes.
This occurred in an AIX JVM [#23758].
- Fixed a bug where, if Avro values (kv_value_t) are used in a
kv_operations_t list that has had
kv_operations_set_copy()
called on it, the values could be corrupted. With this, and related
changes it is recommended that kv_operations_set_donate() be
used instead, assuming that all kv_version_t, kv_value_t, and kv_key_t
instances are independent copies and owned by the caller. [#23770].
- Fixed a bug where
kv_avro_get_current_schemas() would
return an incorrect, positive number if it failed. [#23771]
Changes in 3.0.9
This release adds support for new features in Oracle NoSQL Database
release 3, including zone support and security features.
- Added interfaces to handle data center/zone support. Read zones
interface was added.
- Added interfaces to handle the password authentication for users
and systems.
- The SSL transport can now be used to encrypt data on the network
to prevent unauthorized access to that data.
- Added API to handle data center/zone support. Read zones
interface was added.
- Renamed the kv_node_metrics_t field datacenter_name to zone_name, to
use the new zone terminology.
- Added the value KV_CONSISTENCY_NONE_NO_MASTER to kv_consistency_enum.
- Added API functions to enable SSL transport communication.
- Added API functions to handle the authorization of user logins.
- Fixed a bug where kv_lob_read might return 0 bytes. This occurred in
an AIX JVM [#23758].
Changes in 2.1.57
- The ParallelScan interface was recently added to the core product allows for
configuration and use of a store scan operation that proceeds in
parallel, accessing multiple partitions at the same time. The
normal store iteration acts in a serial manner, one partition at a
time. This release adds a C API for this new interface. It is
recommended that this be used rather than the older serial store
iterator interface.
- This release adds a C API for ParallelScan interface. It is
recommended that this be used rather than the older serial store
iterator interface.
Changes in 2.0.39
- Two independent bugs were fixed that resulted in SIGSEGV with the
JVM and/or process heap memory corruption. While somewhat
exacerbated by use of iterators and use of consistency paramters,
these problems could occur in any application. Fixing these bugs is
the primary reason for this patch release [#22538], [#22544].
- The default options in CMakeLists.txt were changed to better
use RPATH options to make linking of the library and applications
simpler [#22545].
- A "template" area was added to examples/CMakeLists.txt to
enable applications to integrate into the product's CMake build
infrastructure. This simplifies compilation and linking.
Changes in 2.0.26
- A number of memory leaks related to repeated opening and closing
of a store have been fixed. These would result in the JVM
running out of heap over a long period of time.
- A change was made (in the Java-based, core product) that fixes a
problem where accessing an Avro schema with default values from the C
API would not work correctly. It is worth a reminder that default
values in Avro schema are not currently supported by the Avro C
library (as of 1.7.3). Until they are schema evolution and C/Java
interoperability are not fully available in Avro.
- Added C API to handle Large Object (LOB) support. A number of
new configuration calls as well as the read/write interface itself
were added.
- Added C API to handle Large Object (LOB) support. A number of
new configuration calls as well as the read/write interface itself
were added.