スケーラブルデータベースサーバ HiRDB Version 8 UAP開発ガイド

[目次][索引][前へ][次へ]

18.8.5 オーバフローの扱い

ここでは,setXXXメソッドを使用して値を設定する場合,及びgetXXXメソッドを使用して値を取得する場合にオーバフローするかどうかについて説明します。

<この項の構成>
(1) setXXXメソッド(setObjectメソッドを除く)
(2) setObjectメソッド
(3) getXXXメソッド(getObjectメソッドを除く)
(4) getObjectメソッド

(1) setXXXメソッド(setObjectメソッドを除く)

次の表に,setXXXメソッド使用時にオーバフローするかどうかを,HiRDBのデータ型ごとに示します。

表18-73 setXXXメソッド使用時のオーバフロー有無(1/2)

setXXXメソッド HiRDBのデータ型
SMALLINT INTEGER FLOAT REAL DECIMAL 文字列型
setByte ×
setShort ×
setInt × ×
setLong × × ×
setFloat × × ×
setDouble × × ×
setBigDecimal × × ×
setBoolean ×
setString × × ×
setBytes
setDate
setTime
setTimestamp
setBlob
setBinaryStream
setAsciiStream
setArray × × × × ×
setCharacterStream

(凡例)
○:値に関係なく,オーバフローしません。
×:値によっては,オーバフローすることがあります。
−:この組み合わせでは使用できません。
文字列型:CHAR型,MCHAR型,NCHAR型,VARCHAR型,MVARCHAR型,及びNVARCHAR型

 

表18-74 setXXXメソッド使用時のオーバフロー有無(2/2)

setXXXメソッド HiRDBのデータ型
DATE TIME TIMESTAMP BINARY BLOB
setByte
setShort
setInt
setLong
setFloat
setDouble
setBigDecimal
setBoolean
setString × ×
setBytes
setDate × ×
setTime × ×
setTimestamp × ×
setBlob
setBinaryStream
setAsciiStream
setArray × × ×
setCharacterStream

(凡例)
○:値に関係なく,オーバフローしません。
×:値によっては,オーバフローすることがあります。
−:この組み合わせでは使用できません。

注※
java.sql.Date,java.sql.Time,又はjava.sql.TimestampクラスのgetTimeメソッドで取得した値が253,402,268,399,999より大きいか,又は-62,135,802,000,000より小さいオブジェクトである場合,オーバフローします。なお,getTimeメソッドは,1970年1月1日0時0分0秒(グリニッジ標準時)からのミリ秒数を返します。
253,402,268,399,999はHiRDBのTIMESTAMP型に格納できる最大値から,-62,135,802,000,000はjava.sql.Timestampクラスで表現できる最小値から,次に示すメソッドで取得できます。
253,402,268,399,999:
Timestamp.valueOf("9999-12-31 23:59:59.999999").getTime()
-62,135,802,000,000:
Timestamp.valueOf("0001-01-01 00:00:00.0").getTime()

(2) setObjectメソッド

次の表に,setObjectメソッド使用時にオーバフローするかどうかを,HiRDBのデータ型ごとに示します。

表18-75 setObjectメソッド使用時のオーバフロー有無(1/2)

setObjectメソッド HiRDBのデータ型
SMALLINT INTEGER FLOAT REAL DECIMAL 文字列型
Byte ×
Short ×
Integer × ×
Long × × ×
Decimal × × ×
Float × × ×
Double × × × ×
Boolean ×
String × × ×
Date
Time
Timestamp
byte[]
Blob
Array

(凡例)
○:値に関係なく,オーバフローしません。
×:値によっては,オーバフローすることがあります。
−:この組み合わせでは使用できません。
文字列型:CHAR型,MCHAR型,NCHAR型,VARCHAR型,MVARCHAR型,及びNVARCHAR型

 

表18-76 setObjectメソッド使用時のオーバフロー有無(2/2)

