Bug #1467 Precision/Scale Example is Inaccurate
Submitted: 2 Oct 2003 14:12 Modified: 22 Mar 2004 19:52
Reporter: Dean Ellis Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Documentation Severity:S3 (Non-critical)
Version: OS:
Assigned to: Paul DuBois CPU Architecture:Any

[2 Oct 2003 14:12] Dean Ellis
Description:
Manual chapter 6.2.1 Numeric Types

Example for DECIMAL(5,2) inaccurately states that the allowable range for this is -99.99 to 99.99 (or 999.99 because it "doesn't have to store the sign").  Range is actually -999.99 to 999.99 making the example potentially confusing/misleading.

How to repeat:
n/a

Suggested fix:
If the behaviour changed recently, I would add a note to that effect.

Otherwise, correct the range example to -999.99 to 999.99 and remove the comment about storing the sign.
[2 Oct 2003 14:17] Dean Ellis
Well, the positive range for DECIMAL (5,2) is 9999.99 as it is not storing the sign, so I suppose the example should just be updated to reflect that, but this behaviour and the explanation tend towards confusing someone who is not expecting signedness to have any impact on the allowable range of values.
[3 Oct 2003 8:20] MySQL Verification Team
Paul..Please analyse and comments.
[22 Mar 2004 19:52] Paul DuBois
Thank you for your bug report. This issue has been addressed in the
documentation. The updated documentation will appear on our website
shortly, and will be included in the next release of the relevant
product(s).

Additional info:

As it turns out, the example was added near the beginning
of 3.23.x, but it was incorrect. It was amended shortly thereafter,
but not correctly.

I've corrected the passage to indicate the proper range, and also
added a note explaining that the range actually will be different
before MySQL 3.23. (DECIMAL is stored somewhat differently
before 3.23.)

http://www.mysql.com/doc/en/Numeric_types.html