Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-4984

JdbcStringBasedStore with MySQL sets up column that uses case-insensitive comparisons for keys

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • None
    • None
    • None

      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):

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

      the following can be specified instead:

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

      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.

              remerson@redhat.com Ryan Emerson
              rhauch Randall Hauch (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: