package com.tridium.rdb.jdbc; import com.tridium.rdb.aes.AesSysKeyEncoder; import java.sql.Connection; import java.sql.SQLException; import javax.baja.rdb.RdbmsContext; import javax.baja.rdb.ddl.Constraint; public interface RdbmsDialect extends RdbmsContext { public static final int INSERT_VIA_IDENTITY = 1; public static final int INSERT_VIA_IDENTITY_LOOKUP = 2; public static final int INSERT_VIA_SEQUENCE = 0; boolean allowsUnicodeNames(); AesSysKeyEncoder getAesEncoder(); String getAlterColumn(); String getAlterColumnSuffix(); boolean getAlterColumnSupportsNotNull(); String getBlobType(); String getBooleanType(); String getCharType(); String getClobType(); String getColumnIdentifier(String str, String str2, String str3); String getDateType(); String getDoubleType(); String getDropConstraint(String str, Constraint constraint); String getDropIndex(String str, String str2); String getFloatType(); String getIdentityCreation(); String getIdentityLookup(); int getInsertionMode(); String getIntType(); int getJdbcTypeBlob(); int getJdbcTypeBoolean(); int getJdbcTypeChar(); int getJdbcTypeClob(); int getJdbcTypeDate(); int getJdbcTypeDouble(); int getJdbcTypeFloat(); int getJdbcTypeInt(); int getJdbcTypeLong(); int getJdbcTypeTimestamp(); int getJdbcTypeUuid(); int getJdbcTypeVarchar(); String getLongType(); int getMaxColumnName(); int getMaxConstraintName(); int getMaxIndexName(); int getMaxTableName(); String getOnDelete(int i); String getSequenceLookup(String str); String getSequenceName(String str); String getStringLengthFunctionName(); String getTableIdentifier(String str, String str2); String getTimestampType(); String getUuidType(); String getValidationQuery(); String getVarCharType(); void issueCheckpoint(Connection connection) throws SQLException; void setBlobValue(RdbmsPreparedStatement rdbmsPreparedStatement, int i, byte[] bArr); void setClobValue(RdbmsPreparedStatement rdbmsPreparedStatement, int i, String str); boolean supportsBatchDelete(); boolean supportsBatchInsert(); boolean supportsBatchUpdate(); boolean supportsBooleanType(); boolean supportsClusteredIndex(); boolean supportsDateType(); boolean supportsDropColumn(); boolean supportsMillisecondTimestamp(); boolean supportsRenameTable(); boolean useUtcTimestamps(); boolean usesDefaultBlobTranslator(); boolean usesDefaultClobTranslator(); }