Class Table
- java.lang.Object
- 
- com.inductiveautomation.ignition.gateway.localdb.Table
 
- 
- Direct Known Subclasses:
- HsqlTable,- SQLiteTable
 
 public abstract class Table extends java.lang.Object
- 
- 
Nested Class SummaryNested Classes Modifier and Type Class Description classTable.ColumnclassTable.ForeignKeyclassTable.PrimaryKey
 - 
Field SummaryFields Modifier and Type Field Description protected java.util.List<Table.Column>columnsprotected java.util.List<Table.ForeignKey>fksprotected java.lang.StringnameThe name of the tableprotected Table.PrimaryKeypkprotected java.util.List<java.lang.String>sequences
 - 
Constructor SummaryConstructors Constructor Description Table()
 - 
Method SummaryAll Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description TablebuildFor(Table other)TablebuildFor(java.lang.String tableName, javax.sql.DataSource db)TablebuildFor(SRecordMeta<? extends SRecordInstance> meta)TablebuildNew(java.lang.String name)booleancanAlterFrom(Table existingTable)Returns true if all of the modifications required can be handled through altering.java.lang.StringcolQC()Table.ColumnfindColumn(java.lang.String name)protected abstract java.util.List<java.lang.String>findSequences(java.lang.String tableName, java.sql.Connection conn)protected java.lang.StringgetColumnDdl(Table.Column col)java.util.List<Table.Column>getColumns()protected java.lang.StringgetColumnTypeSql(SFieldScalar field)java.util.List<java.lang.String>getConstraintDdl()java.util.List<Table.ForeignKey>getForeignKeys()java.lang.StringgetIndexName(Table.Column column)java.util.List<java.lang.String>getPhase1AlterDdl(Table existing)Does all alter column statementsjava.util.List<java.lang.String>getPhase1Transfer(Table originalTable)java.util.List<java.lang.String>getPhase2AlterDdl(Table existing)Does all constraint and sequence modificationjava.util.List<java.lang.String>getPhase2Transfer(Table originalTable)Table.PrimaryKeygetPrimaryKey()java.lang.StringgetTableCreateDdl()java.lang.StringgetTableName()java.lang.StringgetTransferCommand(Table originalTable, java.lang.String sourceName)java.lang.Stringqc()protected voidsqlDefinition_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" listprotected java.lang.StringsqlDefinition_CreateIndex(java.lang.String indexName, java.lang.String tableName, java.lang.String columnName)protected java.lang.StringsqlDefinition_CreateSequence(java.lang.String sequence, java.lang.String table)Returns the full "CREATE SEQUENCE seqName"protected java.lang.StringsqlDefinition_DropIndex(java.lang.String indexName)protected java.lang.StringsqlDefinition_Table()Returns the keyword(s) to use for create TABLE.protected booleansupportsConstraintModification()protected booleansupportsDropColumn()booleantableExists()protected java.lang.StringvalueToQueryLiteral(java.lang.Object value, java.lang.String columnType)protected java.lang.StringvalueToQueryLiteral(java.lang.Object value, SFieldScalar field)In some cases, we put the value of the column directly into the query.
 
- 
- 
- 
Field Detail- 
nameprotected java.lang.String name The name of the table
 - 
columnsprotected java.util.List<Table.Column> columns 
 - 
pkprotected Table.PrimaryKey pk 
 - 
fksprotected java.util.List<Table.ForeignKey> fks 
 - 
sequencesprotected java.util.List<java.lang.String> sequences 
 
- 
 - 
Method Detail- 
tableExistspublic boolean tableExists() 
 - 
buildForpublic Table buildFor(SRecordMeta<? extends SRecordInstance> meta) 
 - 
buildForpublic Table buildFor(java.lang.String tableName, javax.sql.DataSource db) throws java.sql.SQLException - Throws:
- java.sql.SQLException
 
 - 
buildNewpublic Table buildNew(java.lang.String name) 
 - 
colQCpublic java.lang.String colQC() 
 - 
qcpublic java.lang.String qc() 
 - 
canAlterFrompublic boolean canAlterFrom(Table existingTable) Returns true if all of the modifications required can be handled through altering. If not, a new version of the table will be made.
 - 
supportsConstraintModificationprotected boolean supportsConstraintModification() 
 - 
getTransferCommandpublic java.lang.String getTransferCommand(Table originalTable, java.lang.String sourceName) 
 - 
findSequencesprotected abstract java.util.List<java.lang.String> findSequences(java.lang.String tableName, java.sql.Connection conn) throws java.sql.SQLException- Throws:
- java.sql.SQLException
 
 - 
findColumnpublic Table.Column findColumn(java.lang.String name) 
 - 
getTableNamepublic java.lang.String getTableName() 
 - 
getPhase1AlterDdlpublic java.util.List<java.lang.String> getPhase1AlterDdl(Table existing) Does all alter column statements
 - 
getPhase2AlterDdlpublic java.util.List<java.lang.String> getPhase2AlterDdl(Table existing) Does all constraint and sequence modification
 - 
sqlDefinition_Tableprotected java.lang.String sqlDefinition_Table() Returns the keyword(s) to use for create TABLE. Default is "TABLE", but HSQL would use "CACHED TABLE"
 - 
sqlDefinition_CreateSequenceprotected java.lang.String sqlDefinition_CreateSequence(java.lang.String sequence, java.lang.String table)Returns the full "CREATE SEQUENCE seqName"
 - 
sqlDefinition_CreateIndexprotected java.lang.String sqlDefinition_CreateIndex(java.lang.String indexName, java.lang.String tableName, java.lang.String columnName)
 - 
sqlDefinition_DropIndexprotected java.lang.String sqlDefinition_DropIndex(java.lang.String indexName) 
 - 
supportsDropColumnprotected boolean supportsDropColumn() 
 - 
getColumnspublic java.util.List<Table.Column> getColumns() 
 - 
getPrimaryKeypublic Table.PrimaryKey getPrimaryKey() 
 - 
getForeignKeyspublic java.util.List<Table.ForeignKey> getForeignKeys() 
 - 
getColumnDdlprotected java.lang.String getColumnDdl(Table.Column col) 
 - 
getTableCreateDdlpublic java.lang.String getTableCreateDdl() 
 - 
getIndexNamepublic java.lang.String getIndexName(Table.Column column) 
 - 
getConstraintDdlpublic java.util.List<java.lang.String> getConstraintDdl() 
 - 
sqlDefinition_CreateForeignKeysprotected 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
 - 
getColumnTypeSqlprotected java.lang.String getColumnTypeSql(SFieldScalar field) 
 - 
valueToQueryLiteralprotected java.lang.String valueToQueryLiteral(java.lang.Object value, SFieldScalar field)In some cases, we put the value of the column directly into the query. This allows us to override how it is represented in the query.
 - 
valueToQueryLiteralprotected java.lang.String valueToQueryLiteral(java.lang.Object value, java.lang.String columnType)
 - 
getPhase1Transferpublic java.util.List<java.lang.String> getPhase1Transfer(Table originalTable) 
 - 
getPhase2Transferpublic java.util.List<java.lang.String> getPhase2Transfer(Table originalTable) 
 
- 
 
-