/**
* Creates a new platform instance.
*/
public SapDbPlatform()
{
PlatformInfo info = getPlatformInfo();
info.setMaxIdentifierLength(32);
info.setCommentPrefix("/*");
info.setCommentSuffix("*/");
// BIGINT is also handled by the model reader
// Unfortunately there is no way to distinguish between REAL, and FLOAT/DOUBLE when
// reading back via JDBC, because they all have the same size of 8
info.addNativeTypeMapping(Types.ARRAY, "LONG BYTE", Types.LONGVARBINARY);
info.addNativeTypeMapping(Types.BIGINT, "FIXED(38,0)");
info.addNativeTypeMapping(Types.BINARY, "CHAR{0} BYTE");
info.addNativeTypeMapping(Types.BIT, "BOOLEAN");
info.addNativeTypeMapping(Types.BLOB, "LONG BYTE", Types.LONGVARBINARY);
info.addNativeTypeMapping(Types.CLOB, "LONG", Types.LONGVARCHAR);
info.addNativeTypeMapping(Types.DECIMAL, "FIXED");
info.addNativeTypeMapping(Types.DISTINCT, "LONG BYTE", Types.LONGVARBINARY);
info.addNativeTypeMapping(Types.DOUBLE, "FLOAT(38)", Types.FLOAT);
info.addNativeTypeMapping(Types.FLOAT, "FLOAT(38)");
info.addNativeTypeMapping(Types.JAVA_OBJECT, "LONG BYTE", Types.LONGVARBINARY);
info.addNativeTypeMapping(Types.LONGVARBINARY, "LONG BYTE");
info.addNativeTypeMapping(Types.LONGVARCHAR, "LONG");
info.addNativeTypeMapping(Types.NULL, "LONG BYTE", Types.LONGVARBINARY);
info.addNativeTypeMapping(Types.NUMERIC, "FIXED", Types.DECIMAL);
info.addNativeTypeMapping(Types.OTHER, "LONG BYTE", Types.LONGVARBINARY);
info.addNativeTypeMapping(Types.REAL, "FLOAT(16)", Types.FLOAT);
info.addNativeTypeMapping(Types.REF, "LONG BYTE", Types.LONGVARBINARY);
info.addNativeTypeMapping(Types.STRUCT, "LONG BYTE", Types.LONGVARBINARY);
info.addNativeTypeMapping(Types.TINYINT, "SMALLINT", Types.SMALLINT);
info.addNativeTypeMapping(Types.VARBINARY, "VARCHAR{0} BYTE");
info.addNativeTypeMapping("BOOLEAN", "BOOLEAN", "BIT");
info.addNativeTypeMapping("DATALINK", "LONG BYTE", "LONGVARBINARY");
info.setDefaultSize(Types.CHAR, 254);
info.setDefaultSize(Types.VARCHAR, 254);
info.setDefaultSize(Types.BINARY, 254);
info.setDefaultSize(Types.VARBINARY, 254);
setSqlBuilder(new SapDbBuilder(this));
setModelReader(new SapDbModelReader(this));
}