Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.ddlutils.platform.db2
Class Db2Builder

    java.lang.Object
      org.apache.ddlutils.platform.SqlBuilder
          org.apache.ddlutils.platform.db2.Db2Builder

Direct Known Subclasses:
  Db2v8Builder

    public class Db2Builder

extends SqlBuilder

The SQL Builder for DB2.

Version:
  $Revision: 504811 $

Field Summary

Fields inherited from class org.apache.ddlutils.platform.SqlBuilder
`_log, SIZE_PLACEHOLDER`

Constructor Summary
`Db2Builder(Platform platform)` Creates a new builder instance.

Method Summary
`protected String` | `getNativeDefaultValue(Column column)` Returns the native default value for the column.
`String` | `getSelectLastIdentityValues(Table table)` Generates the SQL for querying the id that was created in the last insertion operation.
`protected void` | `processChange(Database currentModel, Database desiredModel, AddColumnChange change)` Processes the addition of a column to a table.
`protected void` | `processChange(Database currentModel, Database desiredModel, PrimaryKeyChange change)` Processes the change of the primary key of a table.
`protected void` | `processChange(Database currentModel, Database desiredModel, RemoveColumnChange change)` Processes the removal of a column from a table.
`protected void` | `processChange(Database currentModel, Database desiredModel, RemovePrimaryKeyChange change)` Processes the removal of a primary key from 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.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

### Db2Builder

    public Db2Builder(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 `SqlBuilder`
  Parameters:
    `table` - The table
    `column` - The column
  Throws:
    `IOException`

### getSelectLastIdentityValues

    public String getSelectLastIdentityValues(Table table)

  Generates the SQL for querying the id that was created in the last insertion operation. This is obviously only useful for pk fields that are auto-incrementing. A database that does not support this, will return `null`.

  Overrides:
    `getSelectLastIdentityValues` in class `SqlBuilder`
  Parameters:
    `table` - The table
  Returns:
    The sql, or `null` if the database does not support this

### 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`

### processChange

    protected void processChange(Database currentModel,
                                 Database desiredModel,
                                 RemoveColumnChange change)
                          throws IOException

  Processes the removal of a column from a table.

  Parameters:
    `currentModel` - The current database schema
    `desiredModel` - The desired database schema
    `change` - The change object
  Throws:
    `IOException`

### processChange

    protected void processChange(Database currentModel,
                                 Database desiredModel,
                                 RemovePrimaryKeyChange change)
                          throws IOException

  Processes the removal of a primary key from a table.

  Parameters:
    `currentModel` - The current database schema
    `desiredModel` - The desired database schema
    `change` - The change object
  Throws:
    `IOException`

### processChange

    protected void processChange(Database currentModel,
                                 Database desiredModel,
                                 PrimaryKeyChange change)
                          throws IOException

  Processes the change of the primary key of a table.

  Parameters:
    `currentModel` - The current database schema
    `desiredModel` - The desired database schema
    `change` - The change object
  Throws:
    `IOException`

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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