Class DerbyBuilder
java.lang.Object
edu.internet2.middleware.grouper.ext.org.apache.ddlutils.platform.SqlBuilder
edu.internet2.middleware.grouper.ext.org.apache.ddlutils.platform.cloudscape.CloudscapeBuilder
edu.internet2.middleware.grouper.ext.org.apache.ddlutils.platform.derby.DerbyBuilder
The SQL Builder for Derby.
- Version:
- $Revision: 279413 $
-
Field Summary
Fields inherited from class edu.internet2.middleware.grouper.ext.org.apache.ddlutils.platform.SqlBuilder
_log, SIZE_PLACEHOLDER
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected String
getNativeDefaultValue
(Column column) Returns the native default value for the column.protected void
processChange
(Database currentModel, Database desiredModel, AddColumnChange change) Processes the addition of a column to a table.protected void
processTableStructureChanges
(Database currentModel, Database desiredModel, Table sourceTable, Table targetTable, Map parameters, List changes) Allows database-specific implementations to handle changes in a database specific manner.protected void
writeCastExpression
(Column sourceColumn, Column targetColumn) Writes a cast expression that converts the value of the source column to the data type of the target column.protected void
writeColumnAutoIncrementStmt
(Table table, Column column) Prints that the column is an auto increment column.void
writeExternalIndexDropStmt
(Table table, Index index) Generates the statement to drop a non-embedded index from the database.Methods inherited from class edu.internet2.middleware.grouper.ext.org.apache.ddlutils.platform.cloudscape.CloudscapeBuilder
getSelectLastIdentityValues
Methods inherited from class edu.internet2.middleware.grouper.ext.org.apache.ddlutils.platform.SqlBuilder
addEscapedCharSequence, alterDatabase, applyForSelectedChanges, areEqual, columnsDiffer, createExternalForeignKeys, createExternalForeignKeys, createTable, createTable, createTables, createTables, createTables, createTemporaryTable, createUniqueIdentifier, dropExternalForeignKeys, dropTable, dropTable, dropTables, dropTemporaryTable, escapeStringValue, findCorrespondingForeignKey, getBareNativeType, getColumnName, getConstraintName, getDefaultValueHelper, getDeleteSql, getDelimitedIdentifier, getForeignKeyName, getIndent, getIndexName, getInsertSql, getMaxColumnNameLength, getMaxConstraintNameLength, getMaxForeignKeyNameLength, getMaxTableNameLength, getNativeType, getPlatform, getPlatformInfo, getRealTargetTableFor, getSqlType, getTableName, getTemporaryTableFor, getUpdateSql, getValueAsString, getValueDateFormat, getValueLocale, getValueNumberFormat, getValueTimeFormat, getWriter, isValidDefaultValue, print, printComment, printDefaultValue, printEndOfStatement, printIdentifier, printIndent, println, println, printlnIdentifier, printStartOfEmbeddedStatement, processChange, processChange, processChange, processChange, processChange, processChange, processChange, processChange, processChanges, processTableStructureChanges, processTableStructureChanges, setIndent, setValueDateFormat, setValueLocale, setValueNumberFormat, setValueTimeFormat, setWriter, shortenName, shouldGeneratePrimaryKeys, writeColumn, writeColumnDefaultValue, writeColumnDefaultValueStmt, writeColumnNotNullableStmt, writeColumnNullableStmt, writeColumns, writeCopyDataStatement, writeEmbeddedForeignKeysStmt, writeEmbeddedIndexCreateStmt, writeEmbeddedIndicesStmt, writeEmbeddedPrimaryKeysStmt, writeExternalForeignKeyCreateStmt, writeExternalForeignKeyDropStmt, writeExternalIndexCreateStmt, writeExternalIndicesCreateStmt, writeExternalPrimaryKeysCreateStmt, writeForeignReferences, writeLocalReferences, writePrimaryKeyStmt, writeTableAlterStmt, writeTableComment, writeTableCreationStmt, writeTableCreationStmtEnding
-
Constructor Details
-
DerbyBuilder
Creates a new builder instance.- Parameters:
platform
- The plaftform this builder belongs to
-
-
Method Details
-
getNativeDefaultValue
Returns the native default value for the column.- Overrides:
getNativeDefaultValue
in classSqlBuilder
- Parameters:
column
- The column- Returns:
- The native default value
-
writeColumnAutoIncrementStmt
Prints that the column is an auto increment column.- Overrides:
writeColumnAutoIncrementStmt
in classCloudscapeBuilder
- Parameters:
table
- The tablecolumn
- The column- Throws:
IOException
-
writeExternalIndexDropStmt
Generates the statement to drop a non-embedded index from the database.- Overrides:
writeExternalIndexDropStmt
in classSqlBuilder
- Parameters:
table
- The table the index is onindex
- The index to drop- Throws:
IOException
-
writeCastExpression
Writes a cast expression that converts the value of the source column to the data type of the target column. Per default, simply the name of the source column is written thereby assuming that any casts happen implicitly.- Overrides:
writeCastExpression
in classSqlBuilder
- Parameters:
sourceColumn
- The source columntargetColumn
- The target column- Throws:
IOException
-
processTableStructureChanges
protected void processTableStructureChanges(Database currentModel, Database desiredModel, Table sourceTable, Table targetTable, Map parameters, List changes) throws IOException Allows database-specific implementations to handle changes in a database specific manner. Any handled change should be applied to the given current model (which is a copy of the real original model) and be removed from the list of changes.
In the default implementation, allAddPrimaryKeyChange
changes are applied via anALTER TABLE ADD CONSTRAINT
statement.- Overrides:
processTableStructureChanges
in classSqlBuilder
- Parameters:
currentModel
- The current database schemadesiredModel
- The desired database schemasourceTable
- The original tabletargetTable
- The desired tableparameters
- The creation parameters for the tablechanges
- The change objects for the target table- Throws:
IOException
-
processChange
protected void processChange(Database currentModel, Database desiredModel, AddColumnChange change) throws IOException Processes the addition of a column to a table.- Parameters:
currentModel
- The current database schemadesiredModel
- The desired database schemachange
- The change object- Throws:
IOException
-