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

New JDBC CacheStore implementation w/ more flexible vendor-specific extension and binary key column support

    XMLWordPrintable

Details

    Description

      The current JDBC CacheStore implementation has the following shortcomings:

      • poor support for vendor specific queries (e.g. MySQL's replace into)
      • complex configuration is required to support the key types that cannot be converted to a String easily.

      To address this issue:

      • Introduce a single unified JDBC CacheStore implementation.
      • Support an arbitrary key type as long as it can be serialized via Marshaller.
      • Support both text and binary key.
      • Encode the binary key into a text key using an efficient text encoding if the target database doesn't support binary key column.
      • Provide much more flexibility in supporting vendor specific extensions. Let the user extend our CacheStore implementation and override the DB access (no more TableManipulation).

      Once implemented, the existing JDBC CacheStore could be deprecated.

      Configuring this would be, for example, GenericJdbcCacheStore which would have no vendor-specific optimisations, and MySqlJdbcCacheStore (subclasses GenericJdbcCacheStore) which would contain MySQL specific optimisations, etc.

      Attachments

        Issue Links

          Activity

            People

              remerson@redhat.com Ryan Emerson
              trustin_jira Trustin Lee (Inactive)
              Votes:
              1 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: