JDBC javadoc is vague (just says "precision"). Since it also
returns radix information for a column, it woudl seem reasonable
to interpret precision in terms of that.
I checked the SQL standard's precision concept:
ISO-IEC 9075-2-2003, Section 4.4.1 states that a numeric type
is decribed by, among other properties, a precision which can be either binary or decimal.
Section 6.1 for <exact numeric type> allows an implementation to
define radix for precision for INT, SMALLINT and BIGINT as either
binary or decimal. I assume for Derby this is binary.
NUMERIC and DECIMAL have decimal precision.
Section 4.4.2 says about approximate numeric values (REAL, FLOAT and DOUBLE values
are such, see 6.1): "An approximate numeric value has a precision.
The precision is a positive integer that specifies the number of significant
binary digits in the mantissa."
This makes me believe the correct precision for REAL, FLOAT and DOUBLE
should be in terms of binary digits. We could ping Lance...