[infinispan-issues] [JBoss JIRA] (ISPN-4984) JdbcStringBasedStore with MySQL sets up column that uses case-insensitive comparisons for keys

Randall Hauch (JIRA) issues at jboss.org
Fri Nov 14 12:19:29 EST 2014


Randall Hauch created ISPN-4984:
-----------------------------------

             Summary: JdbcStringBasedStore with MySQL sets up column that uses case-insensitive comparisons for keys
                 Key: ISPN-4984
                 URL: https://issues.jboss.org/browse/ISPN-4984
             Project: Infinispan
          Issue Type: Enhancement
            Reporter: Randall Hauch


By default MySQL performs case-insensitive comparisons. This results in a problem when Infinispan entries use Strings that are distinct only in case-sensitive ways, since by default Infinispan's JdbcStringBasedStore (and maybe JdbcBinaryCacheStore) use {{VARCHAR(255)}} for the default {{idColumn}} type.

This can of course be corrected in the Infinispan configuration. Rather than specifying this (which is equivalent to the default):

{code}
<idColumn name="ID_COLUMN" type="VARCHAR(255)"/>
{code}

the following can be specified instead:

{code}
<idColumn name="ID_COLUMN" type="VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci"/>
{code}

This will make MySQL perform case-sensitive comparisons and will work for all string keys.

This enhancement request asks that the Infinispan JDBC-based stores use this by default so that it works automatically for MySQL users.



--
This message was sent by Atlassian JIRA
(v6.3.8#6338)


More information about the infinispan-issues mailing list