Affects: Documentation (Ref Guide, User Guide, etc.), Compatibility/Configuration, Release Notes project_key: SOA Teiid diverges from the SQL spec by parsing numerical expressions of the form <integral value>.<integral value> as doubles rather than as an exact numeric type (which for us would be BigDecimal). I believe this was originally done to match Java parsing semantics and potentially to avoid performance overhead of using BigBecimal. However this can lead to a loss of precision that is not expected by ANSI SQL. inexact numeric values entered in scientific notation would not be affected by this change. They would still be parsed as doubles. The SQL spec also requires that the result of AVG on an exact type be returned as an exact type (although precision and scale are implementation dependent).
Link: Added: This issue Cloned from TEIID-1600
Release Notes Text: Added: This will be a change to bring Teiid in line with the SQL spec in how it parses exact numeric values and return values from the AVG aggregate. In some situations this will require that vdbs be rebuilt with explicit conversions added in view layers. Security: Added: Public
Date: 2011-11-30 21:03:44 -0500 (Wed, 30 Nov 2011) New Revision: 3711 Modified: trunk/build/kits/jboss-container/teiid-releasenotes.html trunk/documentation/admin-guide/src/main/docbook/en-US/content/appendix-c.xml trunk/engine/src/main/java/org/teiid/query/parser/SQLParserUtil.java trunk/engine/src/main/java/org/teiid/query/sql/symbol/AggregateSymbol.java trunk/engine/src/main/javacc/org/teiid/query/parser/SQLParser.jj Log: TEIID-1600 allowing backward compatibility to work with avg as well