org.apache.ddlutils.platform.derby
Class DerbyBuilder

java.lang.Object
  extended by org.apache.ddlutils.platform.SqlBuilder
      extended by org.apache.ddlutils.platform.cloudscape.CloudscapeBuilder
          extended by org.apache.ddlutils.platform.derby.DerbyBuilder

public class DerbyBuilder
extends CloudscapeBuilder

The SQL Builder for Derby.

Version:
$Revision: 279413 $

Field Summary
 
Fields inherited from class org.apache.ddlutils.platform.SqlBuilder
_log, SIZE_PLACEHOLDER
 
Constructor Summary
DerbyBuilder(Platform platform)
          Creates a new builder instance.
 
Method Summary
protected  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 org.apache.ddlutils.platform.cloudscape.CloudscapeBuilder
getSelectLastIdentityValues
 
Methods inherited from class 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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DerbyBuilder

public DerbyBuilder(Platform platform)
Creates a new builder instance.

Parameters:
platform - The plaftform this builder belongs to
Method Detail

getNativeDefaultValue

protected String getNativeDefaultValue(Column column)
Returns the native default value for the column.

Overrides:
getNativeDefaultValue in class SqlBuilder
Parameters:
column - The column
Returns:
The native default value

writeColumnAutoIncrementStmt

protected void writeColumnAutoIncrementStmt(Table table,
                                            Column column)
                                     throws IOException
Prints that the column is an auto increment column.

Overrides:
writeColumnAutoIncrementStmt in class CloudscapeBuilder
Parameters:
table - The table
column - The column
Throws:
IOException

writeExternalIndexDropStmt

public void writeExternalIndexDropStmt(Table table,
                                       Index index)
                                throws IOException
Generates the statement to drop a non-embedded index from the database.

Overrides:
writeExternalIndexDropStmt in class SqlBuilder
Parameters:
table - The table the index is on
index - The index to drop
Throws:
IOException

writeCastExpression

protected void writeCastExpression(Column sourceColumn,
                                   Column targetColumn)
                            throws IOException
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 class SqlBuilder
Parameters:
sourceColumn - The source column
targetColumn - 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, all AddPrimaryKeyChange changes are applied via an ALTER TABLE ADD CONSTRAINT statement.

Overrides:
processTableStructureChanges in class SqlBuilder
Parameters:
currentModel - The current database schema
desiredModel - The desired database schema
sourceTable - The original table
targetTable - The desired table
parameters - The creation parameters for the table
changes - 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 schema
desiredModel - The desired database schema
change - The change object
Throws:
IOException


Copyright © 2005-2007 Apache Software Foundation. All Rights Reserved.