Class DefaultDBTranslator
- java.lang.Object
 - 
- com.inductiveautomation.ignition.gateway.db.DefaultDBTranslator
 
 
- 
- All Implemented Interfaces:
 DBTranslator
public class DefaultDBTranslator extends java.lang.Object implements DBTranslator
 
- 
- 
Nested Class Summary
- 
Nested classes/interfaces inherited from interface com.inductiveautomation.ignition.gateway.db.DBTranslator
DBTranslator.Tokens 
 - 
 
- 
Field Summary
Fields Modifier and Type Field Description protected java.lang.StringalterColumnDefprotected java.lang.StringalterTableprotected java.lang.StringautoIncTypeDefprotected java.lang.StringcolumnQuoteCharprotected java.lang.StringcreateAISequenceprotected java.lang.StringcreateAITriggerprotected java.lang.StringcreateIndexprotected java.lang.StringcreateTableprotected java.lang.StringcurrentTimeQueryprotected java.lang.StringlimitDefprotected LimitPositionlimitPosprotected intmaxIdentifierLengthprotected java.lang.StringprimaryKeyDefprotected java.lang.StringreadGKQueryprotected booleansupportsRgkprotected java.lang.StringtableListFilterprotected java.util.EnumMap<DataType,java.lang.String>typeMap 
- 
Constructor Summary
Constructors Constructor Description DefaultDBTranslator()DefaultDBTranslator(java.lang.String cTable, java.lang.String cAISeq, java.lang.String cAITrig, java.lang.String cNdx, java.lang.String autoInc, java.lang.String lDef, LimitPosition lPos, java.lang.String aTable, java.lang.String aTableColumn, java.lang.String pKey, java.lang.String qCurTime, java.util.EnumMap<DataType,java.lang.String> tMap, java.lang.String colQuoteChar, boolean supportsRgk, java.lang.String fetchRgkQuery, java.lang.String tableListFilter)DefaultDBTranslator(java.util.EnumMap<DataType,java.lang.String> tMap) 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringapplyLimit(java.lang.String query, java.lang.Integer limit)Takes a SELECT query and applies the given limit to it, resulting in a select query with a limiting clause.protected java.util.EnumMap<DataType,java.lang.String>createTypeMap()java.util.List<java.lang.String>getAlterCommand(java.lang.String tableName, ColumnList columns)java.lang.StringgetColumnQuoteChar()Returns the character that this driver uses to quote names in queriesjava.util.List<java.lang.String>getCreateCommand(java.lang.String tableName, ColumnList columns)java.lang.StringgetCreateIndexCommand(java.lang.String tableName, Column column)protected java.lang.StringgetCreationDef(ColumnList columns)java.lang.StringgetCurrentTimeQuery()Returns a query that can be used to get the current database time.protected java.lang.StringgetDataTypeKeyword(DataType type)java.lang.StringgetFetchKeyQuery(java.lang.String tableName, java.lang.String columnName)A query to be executed instead of using JDBC's built-in facility for obtaining auto-generated keys.protected java.lang.StringgetShortendName(java.lang.String name)protected java.lang.StringgetSpecialtyDef(java.lang.String tokenVal, java.lang.String definition, java.lang.String token)java.lang.StringgetTableListFilter()Returns a filter that will be used to narrow the list of tables returned from the database.booleanisSupportsRGK()java.lang.StringquoteColumn(Column col)java.lang.StringquoteColumn(java.lang.String col)protected java.lang.StringreplaceToken(java.lang.String source, java.lang.String token, java.lang.String value)protected java.lang.StringreplaceTokens(java.lang.String source, java.util.List<java.lang.String> tokens, java.util.List<java.lang.String> value) 
 - 
 
- 
- 
Field Detail
- 
createTable
protected java.lang.String createTable
 
- 
createAISequence
protected java.lang.String createAISequence
 
- 
createAITrigger
protected java.lang.String createAITrigger
 
- 
createIndex
protected java.lang.String createIndex
 
- 
autoIncTypeDef
protected java.lang.String autoIncTypeDef
 
- 
limitDef
protected java.lang.String limitDef
 
- 
limitPos
protected LimitPosition limitPos
 
- 
alterTable
protected java.lang.String alterTable
 
- 
alterColumnDef
protected java.lang.String alterColumnDef
 
- 
primaryKeyDef
protected java.lang.String primaryKeyDef
 
- 
currentTimeQuery
protected java.lang.String currentTimeQuery
 
- 
columnQuoteChar
protected java.lang.String columnQuoteChar
 
- 
supportsRgk
protected boolean supportsRgk
 
