Class DerbyConnector
java.lang.Object
org.apache.druid.metadata.SQLMetadataConnector
org.apache.druid.metadata.storage.derby.DerbyConnector
- All Implemented Interfaces:
MetadataStorageConnector
-
Field Summary
Fields inherited from interface org.apache.druid.metadata.MetadataStorageConnector
CONFIG_TABLE_KEY_COLUMN, CONFIG_TABLE_VALUE_COLUMN -
Constructor Summary
ConstructorsConstructorDescriptionDerbyConnector(MetadataStorage storage, com.google.common.base.Supplier<MetadataStorageConnectorConfig> config, com.google.common.base.Supplier<MetadataStorageTablesConfig> dbTables, CentralizedDatasourceSchemaConfig centralizedDatasourceSchemaConfig) DerbyConnector(MetadataStorage storage, com.google.common.base.Supplier<MetadataStorageConnectorConfig> config, com.google.common.base.Supplier<MetadataStorageTablesConfig> dbTables, org.skife.jdbi.v2.DBI dbi, CentralizedDatasourceSchemaConfig centralizedDatasourceSchemaConfig) -
Method Summary
Modifier and TypeMethodDescriptionvoidexportTable(String tableName, String outputPath) org.skife.jdbi.v2.DBIgetDBI()getIndexInfo(DatabaseMetaData databaseMetaData, String tableName) Get the ResultSet for indexInfo for given tableAuto-incrementing integer SQL type to use for IDs.intReturns 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.limitClause(int limit) voidstart()voidstop()booleantableExists(org.skife.jdbi.v2.Handle handle, String tableName) booleantableHasColumn(String tableName, String columnName) Interrogate table metadata and return true or false depending on the existance of the indicated column public visibility because DerbyConnector needs to override thanks to uppercase table and column names.Methods inherited from class org.apache.druid.metadata.SQLMetadataConnector
alterSegmentTable, compareAndSwap, connectorIsTransientException, createAuditTable, createConfigTable, createConfigTable, createDataSourceTable, createDataSourceTable, createEntryTable, createIndex, createLockTable, createPendingSegmentsTable, createPendingSegmentsTable, createRulesTable, createRulesTable, createSegmentSchemasTable, createSegmentSchemaTable, createSegmentTable, createSegmentTable, createSupervisorsTable, createSupervisorsTable, createTable, createTaskTables, createUpgradeSegmentsTable, deleteAllRecords, getCollation, getConfig, getDatasource, getIndexOnTable, getPayloadType, inReadOnlyTransaction, insertOrUpdate, isRootCausePacketTooBigException, isTransientException, lookup, lookupWithHandle, makeDatasource, prepareTaskEntryTable, retryReadOnlyTransaction, retryTransaction, retryWithHandle, retryWithHandle
-
Constructor Details
-
DerbyConnector
@Inject public DerbyConnector(MetadataStorage storage, com.google.common.base.Supplier<MetadataStorageConnectorConfig> config, com.google.common.base.Supplier<MetadataStorageTablesConfig> dbTables, CentralizedDatasourceSchemaConfig centralizedDatasourceSchemaConfig) -
DerbyConnector
public DerbyConnector(MetadataStorage storage, com.google.common.base.Supplier<MetadataStorageConnectorConfig> config, com.google.common.base.Supplier<MetadataStorageTablesConfig> dbTables, org.skife.jdbi.v2.DBI dbi, CentralizedDatasourceSchemaConfig centralizedDatasourceSchemaConfig)
-
-
Method Details
-
tableExists
- Specified by:
tableExistsin classSQLMetadataConnector
-
getSerialType
Description copied from class:SQLMetadataConnectorAuto-incrementing integer SQL type to use for IDs. The returned string is interpolated into the table creation statement as follows:CREATE TABLE druid_table ( id <serial-type> NOT NULL, col_2 VARCHAR(255) NOT NULL, col_3 VARCHAR(255) NOT NULL ... )
- Specified by:
getSerialTypein classSQLMetadataConnector- Returns:
- String representing auto-incrementing SQL integer type to use for IDs.
-
getQuoteString
- Specified by:
getQuoteStringin classSQLMetadataConnector- Returns:
- the string that should be used to quote string fields
-
getDBI
public org.skife.jdbi.v2.DBI getDBI()- Specified by:
getDBIin classSQLMetadataConnector
-
getStreamingFetchSize
public int getStreamingFetchSize()Description copied from class:SQLMetadataConnectorReturns 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.- Specified by:
getStreamingFetchSizein classSQLMetadataConnector- Returns:
- optimal fetch size to stream results back
-
getValidationQuery
- Overrides:
getValidationQueryin classSQLMetadataConnector
-
limitClause
- Specified by:
limitClausein classSQLMetadataConnector
-
exportTable
-
getIndexInfo
public ResultSet getIndexInfo(DatabaseMetaData databaseMetaData, String tableName) throws SQLException Get the ResultSet for indexInfo for given table- Overrides:
getIndexInfoin classSQLMetadataConnector- Parameters:
databaseMetaData- DatabaseMetaDatatableName- Name of table- Returns:
- ResultSet with index info
- Throws:
SQLException
-
tableHasColumn
Interrogate table metadata and return true or false depending on the existance of the indicated column public visibility because DerbyConnector needs to override thanks to uppercase table and column names.- Overrides:
tableHasColumnin classSQLMetadataConnector- Parameters:
tableName- The table being interrogatedcolumnName- The column being looked for- Returns:
- boolean indicating the existence of the column in question
-
start
public void start() -
stop
public void stop()
-