- changed milestone to 1.1.x
Infinity numbers in oracle database produce an exception in cx_oracle.py (_detect_decimal)
Customer's database contains BINARY_FLOAT_INFINITY value in one column in few rows.
During requsting rows in fetch, function _detect_decimal called with value '~' and raise exception: ValueError: invalid literal for int() with base 10: '~'
I use cx_orcale 5.3 and 6.0
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
Comments (4)
-
repo owner -
repo owner - changed milestone to 1.2
I can get this in 1.2 as I am needing to rewrite the entire numeric support to accommodate for cx_Oracle 6. Getting it into 1.1 would require significant changes to the existing numeric system that are too risky for how far 1.1 is along. I'm hoping you're able to work around your issue for the moment with a CAST to string.
-
reporter Thank you, this is not block my work.
-
repo owner - changed status to resolved
Refactor for cx_Oracle version 6
Drops support for cx_Oracle prior to version 5.x, reworks numeric and binary support.
Fixes:
#4064Change-Id: Ib9ae9aba430c15cd2a6eeb4e5e3fd8e97b5fe480
→ <<cset 31f80b9eaeb3>>
- Log in to comment
I don't have a quick fix for this right now, I am working on Oracle numerics in 1.2 and will take this into account. As for a backport to 1.1, I'll have to see what's possible. I am hoping you can work around this on the query side for now, e.g. use a CAST to String or something similar so you can get the data from this table back.