public abstract class Table
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
class |
Table.Column |
class |
Table.ForeignKey |
class |
Table.PrimaryKey |
Modifier and Type | Field and Description |
---|---|
protected java.util.List<Table.Column> |
columns |
protected java.util.List<Table.ForeignKey> |
fks |
protected java.lang.String |
name
The name of the table
|
protected Table.PrimaryKey |
pk |
protected java.util.List<java.lang.String> |
sequences |
Constructor and Description |
---|
Table() |
Modifier and Type | Method and Description |
---|---|
Table |
buildFor(SRecordMeta<? extends SRecordInstance> meta) |
Table |
buildFor(java.lang.String tableName,
javax.sql.DataSource db) |
Table |
buildFor(Table other) |
Table |
buildNew(java.lang.String name) |
boolean |
canAlterFrom(Table existingTable)
Returns true if all of the modifications required can be handled through altering.
|
java.lang.String |
colQC() |
Table.Column |
findColumn(java.lang.String name) |
protected abstract java.util.List<java.lang.String> |
findSequences(java.lang.String tableName,
java.sql.Connection conn) |
protected java.lang.String |
getColumnDdl(Table.Column col) |
java.util.List<Table.Column> |
getColumns() |
protected java.lang.String |
getColumnTypeSql(SFieldScalar field) |
java.util.List<java.lang.String> |
getConstraintDdl() |
java.util.List<Table.ForeignKey> |
getForeignKeys() |
java.lang.String |
getIndexName(Table.Column column) |
java.util.List<java.lang.String> |
getPhase1AlterDdl(Table existing)
Does all alter column statements
|
java.util.List<java.lang.String> |
getPhase1Transfer(Table originalTable) |
java.util.List<java.lang.String> |
getPhase2AlterDdl(Table existing)
Does all constraint and sequence modification
|
java.util.List<java.lang.String> |
getPhase2Transfer(Table originalTable) |
Table.PrimaryKey |
getPrimaryKey() |
java.lang.String |
getTableCreateDdl() |
java.lang.String |
getTableName() |
java.lang.String |
getTransferCommand(Table originalTable,
java.lang.String sourceName) |
java.lang.String |
qc() |
protected void |
sqlDefinition_CreateForeignKeys(java.util.List<java.lang.String> commands,
java.util.List<Table.ForeignKey> fks)
Should create the sql for adding the foreign keys and add them to the "commands" list
|
protected java.lang.String |
sqlDefinition_CreateIndex(java.lang.String indexName,
java.lang.String tableName,
java.lang.String columnName) |
protected java.lang.String |
sqlDefinition_CreateSequence(java.lang.String sequence,
java.lang.String table)
Returns the full "CREATE SEQUENCE seqName"
|
protected java.lang.String |
sqlDefinition_DropIndex(java.lang.String indexName) |
protected java.lang.String |
sqlDefinition_Table()
Returns the keyword(s) to use for create TABLE.
|
protected boolean |
supportsConstraintModification() |
protected boolean |
supportsDropColumn() |
boolean |
tableExists() |
protected java.lang.String |
valueToQueryLiteral(java.lang.Object value,
SFieldScalar field)
In some cases, we put the value of the column directly into the query.
|
protected java.lang.String |
valueToQueryLiteral(java.lang.Object value,
java.lang.String columnType) |
protected java.lang.String name
protected java.util.List<Table.Column> columns
protected Table.PrimaryKey pk
protected java.util.List<Table.ForeignKey> fks
protected java.util.List<java.lang.String> sequences
public boolean tableExists()
public Table buildFor(SRecordMeta<? extends SRecordInstance> meta)
public Table buildFor(java.lang.String tableName, javax.sql.DataSource db) throws java.sql.SQLException
java.sql.SQLException
public Table buildNew(java.lang.String name)
public java.lang.String colQC()
public java.lang.String qc()
public boolean canAlterFrom(Table existingTable)
protected boolean supportsConstraintModification()
public java.lang.String getTransferCommand(Table originalTable, java.lang.String sourceName)
protected abstract java.util.List<java.lang.String> findSequences(java.lang.String tableName, java.sql.Connection conn) throws java.sql.SQLException
java.sql.SQLException
public Table.Column findColumn(java.lang.String name)
public java.lang.String getTableName()
public java.util.List<java.lang.String> getPhase1AlterDdl(Table existing)
public java.util.List<java.lang.String> getPhase2AlterDdl(Table existing)
protected java.lang.String sqlDefinition_Table()
protected java.lang.String sqlDefinition_CreateSequence(java.lang.String sequence, java.lang.String table)
protected java.lang.String sqlDefinition_CreateIndex(java.lang.String indexName, java.lang.String tableName, java.lang.String columnName)
protected java.lang.String sqlDefinition_DropIndex(java.lang.String indexName)
protected boolean supportsDropColumn()
public java.util.List<Table.Column> getColumns()
public Table.PrimaryKey getPrimaryKey()
public java.util.List<Table.ForeignKey> getForeignKeys()
protected java.lang.String getColumnDdl(Table.Column col)
public java.lang.String getTableCreateDdl()
public java.lang.String getIndexName(Table.Column column)
public java.util.List<java.lang.String> getConstraintDdl()
protected void sqlDefinition_CreateForeignKeys(java.util.List<java.lang.String> commands, java.util.List<Table.ForeignKey> fks)
protected java.lang.String getColumnTypeSql(SFieldScalar field)
protected java.lang.String valueToQueryLiteral(java.lang.Object value, SFieldScalar field)
protected java.lang.String valueToQueryLiteral(java.lang.Object value, java.lang.String columnType)
public java.util.List<java.lang.String> getPhase1Transfer(Table originalTable)
public java.util.List<java.lang.String> getPhase2Transfer(Table originalTable)