0
 * No CLOB/BLOB support  
 * No cascade delete support. 
 * No Calendar support 
 * No support for updating primary keys. 
 *  
 * @author Sherry Listgarten and Max Andersen 
 */ 
public class TimesTenDialect extends Dialect {
	 
	public TimesTenDialect() { 
		super(); 
		registerColumnType( Types.BIT, "TINYINT" );
		registerColumnType( Types.BIGINT, "BIGINT" );
		registerColumnType( Types.SMALLINT, "SMALLINT" );
		registerColumnType( Types.TINYINT, "TINYINT" );
		registerColumnType( Types.INTEGER, "INTEGER" );
		registerColumnType( Types.CHAR, "CHAR(1)" );
		registerColumnType( Types.VARCHAR, "VARCHAR($l)" );
		registerColumnType( Types.FLOAT, "FLOAT" );
		registerColumnType( Types.DOUBLE, "DOUBLE" );
		registerColumnType( Types.DATE, "DATE" );
		registerColumnType( Types.TIME, "TIME" );
		registerColumnType( Types.TIMESTAMP, "TIMESTAMP" );
		registerColumnType( Types.VARBINARY, "VARBINARY($l)" );
		registerColumnType( Types.NUMERIC, "DECIMAL($p, $s)" );
		// TimesTen has no BLOB/CLOB support, but these types may be suitable  
		// for some applications. The length is limited to 4 million bytes. 
        registerColumnType( Types.BLOB, "VARBINARY(4000000)" ); 
        registerColumnType( Types.CLOB, "VARCHAR(4000000)" );
	 
		getDefaultProperties().setProperty(Environment.USE_STREAMS_FOR_BINARY, "true");
		getDefaultProperties().setProperty(Environment.STATEMENT_BATCH_SIZE, DEFAULT_BATCH_SIZE);
		registerFunction( "lower", new StandardSQLFunction("lower") );
		registerFunction( "upper", new StandardSQLFunction("upper") );
		registerFunction( "rtrim", new StandardSQLFunction("rtrim") );
		registerFunction( "concat", new StandardSQLFunction("concat", StandardBasicTypes.STRING) );
		registerFunction( "mod", new StandardSQLFunction("mod") );
		registerFunction( "to_char", new StandardSQLFunction("to_char",StandardBasicTypes.STRING) );
		registerFunction( "to_date", new StandardSQLFunction("to_date",StandardBasicTypes.TIMESTAMP) );
		registerFunction( "sysdate", new NoArgSQLFunction("sysdate", StandardBasicTypes.TIMESTAMP, false) );
		registerFunction( "getdate", new NoArgSQLFunction("getdate", StandardBasicTypes.TIMESTAMP, false) );
		registerFunction( "nvl", new StandardSQLFunction("nvl") );
 
	} 
	 
	public boolean dropConstraints() { 
            return true; 
	} 
	 
	public boolean qualifyIndexName() { 
            return false; 
	} 
 
	public boolean supportsUnique() { 
		return false; 
	} 
     
	public boolean supportsUniqueConstraintInCreateAlterTable() { 
		return false; 
	} 
	 
    public String getAddColumnString() {
            return "add"; 
	} 
 
	public boolean supportsSequences() { 
		return true; 
	} 
 
	public String getSelectSequenceNextValString(String sequenceName) {
		return sequenceName + ".nextval";
	} 
 
	public String getSequenceNextValString(String sequenceName) {
		return "select first 1 " + sequenceName + ".nextval from sys.tables";
	} 
 
	public String getCreateSequenceString(String sequenceName) {
		return "create sequence " + sequenceName;
	} 
 
	public String getDropSequenceString(String sequenceName) {
		return "drop sequence " + sequenceName;
	} 
 
	public String getQuerySequencesString() {
		return "select NAME from sys.sequences"; 
	} 
 
	public JoinFragment createOuterJoinFragment() {
		return new OracleJoinFragment();
	} 
 
	public String getCrossJoinSeparator() {
		return ", "; 
	} 
Contextual code suggestions in your IDE  Get Codota for Java