public abstract class DBSpecifics extends SettingsFactory<DBSpecifics>
The actual actual implementation which is loaded is defined by the CommonSettings.DB_SPECIFICS_CLASS
setting.
See the sub class list for available implementations
Constructor and Description |
---|
DBSpecifics() |
Modifier and Type | Method and Description |
---|---|
protected abstract void |
createExtendedFieldTable()
Create the extendedfield table in the database.
|
protected abstract void |
createExtendedFieldTypeTable()
Create the extendedfieldtype table in the database.
|
protected abstract void |
createExtendedFieldValueTable()
Create the extendedfieldvalue table in the database.
|
abstract void |
createFrontierReportMonitorTable()
Create the frontierReportMonitor table in the database.
|
protected abstract void |
createGlobalCrawlerTrapExpressions()
Creates the initial (version 1) of table 'global_crawler_trap_expressions'.
|
protected abstract void |
createGlobalCrawlerTrapLists()
Creates the initial (version 1) of table 'global_crawler_trap_lists'.
|
protected abstract void |
createHarvestChannelTable() |
abstract void |
createRunningJobsHistoryTable()
Create the frontierReportMonitor table in the database.
|
abstract void |
createRunningJobsMonitorTable()
Create the frontierReportMonitor table in the database.
|
abstract void |
dropJobConfigsTmpTable(Connection c,
String tableName)
Dispose of a temporary table gotten with getTemporaryTable.
|
abstract String |
getDriverClassName()
Get the name of the JDBC driver class that handles interfacing to this server.
|
static DBSpecifics |
getInstance()
Get the singleton instance of the DBSpecifics implementation class.
|
abstract String |
getJobConfigsTmpTable(Connection c)
Get a temporary table for short-time use.
|
abstract String |
getOrderByLimitAndOffsetSubClause(long limit,
long offset)
Formats the LIMIT sub-clause of an SQL order clause.
|
protected abstract void |
migrateConfigurationsv3ov4()
Migrates the 'configurations' table from version 3 to version 4.
|
protected abstract void |
migrateConfigurationsv4tov5()
Migrates the 'configurations' table from version 4 to version 5.
|
protected abstract void |
migrateDomainsv2tov3()
Migrates the 'domains' table from version 2 to version 3.
|
protected abstract void |
migrateExtendedFieldTableV1toV2()
Migrates the 'ExtendedFieldTable' from version 1 to version 2 consisting of adding the maxlen field
|
protected abstract void |
migrateExtendedFieldTableValueV1toV2()
Migrates the 'ExtendedFieldValueTable' from version 1 to version 2 changing the maxlen of content to 30000
|
protected abstract void |
migrateFullharvestsv2tov3()
Migrates the 'fullharvests' table from version 2 to version 3.
|
protected abstract void |
migrateFullharvestsv3tov4()
Migrates the 'fullharvests' table from version 3 to version 4.
|
protected abstract void |
migrateFullharvestsv4tov5()
Migrates the 'fullharvests' table from version 4 to version 5.
|
protected abstract void |
migrateHarvestdefinitionsv2tov3()
Migrates the 'harvestdefinitions' table from version 2 to version 3 consisting of adding the string audience with
null as default.
|
protected abstract void |
migrateHarvestdefinitionsv3tov4()
Migrates the 'harvestdefinitions' table from version 3 to version 4 consisting of adding the bigint channel_id
field.
|
protected abstract void |
migrateJobsv3tov4()
Migrates the 'jobs' table from version 3 to version 4 consisting of a change of the field forcemaxbytes from int
to bigint and setting its default to -1.
|
protected abstract void |
migrateJobsv4tov5()
Migrates the 'jobs' table from version 4 to version 5 consisting of adding new fields 'resubmitted_as_job' and
'submittedDate'.
|
protected abstract void |
migrateJobsv5tov6()
Migrates the 'jobs' table from version 5 to version 6.
|
protected abstract void |
migrateJobsv6tov7()
Migrates the 'jobs' table from version 6 to version 7 consisting of adding the bigint fieldcontinuationof with
null as default.
|
protected abstract void |
migrateJobsv7tov8()
Migrates the 'jobs' table from version 7 to version 8 consisting of adding the date creationdate with null as
default.
|
protected abstract void |
migrateJobsv8tov9()
Migrates the 'jobs' table from version 8 to version 9 consisting of adding the string harvestname_prefix with
null as default.
|
protected abstract void |
migrateJobsv9tov10()
Migrates the 'jobs' table from version 9 to version 10 consisting of adding the channel (varchar 300) and a
'snapshot'
|
protected abstract void |
migrateRunningJobsHistoryTableV1ToV2()
Migrates the 'runningjobshistory' table from version 1 to version 2.
|
protected abstract void |
migrateRunningJobsMonitorTableV1ToV2()
Migrates the 'runningjobsmonitor' table from version 1 to version 2.
|
abstract boolean |
supportsClob()
Returns true if the target RDBMS supports CLOBs.
|
void |
updateTable(String tableName,
int toVersion)
Update a table to a newer version, if necessary.
|
void |
updateTables()
Update all tables in the enum class
HarvesterDatabaseTables to the required version. |
getInstance
public DBSpecifics()
public static DBSpecifics getInstance()
public abstract String getJobConfigsTmpTable(Connection c) throws SQLException
c
- The DB connection to use.SQLException
- if there is a problem getting the table.public abstract void dropJobConfigsTmpTable(Connection c, String tableName)
c
- The DB connection to use.tableName
- The name of the temporarily created table.public abstract String getDriverClassName()
public void updateTable(String tableName, int toVersion)
tableName
- The table to updatetoVersion
- The version to update the table to.IllegalState
- If the table is an unsupported version, and the toVersion is less than the current version
of the tableNotImplementedException
- If no method exists for migration from current version of the table to the
toVersion of the table.IOFailure
- in case of problems in interacting with the databaseprotected abstract void createHarvestChannelTable()
protected abstract void migrateJobsv3tov4()
IOFailure
- in case of problems in interacting with the databaseprotected abstract void migrateJobsv4tov5()
IOFailure
- in case of problems in interacting with the databaseprotected abstract void migrateConfigurationsv3ov4()
protected abstract void migrateFullharvestsv2tov3()
protected abstract void migrateRunningJobsHistoryTableV1ToV2()
protected abstract void migrateRunningJobsMonitorTableV1ToV2()
protected abstract void migrateDomainsv2tov3()
protected abstract void createGlobalCrawlerTrapLists()
protected abstract void createGlobalCrawlerTrapExpressions()
public abstract String getOrderByLimitAndOffsetSubClause(long limit, long offset)
limit
- the maximum number of rows to fetch.offset
- the starting offset in the full query results.public abstract boolean supportsClob()
public abstract void createFrontierReportMonitorTable()
public abstract void createRunningJobsHistoryTable()
public abstract void createRunningJobsMonitorTable()
protected abstract void migrateJobsv5tov6()
IOFailure
- in case of problems in interacting with the databaseprotected abstract void migrateConfigurationsv4tov5()
protected abstract void migrateFullharvestsv3tov4()
protected abstract void migrateFullharvestsv4tov5()
protected abstract void createExtendedFieldTypeTable()
protected abstract void createExtendedFieldTable()
protected abstract void createExtendedFieldValueTable()
protected abstract void migrateJobsv6tov7()
protected abstract void migrateJobsv7tov8()
protected abstract void migrateJobsv8tov9()
protected abstract void migrateHarvestdefinitionsv2tov3()
protected abstract void migrateHarvestdefinitionsv3tov4()
protected abstract void migrateJobsv9tov10()
protected abstract void migrateExtendedFieldTableV1toV2()
protected abstract void migrateExtendedFieldTableValueV1toV2()
public void updateTables()
HarvesterDatabaseTables
to the required version. There is no attempt
to undo the update.Copyright © 2005–2015 The Royal Danish Library, the Danish State and University Library, the National Library of France and the Austrian National Library.. All rights reserved.