Bug 44775

GemConnect

2.2.3, 2.2.2, 2.2.1, 2.2, 2.1

All Platforms

2.3

Writing UTF8 CLOBS > 65K using default LONG/LONGRAW configuration can SIGSEGV

By default BLOBS/CLOBS in GemConnect are treated as Oracle LONG/LONGRAW datatypes, and are limited to the default textLimit size of 65532 bytes.  Attempting to write BLOBS/CLOBS larger than this should trigger a GemConnect #typeConversionError.

But when doing UTF8 conversion on a CLOB (connection charConversion flag set to #UTF8) writing instances of class String that include one or more characters with a value > 127, this will sometimes fail with a SIGSEGV.

Workaround

1.  Check the size of the CLOB before attempting the write.
2.  Use the alternative BLOB/CLOB API by setting the connection lobLimit > 0 to generate GsOracleCLOB instances and then calling #writeAll: to write the string to the Oracle CLOB.


Last updated: 11/5/14