- 
readGKQuery
protected java.lang.String readGKQuery
 
- 
tableListFilter
protected java.lang.String tableListFilter
 
- 
maxIdentifierLength
protected int maxIdentifierLength
 
- 
typeMap
protected java.util.EnumMap<DataType,java.lang.String> typeMap
 
 - 
 
- 
Constructor Detail
- 
DefaultDBTranslator
public DefaultDBTranslator()
 
- 
DefaultDBTranslator
public DefaultDBTranslator(java.util.EnumMap<DataType,java.lang.String> tMap)
 
- 
DefaultDBTranslator
public DefaultDBTranslator(java.lang.String cTable, java.lang.String cAISeq, java.lang.String cAITrig, java.lang.String cNdx, java.lang.String autoInc, java.lang.String lDef, LimitPosition lPos, java.lang.String aTable, java.lang.String aTableColumn, java.lang.String pKey, java.lang.String qCurTime, java.util.EnumMap<DataType,java.lang.String> tMap, java.lang.String colQuoteChar, boolean supportsRgk, java.lang.String fetchRgkQuery, java.lang.String tableListFilter) 
 - 
 
- 
Method Detail
- 
createTypeMap
protected java.util.EnumMap<DataType,java.lang.String> createTypeMap()
 
- 
getCurrentTimeQuery
public java.lang.String getCurrentTimeQuery()
Description copied from interface:DBTranslatorReturns a query that can be used to get the current database time.- Specified by:
 getCurrentTimeQueryin interfaceDBTranslator
 
- 
quoteColumn
public java.lang.String quoteColumn(Column col)
 
- 
quoteColumn
public java.lang.String quoteColumn(java.lang.String col)
 
- 
getCreateCommand
public java.util.List<java.lang.String> getCreateCommand(java.lang.String tableName, ColumnList columns)- Specified by:
 getCreateCommandin interfaceDBTranslator
 
- 
applyLimit
public java.lang.String applyLimit(java.lang.String query, java.lang.Integer limit)Description copied from interface:DBTranslatorTakes a SELECT query and applies the given limit to it, resulting in a select query with a limiting clause. If the incoming query already has a limit clause, the existing text will be used (that is, nothing further will be done).- Specified by:
 applyLimitin interfaceDBTranslator
 
- 
getAlterCommand
public java.util.List<java.lang.String> getAlterCommand(java.lang.String tableName, ColumnList columns)- Specified by:
 getAlterCommandin interfaceDBTranslator
 
- 
getCreateIndexCommand
public java.lang.String getCreateIndexCommand(java.lang.String tableName, Column column)- Specified by:
 getCreateIndexCommandin interfaceDBTranslator
 
- 
getShortendName
protected java.lang.String getShortendName(java.lang.String name)
 
- 
getCreationDef
protected java.lang.String getCreationDef(ColumnList columns)
 
- 
getSpecialtyDef
protected java.lang.String getSpecialtyDef(java.lang.String tokenVal, java.lang.String definition, java.lang.String token) 
- 
replaceToken
protected java.lang.String replaceToken(java.lang.String source, java.lang.String token, java.lang.String value) 
- 
replaceTokens
protected java.lang.String replaceTokens(java.lang.String source, java.util.List<java.lang.String> tokens, java.util.List<java.lang.String> value) 
- 
getDataTypeKeyword
protected java.lang.String getDataTypeKeyword(DataType type)
 
- 
getColumnQuoteChar
public java.lang.String getColumnQuoteChar()
Description copied from interface:DBTranslatorReturns the character that this driver uses to quote names in queries- Specified by:
 getColumnQuoteCharin interfaceDBTranslator
 
- 
getFetchKeyQuery
public java.lang.String getFetchKeyQuery(java.lang.String tableName, java.lang.String columnName)Description copied from interface:DBTranslatorA query to be executed instead of using JDBC's built-in facility for obtaining auto-generated keys. Only used if supportsRGK is false. Takes the table name and column name in case the query needs to use them- it will depend on the database as to whether or not they are.- Specified by:
 getFetchKeyQueryin interfaceDBTranslator
 
- 
isSupportsRGK
public boolean isSupportsRGK()
- Specified by:
 isSupportsRGKin interfaceDBTranslator- Returns:
 - whether or not this driver supports returning generated keys on insert queries
 
 
- 
getTableListFilter
public java.lang.String getTableListFilter()
Description copied from interface:DBTranslatorReturns a filter that will be used to narrow the list of tables returned from the database. A semi-colon separated list of simple patterns, like "apex_*;sys_info*"- Specified by:
 getTableListFilterin interfaceDBTranslator
 
 - 
 
 -