|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.ddlutils.platform.SqlBuilder
org.apache.ddlutils.platform.mssql.MSSqlBuilder
The SQL Builder for the Microsoft SQL Server.
Field Summary |
Fields inherited from class org.apache.ddlutils.platform.SqlBuilder |
_log, SIZE_PLACEHOLDER |
Constructor Summary | |
MSSqlBuilder(PlatformInfo info)
Creates a new builder instance. |
Method Summary | |
protected void |
alterTable(Database currentModel,
Table currentTable,
Database desiredModel,
Table desiredTable,
boolean doDrops,
boolean modifyColumns)
Alters the given currently existing table object to match the given desired table object. |
void |
createTable(Database database,
Table table,
Map parameters)
Outputs the DDL to create the table along with any non-external constraints as well as with external primary keys and indices (but not foreign keys). |
void |
dropExternalForeignKeys(Table table)
Creates external foreignkey drop statements. |
void |
dropTable(Table table)
Outputs the DDL to drop the table. |
String |
getDeleteSql(Table table,
Map pkValues,
boolean genPlaceholders)
Creates the SQL for deleting an object from the specified table. If values are given then a concrete delete statement is created, otherwise an delete statement usable in a prepared statement is build. |
String |
getInsertSql(Table table,
Map columnValues,
boolean genPlaceholders)
Creates the SQL for inserting an object into the specified table. If values are given then a concrete insert statement is created, otherwise an insert statement usable in a prepared statement is build. |
protected String |
getNativeDefaultValue(Column column)
Returns the native default value for the column. |
String |
getUpdateSql(Table table,
Map columnValues,
boolean genPlaceholders)
Creates the SQL for updating an object in the specified table. If values are given then a concrete update statement is created, otherwise an update statement usable in a prepared statement is build. |
void |
writeColumnAlterStmt(Table table,
Column column,
boolean isNewColumn)
Generates the alter statement to add or modify a single column on a table. |
protected void |
writeColumnAutoIncrementStmt(Table table,
Column column)
Prints that the column is an auto increment column. |
protected void |
writeExternalForeignKeyDropStmt(Table table,
ForeignKey foreignKey)
Generates the statement to drop a foreignkey constraint from the database using an alter table statement. |
void |
writeExternalIndexDropStmt(Table table,
Index index)
Generates the statement to drop a non-embedded index from the database. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public MSSqlBuilder(PlatformInfo info)
info
- The platform infoMethod Detail |
public void createTable(Database database, Table table, Map parameters) throws IOException
createTable
in class SqlBuilder
database
- The database modeltable
- The tableparameters
- Additional platform-specific parameters for the table creation
IOException
protected void alterTable(Database currentModel, Table currentTable, Database desiredModel, Table desiredTable, boolean doDrops, boolean modifyColumns) throws IOException
alterTable
in class SqlBuilder
currentModel
- The current modelcurrentTable
- The current table definitiondesiredModel
- The desired modeldesiredTable
- The desired table definitiondoDrops
- Whether columns and indexes should be dropped if not in the
new schemamodifyColumns
- Whether columns should be altered for datatype, size as required
IOException
public void dropTable(Table table) throws IOException
dropTable
in class SqlBuilder
table
- The table to drop
IOException
public void dropExternalForeignKeys(Table table) throws IOException
dropExternalForeignKeys
in class SqlBuilder
table
- The table
IOException
protected String getNativeDefaultValue(Column column)
getNativeDefaultValue
in class SqlBuilder
column
- The column
protected void writeColumnAutoIncrementStmt(Table table, Column column) throws IOException
writeColumnAutoIncrementStmt
in class SqlBuilder
table
- The tablecolumn
- The column
IOException
public void writeExternalIndexDropStmt(Table table, Index index) throws IOException
writeExternalIndexDropStmt
in class SqlBuilder
table
- The table the index is onindex
- The index to drop
IOException
public void writeColumnAlterStmt(Table table, Column column, boolean isNewColumn) throws IOException
writeColumnAlterStmt
in class SqlBuilder
table
- The table the index is oncolumn
- The column to dropisNewColumn
- Whether the column should be added
IOException
protected void writeExternalForeignKeyDropStmt(Table table, ForeignKey foreignKey) throws IOException
writeExternalForeignKeyDropStmt
in class SqlBuilder
table
- The tableforeignKey
- The foreign key
IOException
public String getDeleteSql(Table table, Map pkValues, boolean genPlaceholders)
getDeleteSql
in class SqlBuilder
table
- The tablepkValues
- The primary key values indexed by the column names, can be emptygenPlaceholders
- Whether to generate value placeholders for a
prepared statement
public String getInsertSql(Table table, Map columnValues, boolean genPlaceholders)
getInsertSql
in class SqlBuilder
table
- The tablecolumnValues
- The columns values indexed by the column namesgenPlaceholders
- Whether to generate value placeholders for a
prepared statement
public String getUpdateSql(Table table, Map columnValues, boolean genPlaceholders)
getUpdateSql
in class SqlBuilder
table
- The tablecolumnValues
- Contains the values for the columns to update, and should also
contain the primary key values to identify the object to update
in case genPlaceholders
is false
genPlaceholders
- Whether to generate value placeholders for a
prepared statement (both for the pk values and the object values)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |