Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
Description
Normally the precision of a decimal number its its total number of significant digits, and scale is the number of decimal digits, meaning that precision is almost always a greater value than scale.
Oracle is an example of an RDBMS where a decimal's scale value can be greater than its precision. From the Oracle documentation: "Scale can be greater than precision, most commonly when e notation is used. When scale is greater than precision, the precision specifies the maximum number of significant digits to the right of the decimal point. For example, a column defined as NUMBER(4,5) requires a zero for the first digit after the decimal point and rounds all values past the fifth digit after the decimal point."
Avro assumes decimals with scale larger than precision are invalid, causing errors in ExecuteSQL(Record) processors for example. If scale is larger than precision, we can assume that the scale value should be used as the precision.
Attachments
Issue Links
- links to