setObjectメソッド HiRDBのデータ型
DATE TIME TIMESTAMP BINARY BLOB
Byte
Short
Integer
Long
Decimal
Float
Double
Boolean
String × ×
Date × ×
Time ×
Timestamp × ×
byte[]
Blob
Array

(凡例)
○:値に関係なく,オーバフローしません。
×:値によっては,オーバフローすることがあります。
−:この組み合わせでは使用できません。

注※
java.sql.Date,java.sql.Time,又はjava.sql.TimestampクラスのgetTimeメソッドで取得した値が253,402,268,399,999より大きいか,又は-62,135,802,000,000より小さいオブジェクトである場合,オーバフローします。なお,getTimeメソッドは,1970年1月1日0時0分0秒(グリニッジ標準時)からのミリ秒数を返します。
253,402,268,399,999はHiRDBのTIMESTAMP型に格納できる最大値から,-62,135,802,000,000はjava.sql.Timestampクラスで表現できる最小値から,次に示すメソッドで取得できます。
253,402,268,399,999:
Timestamp.valueOf("9999-12-31 23:59:59.999999").getTime()
-62,135,802,000,000:
Timestamp.valueOf("0001-01-01 00:00:00.0").getTime()

(3) getXXXメソッド(getObjectメソッドを除く)

次の表に,getXXXメソッド使用時にオーバフローするかどうかを,HiRDBのデータ型ごとに示します。

表18-77 getXXXメソッド使用時のオーバフロー有無(1/2)

getXXXメソッド HiRDBのデータ型
SMALLINT INTEGER FLOAT REAL DECIMAL 文字列型
getByte × × × × × ×
getShort × × × × ×
getInt × × × ×
getLong × × × ×
getFloat
getDouble
getBigDecimal
getBoolean
getString
getBytes
getDate
getTime
getTimestamp
getAsciiStream
getBinaryStream
getCharacterStream
getArray
getBlob

(凡例)
○:値に関係なく,オーバフローしません。
×:値によっては,オーバフローすることがあります。
−:この組み合わせでは使用できません。
文字列型:CHAR型,MCHAR型,NCHAR型,VARCHAR型,MVARCHAR型,及びNVARCHAR型

 

表18-78 getXXXメソッド使用時のオーバフロー有無(2/2)

getXXXメソッド HiRDBのデータ型
DATE TIME TIMESTAMP BINARY BLOB
getByte
getShort
getInt
getLong
getFloat
getDouble
getBigDecimal
getBoolean
getString
getBytes
getDate
getTime
getTimestamp
getAsciiStream
getBinaryStream
getCharacterStream
getArray
getBlob

(凡例)
○:値に関係なく,オーバフローしません。
−:この組み合わせでは使用できません。

(4) getObjectメソッド

次の表に,getObjectメソッド使用時にオーバフローするかどうかを,HiRDBのデータ型ごとに示します。

表18-79 getObjectメソッド使用時のオーバフロー有無(1/2)

getObjectメソッド HiRDBのデータ型
SMALLINT INTEGER FLOAT REAL DECIMAL 文字列型
Byte × × × × × ×
Short × × × × ×
Int × × × ×
Long × × × ×
Float × × ×
Double × × ×
BigDecimal × × ×
Boolean
String
Bytes
Date
Time
Timestamp
AsciiStream
BinaryStream
Object
CharacterStream
Array
Blob

(凡例)
○:値に関係なく,オーバフローしません。
×:値によっては,オーバフローすることがあります。
−:この組み合わせでは使用できません。
文字列型:CHAR型,MCHAR型,NCHAR型,VARCHAR型,MVARCHAR型,及びNVARCHAR型

 

表18-80 getObjectメソッド使用時のオーバフロー有無(2/2)

getObjectメソッド HiRDBのデータ型
DATE TIME TIMESTAMP BINARY BLOB
Byte
Short
Int
Long
Float
Double
BigDecimal
Boolean
String
Bytes
Date
Time
Timestamp
AsciiStream
BinaryStream
Object
CharacterStream
Array
Blob

(凡例)
○:値に関係なく,オーバフローしません。
−:この組み合わせでは使用できません。