Now we support DECIMAL fields with no more than 30 digits after the point. As internal decimal representation allows up to 65 digits in decimal it's natural to allow 65 digits after the point as well. Note added by Trudy Pelzer, 2006-06-02 For a related bug and test case, see BUG#14010, which should be closed when this work is complete.
The Task -------- Provide support for DECIMAL/NUMERIC data type values that allow up to 65 post-decimal digits.
The limitation on 30 digits after the point appears because it's only 5 bits reserved in frm file to store this number. This is the 'pack_flags' value of frm field data. It's possible though to use a couple of nearby 'pack_flags' bits for the same purpose that is enough to support desirable precision. prepare_create_field functions should be modified for that. Also it's necessary to thoroughly check decimal operations with that numbers as the value of 31 historically means NOT_FIXED_DEC. Should not be checked when we operate with DECIMAL's