]
Ryan Emerson updated ISPN-2082:
-------------------------------
Status: Pull Request Sent (was: Open)
Git Pull Request:
JdbcStringBasedCacheStore: ORA-24816 when storing BLOB values >
4000 bytes
--------------------------------------------------------------------------
Key: ISPN-2082
URL:
https://issues.jboss.org/browse/ISPN-2082
Project: Infinispan
Issue Type: Bug
Components: Loaders and Stores
Affects Versions: 5.1.5.FINAL
Environment: OS X 10.7.4, JDK 1.7.0u4
Reporter: Ryan Scharer
Assignee: Ryan Emerson
I've configured a JdbcStringBasedCacheStore with a VARCHAR(4000) key column and a
BLOB value column. If I try to store a BLOB value of less than 4000 bytes, everything
works fine. If the value is greater, the cache store fails with ORA-24816. This occurs
because the BLOB column is not the last one in the PreparedStatement SQL as the Oracle
driver requires. My current, sad workaround is to clone the JdbcStringBasedCacheStore
implementation and write my own insert/update SQL in storeLockSafe(). This works fine,
but obviously isn't ideal from an upgrade point of view. Simply overriding
storeLockSafe() isn't an option due to all the private fields.