1. GemConnect 2.4 Release Notes

GemConnect version 2.4 is a new release of the GemConnect product. This release provides a number of bug fixes and feature enhancements, as well as providing shared libraries for GemStone/S 64 Bit version 3.5.x.

These release notes provide changes between the previous version of GemConnect, version 2.3, and version 2.4. If you are upgrading from a version prior to 2.3, please review the release notes for each intermediate release to see the full set of changes.

To install GemConnect v2.4, follow the instructions in the GemConnect Installation Guide for v2.4.

This version of GemConnect supports only GemStone/S 64 Bit v3.3.1 and later.

Server keyfiles and GemConnect

With versions of GemStone/S 64 Bit after v3.2 and GemConnect v2.3, authorization for using GemConnect is provided by the GS/64 keyfile. You will need to have a keyfile that provides authorization for use with GemConnect in order to use GemConnect. If you require a keyfile, write to keyfiles@gemtalksystems.com, or contact GemTalk Technical Support.

Minimum Oracle version is now 12c

GemConnect now built using Oracle version 12.2.0.1.0. All earlier Oracle versions are not supported.

 

Supported Platforms

GemConnect version 2.4 is certified on the following GemStone server product versions and platforms:

GemStone/S 64 Bit 3.5.x

  • Solaris 10 and 11.4 on x86
  • AIX 6.1, AIX 7.1, and AIX 7.2
  • Ubuntu 16.04 and 18.04;
  • SUSE 12 on x86
  • Red Hat Linux ES 6.9 and 7.4 on x86
  • Mac OSX 10.14.3 with Darwin 18.2.0 kernel, on x86

Testing has also been done on earlier versions of GemStone/S 64 Bit. Contact GemTalk Technical Support for certification of specific version/platform.

Changes and Bug Fixes in this release

New Oracle Data Types Supported

The following Oracle Data Types are now supported:

Binary_Float
Binary_Double

Oracle fields of these types can now be efficiently used without having to "cast" them as Floats in the Oracle SQL statement.

Improved debug message control

In slow and debug executables, there is now more fine-grained control over specific diagnostic messages, and ways to enable or disable printing using environment variables. These cannot be used in normal fast executables, and are intended for use by GemTalk Technical Support in diagnosing specific problems.

Improved handling for NCLOBs

Two new instance variables have been added to class GsOracleConnection:

   clobSet
   nclobSet

These work analogously to charSet/ncharSet, but are used to identify the character representation for CLOBS/NCLOBS.

This change addresses a number of issues related to reading NCLOB data. (#48434)

  • When reading a NCLOB using "aClob readAll: recommendedClass", results would sometimes not be reduced properly (for example, a NCLOB containing only ASCII characters could be returned as a QuadByteString instead of a String.
  • The "Insufficient room in target buffer for conversion" error could be triggered when there was still available room in the buffer.
  • An "Unexpected Oracle error" error could be triggered, masking another more specific Oracle error and making diagnosis difficult.

Error on reading large CLOBS

Reading a CLOBS larger than 65536 bytes could fail with the error "insufficient room in target buffer". (#47649)"

Read/Write Error reading LOB Objects (BLOBS/CLOBS)

When a GsOracleConnection is configured to return GsOracleBLOB/CLOB objects, the LOB must either be opened in read-only mode; or, even if the application won’t be writing the LOB, the Oracle open call SQL SELECT statement must include the suffix "FOR UPDATE", even if the application won't be writing the BLOB/CLOB. (#47644)

Error descriptions did not include useful detail

The description from an GsRdbError did not include useful information; error message generation has been improved. (#48431)

Improper Operation errors after building liboraapi library on AIX

On AIX, building extended versions of the liboraapi library using the Makefile643 script resulted in problems with the resulting library triggering ImproperOperation errors, when executing any of the library's user actions. (#47213)

Oracle Informational messages treated as Errors

Oracle internal informational messages (such as warning of password expiration) are being treated as errors. (#46992)

Error on migrating GemConnect across GemStone/S 64 Bit versions

Migrating GemConnect across new releases of GemStone/S 64 Bit could have triggered a "method needs recompile" error at the end of GemConnect installation on the new release. (#46977)

SIGSEGV or C-level malloc( )/free( ) errors

Cases existing that could have caused SIGSEGV or C-level malloc( )/free( ) errors. (#47843)

Improvements in handling timeouts in multithreaded environment

When using GemConnect in a multi-threaded environment where one or more of the other threads are performing socket operations, there were rare failures of threads performing GemConnect user actions with an UncontinuableError. Some code changes have been made to reduce callbacks, further reducing the risk (#48479)