/**
* {@inheritDoc}
*/
protected void initialize(final DDLGenConfiguration conf) {
// numeric types
this.add(new NoParamType("bit", "BOOLEAN"));
LOG.warn("SapDB does not support 'TINYINT' type, use SMALLINT instead.");
this.add(new NoParamType("tinyint", "SMALLINT"));
this.add(new NoParamType("smallint", "SMALLINT"));
this.add(new NoParamType("integer", "INTEGER"));
this.add(new NoParamType("int", "INTEGER"));
LOG.warn("SapDB does not support 'BIGINT' type, use NUMERIC instead.");
this.add(new NoParamType("bigint", "NUMERIC"));
this.add(new OptionalLengthType("float", "FLOAT", conf));
this.add(new NoParamType("double", "DOUBLE PRECISION"));
this.add(new NoParamType("real", "DOUBLE PRECISION"));
this.add(new OptionalPrecisionDecimalsType("numeric", "NUMERIC", conf));
this.add(new OptionalPrecisionDecimalsType("decimal", "DECIMAL", conf));
// character types
this.add(new OptionalLengthType("char", "CHAR", conf));
this.add(new RequiredLengthType("varchar", "VARCHAR", conf));
LOG.warn("SapDB does not support 'LONGVARCHAR' type, use LONG instead.");
this.add(new RequiredLengthType("longvarchar", "LONG", conf));
// date and time types
this.add(new NoParamType("date", "DATE"));
this.add(new NoParamType("time", "TIME"));
this.add(new NoParamType("timestamp", "TIMESTAMP"));
// other types
LOG.warn("SapDB does not support 'BINARY' type, use BLOB instead.");
this.add(new NoParamType("binary", "BLOB"));
LOG.warn("SapDB does not support 'VARBINARY' type, use BLOB instead.");
this.add(new NoParamType("varbinary", "BLOB"));
LOG.warn("SapDB does not support 'LONGVARBINARY' type, use BLOB instead.");
this.add(new NoParamType("longvarbinary", "BLOB"));
this.add(new NoParamType("other", "BLOB"));
this.add(new NoParamType("javaobject", "BLOB"));
this.add(new NoParamType("blob", "BLOB"));
this.add(new NoParamType("clob", "CLOB"));
}