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
-
-