Appendix D. SQL Types

Following is a table of the java class to SQL type that is generated by the schematool.

Note

Kodo does not impose these table constraints: they are merely the default column types that are generated for each of the included dictionaries. These types can easily be overridden by extending com.solarmetric.kodo.impl.jdbc.schema.dict.GenericDictionary.

Table D.1. SQL Type Mappings

 STRINGCLOBLENSTRINGBOOLEANBYTE
MySQL VARCHAR(255)TEXTVARCHAR({0})SMALLINTSMALLINT
Hypersonic SQL VARCHAR(255)LONGVARCHARVARCHAR({0})SMALLINTSMALLINT
DB2 VARCHAR(255)CLOB(1M)VARCHAR({0})SMALLINTSMALLINT
Generic VARCHAR(255)CLOBVARCHAR({0})TINYINTSMALLINT
InstantDB VARCHAR(255)TEXTVARCHAR({0})BYTEBYTE
Oracle VARCHAR2(255)CLOBVARCHAR2({0})NUMBER(1)SMALLINT
Postgres VARCHAR(255)TEXTVARCHAR({0})INT2INT2
SQLServer VARCHAR(255)TEXTVARCHAR({0})SMALLINTSMALLINT

Table D.2. SQL Type Mappings II

 CHARACTERREALDOUBLEINTEGERLONG
MySQL CHAR(1)REALDECIMAL(50,80)INTEGERBIGINT
Hypersonic SQL CHAR(1)REALDOUBLEINTEGERBIGINT
DB2 CHAR(1)REALDOUBLEINTEGERBIGINT
Generic CHAR(1)REALDOUBLEINTEGERBIGINT
InstantDB CHAR(1)REALDOUBLEINTLONG
Oracle CHAR(1)REALNUMBERNUMBERNUMBER
Postgres CHAR(1)REALDECIMALINT4INT8
SQLServer CHAR(1)REALFLOAT(32)INTEGERNUMERIC(19)

Table D.3. SQL Type Mappings III

 SHORTDATEBLOBBIGINTEGERBIGDECIMAL
MySQL SMALLINTDATETIMEBLOBDECIMAL(200)DECIMAL(200,800)
Hypersonic SQL SMALLINTTIMESTAMPVARBINARYDECIMALDECIMAL
DB2 SMALLINTTIMESTAMPBLOB(1M)BIGINTDOUBLE
Generic SMALLINTTIMESTAMPBLOBBIGINTDECIMAL
InstantDB SHORTTIMESTAMPVARBINARYNUMERIC(38,19)DECIMAL(38,19)
Oracle NUMBERDATEBLOBNUMBERNUMBER
Postgres INT2TIMESTAMPBYTEANUMERICDECIMAL
SQLServer SMALLINTDATETIMEIMAGENUMERIC(38,0)NUMERIC(38,20)