eXtremeSQL provides a SQL-89 compatible query language with many extensions:
- Arrays
- Structures
- References
- Support of all C++ built-in types
- User-defined functions
Also there are some incompatibilities with the ANSI standard:
- Assigning null values to columns of some types is not supported.
- Changing the database schema at runtime (add table, add index,...) is not supported.
- Identifiers are case sensitive (SQL keywords are case insensitive).
- Views are not updatable.
- Insofar as eXtremeDB has no notion of a “remote table”, materialized views are irrelevant (i.e. not supported).
- Constraints are not enforced by the SQL interface itself, but are enforced by the underlying eXtremeDB runtime.
RIGHT OUTER JOIN
andFULL OUTER JOIN
are not implemented.- Triggers are not supported, but underlying eXtremeDB event notifications will be invoked if the eXtremeSQL action causes such an event.