1.9.2 Type mapping

This section explains the mapping between the data types that are recognized in the Java language and the data types that are recognized by HiRDB.

Table 1-25 shows the implicit mapping that occurs when a Java signature specifying an external routine is omitted. Table 1-26 shows the mapping between the Java data types that can be specified in a Java signature with an external routine specification and the HiRDB data types.

Table 1-25 Implicit mapping that occurs when a Java signature specifying an external routine is omitted

HiRDB data typeJava data type (null value allowed)
INT [EGER]java.lang.Integer
SMALLINTjava.lang.Short
[LARGE] DEC [IMAL]java.math.BigDecimal
FLOAT, DOUBLE PRECISIONjava.lang.Double
SMALLFLT, REALjava.lang.Float
CHAR [ACTER]java.lang.String
VARCHAR(n), CHAR [ACTER] VARYING
NCHAR, NATIONAL CHAR [ACTER]
NVARCHAR, NATIONAL CHAR [ACTER], NCHAR VARYING
MCHAR
MVARCHAR
DATEjava.sql.Date
TIMEjava.sql.Time
TIMESTAMPjava.sql.Timestamp
INTERVAL YEAR TO DAYjava.math.BigDecimal
INTERVAL HOUR TO SECOND
BLOB, BINARY LARGE OBJECTbyte[]
BINARY

Table 1-26 Mapping between Java data types specifiable in a Java signature with an external routine specification and HiRDB data types

HiRDB data typeJava data type (null value allowed)Java data type (null value not allowed)1
INT [EGER]java.lang.Integerint
SMALLINTjava.lang.Shortshort
[LARGE] DEC [IMAL]java.math.BigDecimal[Figure]
FLOAT, or DOUBLE PRECISIONjava.lang.Doubledouble
SMALLFLT, or REALjava.lang.Floatfloat
CHAR [ACTER]java.lang.String, or byte[]2[Figure]3
VARCHAR(n), or CHAR [ACTER] VARYING
NCHAR, or NATIONAL CHAR [ACTER]
NVARCHAR, NATIONAL CHAR [ACTER], or NCHAR VARYING
MCHAR
MVARCHAR
DATEjava.sql.Date[Figure]
TIMEjava.sql.Time
TIMESTAMPjava.sql.Timestamp
INTERVAL YEAR TO DAYjava.math.BigDecimal
INTERVAL HOUR TO SECOND
BLOB, or BINARY LARGE OBJECTbyte[]
BINARY
Abstract data type[Figure]
[Figure]: No corresponding data type exists in the Java language.
1 Assigning the null value may cause an error at runtime.
2 Either Java.lang.String or byte[] can be specified as the Java data type corresponding to the HiRDB character string data type. Specifying byte[] suppresses character code conversion.
3 When Japanese data is exchanged between HiRDB and a Java routine using a String class or a class that has inherited that class, gaiji codes may not be correctly translated due to Java character code mapping rules (between a given character code and Unicode).