13.07.2019 12:10, Mark Rotteveel wrote:

I propose that for Firebird 4 we bring this inline with the standard:

1. Change and document FLOAT(p) to apply precision in binary digits, that is:
- p in [1, 24] is a 32 bit single precision
- p in [25, 53] is a 64 bit double precision
- p < 1 and p > 53 are an error (in the future we could consider adding support for higher precision formats like binary128 (p in [54, 113]) and binary256 (p in [114, 237]))
2. Document that FLOAT (without precision) is a synonym for FLOAT(24).
3. Document DOUBLE PRECISION as a synonym of FLOAT(53)
4. Document REAL as a synonym of FLOAT(24)
5. Document LONG FLOAT as a synonym of FLOAT(53)

This change will break backwards compatibility for FLOAT(p), but as the precision syntax for FLOAT was never documented, I think that is an acceptable tradeoff to gain better standard compliance.

As far as I can tell, technically this change would be limited to parse.y (float_type).

Are there any objections to such a change? I'm willing to provide a pull request for this.

No objections from my side, (possible) compatibility issues sound acceptable for a major release.


Dmitry


Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to