Ok, I understand it's not "wrong", works as designed/intended. Just put into documentation.
Also, how do you expect to people to leave dialect 1 when dialect 3 gives no benefit, in both dialect extra effort needed to get calculations right, plain operation and funcation usage is not enought to get correct results: dialect 1 requires rounding everywhere because the everything is a float dialect 3 requires double precition cast and rounding in case of division because of low precision/scale during calculation A new dialect or a new option should do the job. -----Eredeti üzenet----- Feladó: Dimitry Sibiryakov [mailto:s...@ibphoenix.com] Küldve: 2021. szeptember 1., szerda 11:27 Címzett: For discussion among Firebird Developers <firebird-devel@lists.sourceforge.net> Tárgy: Re: [Firebird-devel] Dialect 3 inconsistent round/trunc - configurable calculation method needed Molnár Attila wrote 01.09.2021 8:29: > The problem: why the storage format has affect on calculation. It just feels > wrong. It is ordinary thing in all programming languages when data types decide calculation rules. In the Delphi product of integer division used to be floating point, but that's Pascal exclusive rules. SQL (including Firebird) is based rather on C where division of two integers produce integer. > What is the point of dialect 3 when it does not spare work, it just replace > one boilerplate code writing to an other? If it doesn't work the way you expect it doesn't mean that it works wrong. Just accept that rules of arithmetic are different in different programming languages and perform calculations in the language which comply with your goals. -- WBR, SD. Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel