public abstract class BaseDB
extends Object
implements com.liferay.portal.kernel.dao.db.DB
| Modifier and Type | Field and Description |
|---|---|
protected static String |
ALTER_COLUMN_NAME |
protected static String |
ALTER_COLUMN_TYPE |
protected static String |
ALTER_TABLE_NAME |
protected static Pattern |
columnTypePattern |
protected static String |
CREATE_TABLE |
protected static String |
DROP_INDEX |
protected static String |
DROP_PRIMARY_KEY |
protected static String[] |
RENAME_TABLE_TEMPLATE |
protected static String[] |
REWORD_TEMPLATE |
protected static int[] |
SQL_VARCHAR_TYPES |
protected static String[] |
TEMPLATE |
| Modifier | Constructor and Description |
|---|---|
protected |
BaseDB(com.liferay.portal.kernel.dao.db.DBType dbType,
int majorVersion,
int minorVersion) |
| Modifier and Type | Method and Description |
|---|---|
void |
addIndexes(Connection connection,
List<com.liferay.portal.kernel.dao.db.IndexMetadata> indexMetadatas) |
protected void |
addPrimaryKey(Connection connection,
String tableName,
String[] columnNames) |
void |
alterColumnName(Connection connection,
String tableName,
String oldColumnName,
String newColumnDefinition) |
void |
alterColumnType(Connection connection,
String tableName,
String columnName,
String newColumnType) |
void |
alterTableAddColumn(Connection connection,
String tableName,
String columnName,
String columnType) |
void |
alterTableDropColumn(Connection connection,
String tableName,
String columnName) |
protected String[] |
buildColumnNameTokens(String line) |
protected String[] |
buildColumnTypeTokens(String line) |
abstract String |
buildSQL(String template) |
protected String[] |
buildTableNameTokens(String line) |
void |
copyTableRows(Connection connection,
String sourceTableName,
String targetTableName,
Map<String,String> columnNamesMap) |
void |
copyTableStructure(Connection connection,
String tableName,
String newTableName) |
protected void |
createSyncDeleteTrigger(Connection connection,
String sourceTableName,
String targetTableName,
String triggerName,
String[] sourcePrimaryKeyColumnNames,
String[] targetPrimaryKeyColumnNames) |
protected void |
createSyncInsertTrigger(Connection connection,
String sourceTableName,
String targetTableName,
String triggerName,
String[] sourceColumnNames,
String[] targetColumnNames,
String[] sourcePrimaryKeyColumnNames,
String[] targetPrimaryKeyColumnNames) |
protected void |
createSyncUpdateTrigger(Connection connection,
String sourceTableName,
String targetTableName,
String triggerName,
String[] sourceColumnNames,
String[] targetColumnNames,
String[] sourcePrimaryKeyColumnNames,
String[] targetPrimaryKeyColumnNames) |
List<com.liferay.portal.kernel.dao.db.IndexMetadata> |
dropIndexes(Connection connection,
String tableName,
String columnName) |
protected Set<String> |
dropIndexes(Connection connection,
String tablesSQL,
String indexesSQL,
List<com.liferay.portal.kernel.dao.db.Index> indexes) |
protected void |
dropTrigger(Connection connection,
String tableName,
String triggerName) |
protected String |
getCopyTableStructureSQL(String tableName,
String newTableName) |
com.liferay.portal.kernel.dao.db.DBType |
getDBType() |
String |
getDefaultValue(String columnDef) |
List<com.liferay.portal.kernel.dao.db.Index> |
getIndexes(Connection connection) |
protected List<com.liferay.portal.kernel.dao.db.IndexMetadata> |
getIndexes(Connection connection,
String tableName,
String columnName,
boolean onlyUnique) |
ResultSet |
getIndexResultSet(Connection connection,
String tableName) |
int |
getMajorVersion() |
int |
getMinorVersion() |
String[] |
getPrimaryKeyColumnNames(Connection connection,
String tableName) |
Integer |
getSQLType(String templateType) |
protected abstract int[] |
getSQLTypes() |
Integer |
getSQLVarcharSize(String templateType) |
protected int[] |
getSQLVarcharSizes() |
protected abstract String[] |
getTemplate() |
String |
getTemplateBlob() |
String |
getTemplateFalse() |
String |
getTemplateTrue() |
String |
getVersionString() |
boolean |
isSupportsAlterColumnName() |
boolean |
isSupportsAlterColumnType() |
protected boolean |
isSupportsDuplicatedIndexName() |
boolean |
isSupportsInlineDistinct() |
boolean |
isSupportsQueryingAfterException() |
boolean |
isSupportsScrollableResults() |
boolean |
isSupportsStringCaseSensitiveQuery() |
boolean |
isSupportsUpdateWithInnerJoin() |
protected String |
limitColumnLength(String column,
int length) |
void |
process(com.liferay.petra.function.UnsafeConsumer<Long,Exception> unsafeConsumer) |
void |
removePrimaryKey(Connection connection,
String tableName) |
protected String |
replaceTemplate(String template) |
protected abstract String |
reword(String data) |
void |
runSQL(Connection connection,
String sql) |
void |
runSQL(Connection connection,
String[] sqls) |
void |
runSQL(String sql) |
void |
runSQL(String[] sqls) |
void |
runSQLTemplateString(Connection connection,
String template,
boolean failOnError) |
void |
runSQLTemplateString(String template,
boolean failOnError) |
void |
setSupportsStringCaseSensitiveQuery(boolean supportsStringCaseSensitiveQuery) |
AutoCloseable |
syncTables(Connection connection,
String sourceTableName,
String targetTableName,
Map<String,String> columnNamesMap) |
void |
updateIndexes(Connection connection,
String tablesSQL,
String indexesSQL,
boolean dropIndexes) |
protected static final String ALTER_COLUMN_NAME
protected static final String ALTER_COLUMN_TYPE
protected static final String ALTER_TABLE_NAME
protected static final String CREATE_TABLE
protected static final String DROP_INDEX
protected static final String DROP_PRIMARY_KEY
protected static final String[] RENAME_TABLE_TEMPLATE
protected static final String[] REWORD_TEMPLATE
protected static final int[] SQL_VARCHAR_TYPES
protected static final String[] TEMPLATE
protected static final Pattern columnTypePattern
protected BaseDB(com.liferay.portal.kernel.dao.db.DBType dbType,
int majorVersion,
int minorVersion)
public void addIndexes(Connection connection,
List<com.liferay.portal.kernel.dao.db.IndexMetadata> indexMetadatas)
throws IOException,
SQLException
addIndexes in interface com.liferay.portal.kernel.dao.db.DBIOExceptionSQLExceptionpublic void alterColumnName(Connection connection,
String tableName,
String oldColumnName,
String newColumnDefinition)
throws Exception
alterColumnName in interface com.liferay.portal.kernel.dao.db.DBExceptionpublic void alterColumnType(Connection connection,
String tableName,
String columnName,
String newColumnType)
throws Exception
alterColumnType in interface com.liferay.portal.kernel.dao.db.DBExceptionpublic void alterTableAddColumn(Connection connection,
String tableName,
String columnName,
String columnType)
throws Exception
alterTableAddColumn in interface com.liferay.portal.kernel.dao.db.DBExceptionpublic void alterTableDropColumn(Connection connection,
String tableName,
String columnName)
throws Exception
alterTableDropColumn in interface com.liferay.portal.kernel.dao.db.DBExceptionpublic abstract String buildSQL(String template)
throws IOException,
SQLException
buildSQL in interface com.liferay.portal.kernel.dao.db.DBIOExceptionSQLExceptionpublic void copyTableRows(Connection connection,
String sourceTableName,
String targetTableName,
Map<String,String> columnNamesMap)
throws Exception
copyTableRows in interface com.liferay.portal.kernel.dao.db.DBExceptionpublic void copyTableStructure(Connection connection,
String tableName,
String newTableName)
throws Exception
copyTableStructure in interface com.liferay.portal.kernel.dao.db.DBExceptionpublic List<com.liferay.portal.kernel.dao.db.IndexMetadata> dropIndexes(Connection connection,
String tableName,
String columnName)
throws IOException,
SQLException
dropIndexes in interface com.liferay.portal.kernel.dao.db.DBIOExceptionSQLExceptionpublic com.liferay.portal.kernel.dao.db.DBType getDBType()
getDBType in interface com.liferay.portal.kernel.dao.db.DBpublic String getDefaultValue(String columnDef)
getDefaultValue in interface com.liferay.portal.kernel.dao.db.DBpublic List<com.liferay.portal.kernel.dao.db.Index> getIndexes(Connection connection)
throws SQLException
getIndexes in interface com.liferay.portal.kernel.dao.db.DBSQLExceptionpublic ResultSet getIndexResultSet(Connection connection,
String tableName)
throws SQLException
getIndexResultSet in interface com.liferay.portal.kernel.dao.db.DBSQLExceptionpublic int getMajorVersion()
getMajorVersion in interface com.liferay.portal.kernel.dao.db.DBpublic int getMinorVersion()
getMinorVersion in interface com.liferay.portal.kernel.dao.db.DBpublic String[] getPrimaryKeyColumnNames(Connection connection,
String tableName)
throws SQLException
getPrimaryKeyColumnNames in interface com.liferay.portal.kernel.dao.db.DBSQLExceptionpublic Integer getSQLType(String templateType)
getSQLType in interface com.liferay.portal.kernel.dao.db.DBpublic Integer getSQLVarcharSize(String templateType)
getSQLVarcharSize in interface com.liferay.portal.kernel.dao.db.DBpublic String getTemplateBlob()
getTemplateBlob in interface com.liferay.portal.kernel.dao.db.DBpublic String getTemplateFalse()
getTemplateFalse in interface com.liferay.portal.kernel.dao.db.DBpublic String getTemplateTrue()
getTemplateTrue in interface com.liferay.portal.kernel.dao.db.DBpublic String getVersionString()
getVersionString in interface com.liferay.portal.kernel.dao.db.DBpublic boolean isSupportsAlterColumnName()
isSupportsAlterColumnName in interface com.liferay.portal.kernel.dao.db.DBpublic boolean isSupportsAlterColumnType()
isSupportsAlterColumnType in interface com.liferay.portal.kernel.dao.db.DBpublic boolean isSupportsInlineDistinct()
isSupportsInlineDistinct in interface com.liferay.portal.kernel.dao.db.DBpublic boolean isSupportsQueryingAfterException()
isSupportsQueryingAfterException in interface com.liferay.portal.kernel.dao.db.DBpublic boolean isSupportsScrollableResults()
isSupportsScrollableResults in interface com.liferay.portal.kernel.dao.db.DBpublic boolean isSupportsStringCaseSensitiveQuery()
isSupportsStringCaseSensitiveQuery in interface com.liferay.portal.kernel.dao.db.DBpublic boolean isSupportsUpdateWithInnerJoin()
isSupportsUpdateWithInnerJoin in interface com.liferay.portal.kernel.dao.db.DBpublic void process(com.liferay.petra.function.UnsafeConsumer<Long,Exception> unsafeConsumer)
throws Exception
process in interface com.liferay.portal.kernel.dao.db.DBExceptionpublic void removePrimaryKey(Connection connection,
String tableName)
throws Exception
removePrimaryKey in interface com.liferay.portal.kernel.dao.db.DBExceptionpublic void runSQL(Connection connection,
String sql)
throws IOException,
SQLException
runSQL in interface com.liferay.portal.kernel.dao.db.DBIOExceptionSQLExceptionpublic void runSQL(Connection connection,
String[] sqls)
throws IOException,
SQLException
runSQL in interface com.liferay.portal.kernel.dao.db.DBIOExceptionSQLExceptionpublic void runSQL(String sql)
throws IOException,
SQLException
runSQL in interface com.liferay.portal.kernel.dao.db.DBIOExceptionSQLExceptionpublic void runSQL(String[] sqls)
throws IOException,
SQLException
runSQL in interface com.liferay.portal.kernel.dao.db.DBIOExceptionSQLExceptionpublic void runSQLTemplateString(Connection connection,
String template,
boolean failOnError)
throws IOException,
javax.naming.NamingException,
SQLException
runSQLTemplateString in interface com.liferay.portal.kernel.dao.db.DBIOExceptionjavax.naming.NamingExceptionSQLExceptionpublic void runSQLTemplateString(String template,
boolean failOnError)
throws IOException,
javax.naming.NamingException,
SQLException
runSQLTemplateString in interface com.liferay.portal.kernel.dao.db.DBIOExceptionjavax.naming.NamingExceptionSQLExceptionpublic void setSupportsStringCaseSensitiveQuery(boolean supportsStringCaseSensitiveQuery)
setSupportsStringCaseSensitiveQuery in interface com.liferay.portal.kernel.dao.db.DBpublic AutoCloseable syncTables(Connection connection,
String sourceTableName,
String targetTableName,
Map<String,String> columnNamesMap)
throws Exception
syncTables in interface com.liferay.portal.kernel.dao.db.DBExceptionpublic void updateIndexes(Connection connection,
String tablesSQL,
String indexesSQL,
boolean dropIndexes)
throws Exception
updateIndexes in interface com.liferay.portal.kernel.dao.db.DBExceptionprotected void addPrimaryKey(Connection connection,
String tableName,
String[] columnNames)
throws IOException,
SQLException
IOExceptionSQLExceptionprotected String[] buildColumnNameTokens(String line)
protected String[] buildColumnTypeTokens(String line)
protected String[] buildTableNameTokens(String line)
protected void createSyncDeleteTrigger(Connection connection,
String sourceTableName,
String targetTableName,
String triggerName,
String[] sourcePrimaryKeyColumnNames,
String[] targetPrimaryKeyColumnNames)
throws Exception
Exceptionprotected void createSyncInsertTrigger(Connection connection,
String sourceTableName,
String targetTableName,
String triggerName,
String[] sourceColumnNames,
String[] targetColumnNames,
String[] sourcePrimaryKeyColumnNames,
String[] targetPrimaryKeyColumnNames)
throws Exception
Exceptionprotected void createSyncUpdateTrigger(Connection connection,
String sourceTableName,
String targetTableName,
String triggerName,
String[] sourceColumnNames,
String[] targetColumnNames,
String[] sourcePrimaryKeyColumnNames,
String[] targetPrimaryKeyColumnNames)
throws Exception
Exceptionprotected Set<String> dropIndexes(Connection connection,
String tablesSQL,
String indexesSQL,
List<com.liferay.portal.kernel.dao.db.Index> indexes)
throws IOException,
SQLException
IOExceptionSQLExceptionprotected void dropTrigger(Connection connection,
String tableName,
String triggerName)
throws Exception
Exceptionprotected String getCopyTableStructureSQL(String tableName,
String newTableName)
protected List<com.liferay.portal.kernel.dao.db.IndexMetadata> getIndexes(Connection connection,
String tableName,
String columnName,
boolean onlyUnique)
throws SQLException
SQLExceptionprotected abstract int[] getSQLTypes()
protected int[] getSQLVarcharSizes()
protected abstract String[] getTemplate()
protected boolean isSupportsDuplicatedIndexName()
protected String limitColumnLength(String column,
int length)
protected String replaceTemplate(String template)
protected abstract String reword(String data)
throws IOException,
SQLException
IOExceptionSQLException