Class AbstractTableManager<K,​V>

  • All Implemented Interfaces:
    org.infinispan.persistence.jdbc.common.TableOperations<K,​V>, TableManager<K,​V>

    public abstract class AbstractTableManager<K,​V>
    extends org.infinispan.persistence.jdbc.common.sql.BaseTableOperations<K,​V>
    implements TableManager<K,​V>
    Author:
    Ryan Emerson
    • Field Detail

      • ctx

        protected final org.infinispan.persistence.spi.InitializationContext ctx
      • connectionFactory

        protected final org.infinispan.persistence.jdbc.common.connectionfactory.ConnectionFactory connectionFactory
      • marshaller

        protected final org.infinispan.marshall.persistence.PersistenceMarshaller marshaller
      • marshallableEntryFactory

        protected final org.infinispan.persistence.spi.MarshallableEntryFactory<K,​V> marshallableEntryFactory
      • identifierQuoteString

        protected final String identifierQuoteString
      • dbMetadata

        protected final DbMetaData dbMetadata
      • dataTableName

        protected final TableName dataTableName
      • metaTableName

        protected final TableName metaTableName
      • key2StringMapper

        protected org.infinispan.persistence.keymappers.Key2StringMapper key2StringMapper
    • Method Detail

      • start

        public void start()
                   throws org.infinispan.persistence.spi.PersistenceException
        Specified by:
        start in interface TableManager<K,​V>
        Throws:
        org.infinispan.persistence.spi.PersistenceException
      • stop

        public void stop()
                  throws org.infinispan.persistence.spi.PersistenceException
        Specified by:
        stop in interface TableManager<K,​V>
        Throws:
        org.infinispan.persistence.spi.PersistenceException
      • createMetaTable

        public void createMetaTable​(Connection conn)
                             throws org.infinispan.persistence.spi.PersistenceException
        Specified by:
        createMetaTable in interface TableManager<K,​V>
        Throws:
        org.infinispan.persistence.spi.PersistenceException
      • updateMetaTable

        public void updateMetaTable​(Connection conn)
                             throws org.infinispan.persistence.spi.PersistenceException
        Description copied from interface: TableManager
        Write the latest metadata to the meta table.
        Specified by:
        updateMetaTable in interface TableManager<K,​V>
        Throws:
        org.infinispan.persistence.spi.PersistenceException
      • createDataTable

        public void createDataTable​(Connection conn)
                             throws org.infinispan.persistence.spi.PersistenceException
        Specified by:
        createDataTable in interface TableManager<K,​V>
        Throws:
        org.infinispan.persistence.spi.PersistenceException
      • indexExists

        protected boolean indexExists​(String indexName,
                                      Connection conn)
                               throws org.infinispan.persistence.spi.PersistenceException
        Throws:
        org.infinispan.persistence.spi.PersistenceException
      • executeUpdateSql

        public void executeUpdateSql​(Connection conn,
                                     String sql)
                              throws org.infinispan.persistence.spi.PersistenceException
        Throws:
        org.infinispan.persistence.spi.PersistenceException
      • dropDataTable

        public void dropDataTable​(Connection conn)
                           throws org.infinispan.persistence.spi.PersistenceException
        Specified by:
        dropDataTable in interface TableManager<K,​V>
        Throws:
        org.infinispan.persistence.spi.PersistenceException
      • dropMetaTable

        public void dropMetaTable​(Connection conn)
                           throws org.infinispan.persistence.spi.PersistenceException
        Specified by:
        dropMetaTable in interface TableManager<K,​V>
        Throws:
        org.infinispan.persistence.spi.PersistenceException
      • dropIndex

        protected void dropIndex​(Connection conn,
                                 String indexName)
                          throws org.infinispan.persistence.spi.PersistenceException
        Throws:
        org.infinispan.persistence.spi.PersistenceException
      • getDropTimestampSql

        protected String getDropTimestampSql​(String indexName)
      • getBatchSize

        public int getBatchSize()
      • getIndexName

        public String getIndexName​(boolean withIdentifier,
                                   String indexExt)
      • initInsertRowSql

        protected String initInsertRowSql()
      • getInsertRowSql

        public String getInsertRowSql()
      • initUpdateRowSql

        protected String initUpdateRowSql()
      • initSelectRowSql

        protected String initSelectRowSql()
      • getSelectRowSql

        public String getSelectRowSql()
        Specified by:
        getSelectRowSql in interface TableManager<K,​V>
        Specified by:
        getSelectRowSql in class org.infinispan.persistence.jdbc.common.sql.BaseTableOperations<K,​V>
      • initSelectIdRowSql

        protected String initSelectIdRowSql()
      • initCountNonExpiredRowsSql

        protected String initCountNonExpiredRowsSql()
      • initDeleteRowSql

        protected String initDeleteRowSql()
      • initDeleteRowWithExpirationSql

        protected String initDeleteRowWithExpirationSql()
      • getDeleteRowSql

        public String getDeleteRowSql()
        Specified by:
        getDeleteRowSql in class org.infinispan.persistence.jdbc.common.sql.BaseTableOperations<K,​V>
      • initLoadNonExpiredAllRowsSql

        protected String initLoadNonExpiredAllRowsSql()
      • getLoadNonExpiredRowsSqlForSegments

        public String getLoadNonExpiredRowsSqlForSegments​(int numSegments)
      • initLoadAllRowsSql

        protected String initLoadAllRowsSql()
      • initDeleteAllRowsSql

        protected String initDeleteAllRowsSql()
      • initSelectOnlyExpiredRowsSql

        protected String initSelectOnlyExpiredRowsSql()
      • initUpsertRowSql

        protected String initUpsertRowSql()
      • preparePublishStatement

        protected void preparePublishStatement​(PreparedStatement ps,
                                               org.infinispan.commons.util.IntSet segments)
                                        throws SQLException
        Overrides:
        preparePublishStatement in class org.infinispan.persistence.jdbc.common.sql.BaseTableOperations<K,​V>
        Throws:
        SQLException
      • key2Str

        protected String key2Str​(Object key)
                          throws org.infinispan.persistence.spi.PersistenceException
        Throws:
        org.infinispan.persistence.spi.PersistenceException
      • getSelectAllSql

        public String getSelectAllSql​(org.infinispan.commons.util.IntSet segments)
        Specified by:
        getSelectAllSql in class org.infinispan.persistence.jdbc.common.sql.BaseTableOperations<K,​V>
      • prepareKeyStatement

        protected void prepareKeyStatement​(PreparedStatement ps,
                                           Object key)
                                    throws SQLException
        Specified by:
        prepareKeyStatement in class org.infinispan.persistence.jdbc.common.sql.BaseTableOperations<K,​V>
        Throws:
        SQLException
      • entryFromResultSet

        protected org.infinispan.persistence.spi.MarshallableEntry<K,​V> entryFromResultSet​(ResultSet rs,
                                                                                                 Object keyIfPresent,
                                                                                                 boolean fetchValue,
                                                                                                 Predicate<? super K> keyPredicate)
                                                                                          throws SQLException
        Specified by:
        entryFromResultSet in class org.infinispan.persistence.jdbc.common.sql.BaseTableOperations<K,​V>
        Throws:
        SQLException
      • getDeleteAllSql

        public String getDeleteAllSql()
        Specified by:
        getDeleteAllSql in interface TableManager<K,​V>
        Specified by:
        getDeleteAllSql in class org.infinispan.persistence.jdbc.common.sql.BaseTableOperations<K,​V>
      • getUpsertRowSql

        public String getUpsertRowSql()
        Specified by:
        getUpsertRowSql in class org.infinispan.persistence.jdbc.common.sql.BaseTableOperations<K,​V>
      • getSizeSql

        public String getSizeSql()
        Specified by:
        getSizeSql in class org.infinispan.persistence.jdbc.common.sql.BaseTableOperations<K,​V>
      • upsertEntry

        public void upsertEntry​(Connection connection,
                                int segment,
                                org.infinispan.persistence.spi.MarshallableEntry<? extends K,​? extends V> entry)
                         throws SQLException
        Specified by:
        upsertEntry in interface org.infinispan.persistence.jdbc.common.TableOperations<K,​V>
        Overrides:
        upsertEntry in class org.infinispan.persistence.jdbc.common.sql.BaseTableOperations<K,​V>
        Throws:
        SQLException
      • prepareValueStatement

        protected final void prepareValueStatement​(PreparedStatement ps,
                                                   int segment,
                                                   org.infinispan.persistence.spi.MarshallableEntry<? extends K,​? extends V> entry)
                                            throws SQLException
        Specified by:
        prepareValueStatement in class org.infinispan.persistence.jdbc.common.sql.BaseTableOperations<K,​V>
        Throws:
        SQLException
      • prepareSizeStatement

        protected void prepareSizeStatement​(PreparedStatement ps)
                                     throws SQLException
        Overrides:
        prepareSizeStatement in class org.infinispan.persistence.jdbc.common.sql.BaseTableOperations<K,​V>
        Throws:
        SQLException