public abstract class SQLMetadataConnector extends Object implements MetadataStorageConnector
CONFIG_TABLE_KEY_COLUMN, CONFIG_TABLE_VALUE_COLUMN| Constructor and Description | 
|---|
SQLMetadataConnector(com.google.common.base.Supplier<MetadataStorageConnectorConfig> config,
                    com.google.common.base.Supplier<MetadataStorageTablesConfig> tablesConfigSupplier)  | 
| Modifier and Type | Method and Description | 
|---|---|
boolean | 
compareAndSwap(List<MetadataCASUpdate> updates)
Atomic compare-and-swap variant of insertOrUpdate(). 
 | 
protected boolean | 
connectorIsTransientException(Throwable e)  | 
void | 
createAuditTable()  | 
void | 
createConfigTable()  | 
void | 
createConfigTable(String tableName)  | 
void | 
createDataSourceTable()  | 
void | 
createDataSourceTable(String tableName)  | 
void | 
createEntryTable(String tableName)  | 
void | 
createLockTable(String tableName,
               String entryTypeName)  | 
void | 
createLogTable(String tableName,
              String entryTypeName)  | 
void | 
createPendingSegmentsTable()  | 
void | 
createPendingSegmentsTable(String tableName)  | 
void | 
createRulesTable()  | 
void | 
createRulesTable(String tableName)  | 
void | 
createSegmentTable()  | 
void | 
createSegmentTable(String tableName)  | 
void | 
createSupervisorsTable()  | 
void | 
createSupervisorsTable(String tableName)  | 
void | 
createTable(String tableName,
           Iterable<String> sql)  | 
void | 
createTaskTables()  | 
void | 
deleteAllRecords(String tableName)  | 
MetadataStorageConnectorConfig | 
getConfig()  | 
protected org.apache.commons.dbcp2.BasicDataSource | 
getDatasource()  | 
abstract org.skife.jdbi.v2.DBI | 
getDBI()  | 
protected String | 
getPayloadType()
SQL type to use for payload data (e.g. 
 | 
abstract String | 
getQuoteString()  | 
protected abstract String | 
getSerialType()
Auto-incrementing SQL type to use for IDs
 Must be an integer type, which values will be automatically set by the database
 
 The resulting string will be interpolated into the table creation statement, e.g. 
 | 
protected abstract int | 
getStreamingFetchSize()
Returns the value that should be passed to statement.setFetchSize to ensure results
 are streamed back from the database instead of fetching the entire result set in memory. 
 | 
String | 
getValidationQuery()  | 
protected <T> T | 
inReadOnlyTransaction(org.skife.jdbi.v2.TransactionCallback<T> callback)  | 
Void | 
insertOrUpdate(String tableName,
              String keyColumn,
              String valueColumn,
              String key,
              byte[] value)  | 
boolean | 
isTransientException(Throwable e)  | 
byte[] | 
lookup(String tableName,
      String keyColumn,
      String valueColumn,
      String key)  | 
byte[] | 
lookupWithHandle(org.skife.jdbi.v2.Handle handle,
                String tableName,
                String keyColumn,
                String valueColumn,
                String key)  | 
<T> T | 
retryTransaction(org.skife.jdbi.v2.TransactionCallback<T> callback,
                int quietTries,
                int maxTries)  | 
<T> T | 
retryWithHandle(org.skife.jdbi.v2.tweak.HandleCallback<T> callback)  | 
<T> T | 
retryWithHandle(org.skife.jdbi.v2.tweak.HandleCallback<T> callback,
               com.google.common.base.Predicate<Throwable> myShouldRetry)  | 
abstract boolean | 
tableExists(org.skife.jdbi.v2.Handle handle,
           String tableName)  | 
public SQLMetadataConnector(com.google.common.base.Supplier<MetadataStorageConnectorConfig> config, com.google.common.base.Supplier<MetadataStorageTablesConfig> tablesConfigSupplier)
protected String getPayloadType()
CREATE TABLE druid_table ( payload  NOT NULL, ... ) protected abstract String getSerialType()
CREATE TABLE druid_table ( id  NOT NULL, ... ) protected abstract int getStreamingFetchSize()
public abstract String getQuoteString()
public String getValidationQuery()
public abstract boolean tableExists(org.skife.jdbi.v2.Handle handle,
                                    String tableName)
public <T> T retryWithHandle(org.skife.jdbi.v2.tweak.HandleCallback<T> callback,
                             com.google.common.base.Predicate<Throwable> myShouldRetry)
public <T> T retryWithHandle(org.skife.jdbi.v2.tweak.HandleCallback<T> callback)
public <T> T retryTransaction(org.skife.jdbi.v2.TransactionCallback<T> callback,
                              int quietTries,
                              int maxTries)
public final boolean isTransientException(Throwable e)
protected boolean connectorIsTransientException(Throwable e)
public void createPendingSegmentsTable(String tableName)
public void createDataSourceTable(String tableName)
public void createSegmentTable(String tableName)
public void createRulesTable(String tableName)
public void createConfigTable(String tableName)
public void createEntryTable(String tableName)
public void createSupervisorsTable(String tableName)
public Void insertOrUpdate(String tableName, String keyColumn, String valueColumn, String key, byte[] value) throws Exception
insertOrUpdate in interface MetadataStorageConnectorExceptionpublic boolean compareAndSwap(List<MetadataCASUpdate> updates) throws Exception
MetadataStorageConnectorcompareAndSwap in interface MetadataStorageConnectorupdates - Set of updates to be made. If compare checks succeed for all updates, perform all updates.
                If any compare check fails, reject all updates.Exceptionpublic abstract org.skife.jdbi.v2.DBI getDBI()
public void createDataSourceTable()
createDataSourceTable in interface MetadataStorageConnectorpublic void createPendingSegmentsTable()
createPendingSegmentsTable in interface MetadataStorageConnectorpublic void createSegmentTable()
createSegmentTable in interface MetadataStorageConnectorpublic void createRulesTable()
createRulesTable in interface MetadataStorageConnectorpublic void createConfigTable()
createConfigTable in interface MetadataStorageConnectorpublic void createTaskTables()
createTaskTables in interface MetadataStorageConnectorpublic void createSupervisorsTable()
createSupervisorsTable in interface MetadataStorageConnectorpublic byte[] lookup(String tableName, String keyColumn, String valueColumn, String key)
lookup in interface MetadataStorageConnectorpublic byte[] lookupWithHandle(org.skife.jdbi.v2.Handle handle,
                               String tableName,
                               String keyColumn,
                               String valueColumn,
                               String key)
public MetadataStorageConnectorConfig getConfig()
protected org.apache.commons.dbcp2.BasicDataSource getDatasource()
protected final <T> T inReadOnlyTransaction(org.skife.jdbi.v2.TransactionCallback<T> callback)
public void createAuditTable()
createAuditTable in interface MetadataStorageConnectorpublic void deleteAllRecords(String tableName)
deleteAllRecords in interface MetadataStorageConnectorCopyright © 2011–2018. All rights reserved.