PragmaticSql2003
From Eigenpedia
This page describes some deviations we're considering from SQL:2003 for cases where the specification is either completely counterintuitive, exceedingly pedantic, or backwards-incompatible. As part of implementing these, we should first implement a strict mode which disables them (different Eigenbase packagings may use different default modes; the vanilla distribution should default to strict).
- Aggregated type of character literals
- Concatenation of non-character items
- ORDER BY column ordinal as a literal integer (deleted in SQL:1999 to avoid ambiguity in ORDER-BY-expression, but since this has been in SQL since the beginning, seems like a mistake, especially since no one would intentionally ORDER BY a constant, would they?)
- Comparisons for non-standard types BINARY and VARBINARY
- SYSTEM DEFINED JAVA calling convention for FarragoUdx
- uncasted nulls passed as arguments to routine invocations (eigenjira:FRG-128)
- GROUP BY expression
- type derivation rules for precision and scale of fixed-point numeric operation results (see NumericType for details)
Items below are extensions which have been suggested:
- allow TRIM('ab' from 'abcde'); SQL:2003 only allows single-character trim strings (dtbug 154)
- allow implicit numeric cast in UDR arguments (eigenjira:FRG-330)
Items below are choices made for behaviors which the standard specifies as implementation-defined:
- In case of loss of trailing digits (e.g. Part 2 Section 6.26 General Rule 5.b), use rounding instead of truncation.
Items below are currently being worked out:
SQL:2008
We can also check later versions of the standard for guidance:
- http://iablog.sybase.com/paulley/2008/07/sql2008-now-an-approved-iso-international-standard/
- http://www.wiscorp.com/SQLStandards.html
LucidDB Personality
See also LucidDbSqlConformance, some of which overlaps with the items above, but some of which is specific to LucidDB.

