Class BaseTableOperations<K,V>
- java.lang.Object
-
- org.infinispan.persistence.jdbc.common.sql.BaseTableOperations<K,V>
-
- All Implemented Interfaces:
TableOperations<K,V>
- Direct Known Subclasses:
AbstractSchemaJdbcStore.SchemaTableOperations
public abstract class BaseTableOperations<K,V> extends Object implements TableOperations<K,V>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
BaseTableOperations.FlowableConnection
protected class
BaseTableOperations.ResultSetEntryIterator
-
Field Summary
Fields Modifier and Type Field Description protected int
fetchSize
protected int
readQueryTimeout
protected int
writeQueryTimeout
-
Constructor Summary
Constructors Constructor Description BaseTableOperations(int fetchSize, int writeQueryTimeout, int readQueryTimeout)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
batchUpdates(Connection connection, int writePublisherCount, org.reactivestreams.Publisher<Object> removePublisher, org.reactivestreams.Publisher<NonBlockingStore.SegmentedPublisher<MarshallableEntry<K,V>>> writePublisher)
void
deleteAllRows(Connection connection)
boolean
deleteEntry(Connection connection, int segment, Object key)
protected abstract MarshallableEntry<K,V>
entryFromResultSet(ResultSet rs, Object keyIfProvided, boolean fetchValue, Predicate<? super K> keyPredicate)
abstract String
getDeleteAllSql()
abstract String
getDeleteRowSql()
abstract String
getSelectAllSql(IntSet segments)
abstract String
getSelectRowSql()
abstract String
getSizeSql()
abstract String
getUpsertRowSql()
MarshallableEntry<K,V>
loadEntry(Connection connection, int segment, Object key)
protected abstract void
prepareKeyStatement(PreparedStatement ps, Object key)
protected void
preparePublishStatement(PreparedStatement ps, IntSet segments)
protected void
prepareSizeStatement(PreparedStatement ps)
protected abstract void
prepareValueStatement(PreparedStatement ps, int segment, MarshallableEntry<? extends K,? extends V> entry)
io.reactivex.rxjava3.core.Flowable<MarshallableEntry<K,V>>
publishEntries(Supplier<Connection> connectionSupplier, Consumer<Connection> connectionCloser, IntSet segments, Predicate<? super K> filter, boolean fetchValue)
long
size(Connection connection)
void
upsertEntry(Connection connection, int segment, MarshallableEntry<? extends K,? extends V> entry)
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.infinispan.persistence.jdbc.common.TableOperations
publishKeys
-
-
-
-
Method Detail
-
getSelectRowSql
public abstract String getSelectRowSql()
-
getDeleteRowSql
public abstract String getDeleteRowSql()
-
getDeleteAllSql
public abstract String getDeleteAllSql()
-
getUpsertRowSql
public abstract String getUpsertRowSql()
-
getSizeSql
public abstract String getSizeSql()
-
entryFromResultSet
protected abstract MarshallableEntry<K,V> entryFromResultSet(ResultSet rs, Object keyIfProvided, boolean fetchValue, Predicate<? super K> keyPredicate) throws SQLException
- Throws:
SQLException
-
prepareKeyStatement
protected abstract void prepareKeyStatement(PreparedStatement ps, Object key) throws SQLException
- Throws:
SQLException
-
prepareValueStatement
protected abstract void prepareValueStatement(PreparedStatement ps, int segment, MarshallableEntry<? extends K,? extends V> entry) throws SQLException
- Throws:
SQLException
-
prepareSizeStatement
protected void prepareSizeStatement(PreparedStatement ps) throws SQLException
- Throws:
SQLException
-
preparePublishStatement
protected void preparePublishStatement(PreparedStatement ps, IntSet segments) throws SQLException
- Throws:
SQLException
-
loadEntry
public MarshallableEntry<K,V> loadEntry(Connection connection, int segment, Object key) throws SQLException
- Specified by:
loadEntry
in interfaceTableOperations<K,V>
- Throws:
SQLException
-
deleteEntry
public boolean deleteEntry(Connection connection, int segment, Object key) throws SQLException
- Specified by:
deleteEntry
in interfaceTableOperations<K,V>
- Throws:
SQLException
-
deleteAllRows
public void deleteAllRows(Connection connection) throws SQLException
- Specified by:
deleteAllRows
in interfaceTableOperations<K,V>
- Throws:
SQLException
-
upsertEntry
public void upsertEntry(Connection connection, int segment, MarshallableEntry<? extends K,? extends V> entry) throws SQLException
- Specified by:
upsertEntry
in interfaceTableOperations<K,V>
- Throws:
SQLException
-
size
public long size(Connection connection) throws SQLException
- Specified by:
size
in interfaceTableOperations<K,V>
- Throws:
SQLException
-
batchUpdates
public void batchUpdates(Connection connection, int writePublisherCount, org.reactivestreams.Publisher<Object> removePublisher, org.reactivestreams.Publisher<NonBlockingStore.SegmentedPublisher<MarshallableEntry<K,V>>> writePublisher) throws SQLException
- Specified by:
batchUpdates
in interfaceTableOperations<K,V>
- Throws:
SQLException
-
publishEntries
public io.reactivex.rxjava3.core.Flowable<MarshallableEntry<K,V>> publishEntries(Supplier<Connection> connectionSupplier, Consumer<Connection> connectionCloser, IntSet segments, Predicate<? super K> filter, boolean fetchValue)
- Specified by:
publishEntries
in interfaceTableOperations<K,V>
-
-