5. バージョンアップに伴う特別な設定
5.2. Mapper の互換性プロパティ
5.2.1. DataSpider Servista 2.4.0 の互換性プロパティ
• デフォルト値
◦ false
• 配置場所
◦ $DATASPIDER_HOME/server/conf
• キー
◦ vp.logic.numeric.default.type.int
• 値の説明
◦ true: 入力データのより高い精度の内部データ型を使用します。入力データが文字列型の場合は、int 型を使
用します。(2.3.x 以前の動作)
◦ false: 内部データ型の BigDecimal 型を使用します。(2.4.0 以降の動作)
• デフォルト値
◦ false
• プロパティの詳細
本プロパティを設定すると、入力データのより高い精度の内部データ型が使用されます。
内部データ型 範囲
byte 8 ビット整数
short 16 ビット整数
int 32 ビット整数
float 32 ビット浮動小数点数
double 64 ビット浮動小数点数
BigDecimal 実数
byte 型がもっとも精度が低く、BigDecimal 型がもっとも精度が高くなります。たとえば、int 型と BigDecimal 型の演算では BigDecimal型 を使用します。
◦ 入力データが文字列型の場合、内部データ型は int 型を使用します。内部データ型が int 型の動作は、以下 の通りです。
▪ 小数点以下が切り捨てられる
▪ 内部データ型の int 型の範囲外の数値が int 型の範囲内に丸められ、データの精度が落ちる ( int 型の範囲は「2147483647」から「-2147483648」となります。)
( 通常 (本プロパティ無効) 時は BigDecimal を使用するため、小数点の切り捨てや、データの精度が落 ちることはありません。)
◦ 本プロパティが影響する Mapper ロジックは、以下の通りです。
▪ [分岐]
条件判定による出力の切り替え
▪ [条件]-[数値]
等しい、等しくない、未満、以下、より大きい、以上
▪ [数値]-[演算]
足し算、引き算、掛け算、割り算、余り
▪ [数値]-[集合]
合計値、平均値、ノードの最大値、ノードの最小値
◦ 本プロパティ有効 / 無効時の動作例は以下の通りです。
▪ 条件判定による出力の切り替えロジック
[判定対象] が数値型のスクリプト変数「1」、[判定方法] が [指定した値との比較]、[判定基準] が [~以上]、[判定内容] が「1.5」の場合の動作は以下になります。
▪ プロパティ有効時:「成立」
▪ プロパティ無効時:「不成立」
▪ 等しいロジック
文字列型「1.5」と文字列型「1.4」を比較した結果データは以下になります。
▪ プロパティ有効時:「true」
▪ プロパティ無効時:「false」
▪ 足し算ロジック
文字列型「1.5」と文字列型「1.5」を足し算した結果データは以下になります。
▪ プロパティ有効時:「2」
▪ プロパティ無効時:「3.0」
▪ 割り算ロジック
文字列型「10.5」と文字列型「3」を割り算した結果データは以下になります。
▪ プロパティ有効時:「3」
▪ プロパティ無効時:「3.5」
▪ 合計値ロジック
文字列型「3.3」、文字列型「3.4」、文字列型「3.3」を合計した結果データは以下になります。
▪ プロパティ有効時:「9」
▪ プロパティ無効時:「10.0」
内部データ型が int 型の場合、小数点以下が切り捨てられるため、上記のような動作になります。
2). ドキュメントMapper
mapper.xml2table.disableNullOutput
• 修正内容
入力元コンポーネントのデータモデルが XML 型かつ出力先コンポーネントがテーブルモデル型の場合に、文字列 型の出力先データに null 値をマッピングすると、null 値として出力されるようにしました。
以前の動作に変更したい場合には、以下の対象ファイルに互換性プロパティを設定してください。
• 対象ファイル
◦ system.properties
• 配置場所
◦ $DATASPIDER_HOME/server/conf
• キー
◦ mapper.xml2table.disableNullOutput
• 値の説明
◦ true: 空文字を出力します。(2.3.x 以前の動作)
◦ false: null 値を出力します。(2.4.0 以降の動作)
• デフォルト
◦ false