[
https://jira.jboss.org/browse/ISPN-686?page=com.atlassian.jira.plugin.sys...
] 
Sanne Grinovero commented on ISPN-686:
--------------------------------------
Instead of using "ON DUPLICATE KEY UPDATE" I'm now using MySQL's other
proprietary extension: "REPLACE". In case people wished to use MyISAM engine,
they could even use "REPLACE DELAYED" which seems to nicely fit the requirements
for this.
To use these I had to implement a new custom CacheStore extending
JdbcStringBasedCacheStore; I could contribute this if there's interest, but I think
there would be more value in fixing the existing JdbcStringBasedCacheStore and letting
users override the full SQL statement, or plug this logic in the existing database
autodetect: I guess other RDBMS could have similar tricks to use.
 JdbcStringBasedCacheStore loads previous data from store before an
insert
 -------------------------------------------------------------------------
                 Key: ISPN-686
                 URL: 
https://jira.jboss.org/browse/ISPN-686
             Project: Infinispan
          Issue Type: Bug
          Components: Loaders and Stores
    Affects Versions: 4.0.0.Final, 4.1.0.Final, 4.2.0.ALPHA2
            Reporter: Sanne Grinovero
            Assignee: Mircea Markus
             Fix For: 4.2.0.BETA1, 4.2.0.Final, 5.0.0.Final
 The JdbcStringBasedCacheStore implementation loads the previous data on an insert to find
out if it should generate an UPDATE or INSERT statement, while it would perform much
better to just verify if the primary key exists.
 On top of this, some databases provide ways to avoid the need to check at all, like
MySQL's " INSERT ... ON DUPLICATE KEY UPDATE"
 [
http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html] 
-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: 
http://www.atlassian.com/software/jira