public abstract class Table
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
class |
Table.Column |
protected class |
Table.ForeignKey |
Modifier and Type | Field and Description |
---|---|
protected java.lang.String |
name
The name of the table
|
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) |
java.lang.String |
colQC() |
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<java.lang.String> |
getPhase1AlterDDL(Table existing)
Does all alter column statements
|
java.util.List<java.lang.String> |
getPhase2AlterDDL(Table existing)
Does all constraint and sequence modification
|
java.lang.String |
getTableCreateDDL() |
java.lang.String |
getTableName() |
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) |
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()
protected boolean supportsConstraintModification()
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 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()
protected java.lang.String getColumnDDL(Table.Column col)
public java.lang.String getTableCreateDDL()
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)