JRuby (JDBC) に対する変更のみで、MRI (oci8) への変更点はなしのリリースとなる。
JRuby 用の OracleEnhancedJDBCConnection
を使ったときに BINARY_FLOAT データベース型にマッピングされている AR のスキーマで定義した float
に対して nil
が返っているところを、MRI 用の OracleEnhancedOCIConnection
での挙動と同じく近似値の Float インスタンスを返すようにしたのが変更点。注意点としては BINARY_FLOAT 型として格納する性質上、データベースに保存した値に対して丸め誤差が生じること。
丸め誤差のない形を期待する場合は、float
ではなく decimal
を使った AR スキーマ定義による保存を検討するのが良いと思う。
なお、MySQL や PostgreSQL のアダプタでは float
に対してそもそもの保存するデータベース型が異なり、丸め誤差が起きないようになっている模様。