|
|
|
|
| E011 |
Numeric data types |
|
|
| E011-01 |
INTEGER and SMALLINT data types (including all spellings) |
Yes |
|
| E011-02 |
REAL, DOUBLE PRECISION, and FLOAT data types |
Yes |
|
| E011-03 |
DECIMAL and NUMERIC data types |
No |
|
| E011-04 |
Arithmetic operators |
Yes |
|
| E011-05 |
Numeric comparison |
Yes |
|
| E011-06 |
Implicit casting among the numeric data types |
Yes |
|
|
|
|
|
| E021 |
Character string types |
|
|
| E021-01 |
CHARACTER data type (including all its spellings) |
Yes |
|
| E021-02 |
CHARACTER VARYING data type (including all its spellings) |
Yes |
|
| E021-03 |
Character literals |
Yes |
|
| E021-04 |
CHARACTER_LENGTH function |
Yes |
|
| E021-05 |
OCTET_LENGTH function |
Pending |
|
| E021-06 |
SUBSTRING function |
Yes |
|
| E021-07 |
Character concatenation |
Yes |
|
| E021-08 |
UPPER and LOWER functions |
Yes |
|
| E021-09 |
TRIM function |
Pending |
|
| E021-10 |
Implicit casting among the fixed-length and variable-length character string types |
Yes |
|
| E021-11 |
POSITION function |
Yes |
|
| E021-12 |
Character comparison |
Yes |
|
|
|
|
|
| E031 |
Identifiers |
|
|
| E031-01 |
Delimited identifiers |
Yes |
|
| E031-02 |
Lower case identifiers |
Yes |
|
| E031-03 |
Trailing underscore |
Yes |
|
|
|
|
|
| E051 |
Basic query specification |
|
|
| E051-01 |
SELECT DISTINCT |
Yes |
|
| E051-02 |
GROUP BY clause |
Yes |
|
| E051-04 |
GROUP BY can contain columns Not in |
Yes |
|
| E051-05 |
Select list items can be renamed |
Yes |
|
| E051-06 |
HAVING clause |
Yes |
|
| E051-07 |
Qualified * in select list |
Yes |
|
| E051-08 |
Correlation names in the FROM clause |
Yes |
|
| E051-09 |
Rename columns in the FROM clause |
No |
|
|
|
|
|
| E061 |
Basic predicates and search conditions |
|
|
| E061-01 |
Comparison predicate |
Yes |
|
| E061-02 |
BETWEEN predicate |
Yes |
|
| E061-03 |
IN predicate with list of values |
Yes |
|
| E061-04 |
LIKE predicate |
Partial |
Uses q-like syntax, replacing % with *: No underscore |
| E061-05 |
LIKE predicate: ESCAPE clause |
No |
|
| E061-06 |
NULL predicate |
Yes |
|
| E061-07 |
Quantified comparison predicate |
Pending |
|
| E061-08 |
EXISTS predicate |
Yes |
|
| E061-09 |
Subqueries in comparison predicate |
Yes |
|
| E061-11 |
Subqueries in IN predicate |
Yes |
|
| E061-12 |
Subqueries in quantified comparison predicate |
Pending |
|
| E061-13 |
Correlated subqueries |
Yes |
|
| E061-14 |
Search condition |
Yes |
|
|
|
|
|
| E071 |
Basic query expressions |
|
|
| E071-01 |
UNION DISTINCT table operator |
Yes |
|
| E071-02 |
UNION ALL table operator |
Yes |
|
| E071-03 |
EXCEPT DISTINCT table operator |
Yes |
|
| E071-05 |
Columns combined via table operators need Not have exactly the same data type |
Yes |
|
| E071-06 |
Table operators in subqueries |
Yes |
|
|
|
|
|
| E081 |
Basic Privileges |
No |
|
| E081-01 |
SELECT privilege at the table level |
No |
|
| E081-02 |
DELETE privilege |
No |
|
| E081-03 |
INSERT privilege at the table level |
No |
|
| E081-04 |
UPDATE privilege at the table level |
No |
|
| E081-05 |
UPDATE privilege at the column level |
No |
|
| E081-06 |
REFERENCES privilege at the table level |
No |
|
| E081-07 |
REFERENCES privilege at the column level |
No |
|
| E081-08 |
WITH GRANT OPTION |
No |
|
| E081-09 |
USAGE privilege |
No |
|
| E081-10 |
EXECUTE privilege |
No |
|
|
|
|
|
| E091 |
Set functions |
|
|
| E091-01 |
AVG |
Yes |
|
| E091-02 |
COUNT |
Yes |
|
| E091-03 |
MAX |
Yes |
|
| E091-04 |
MIN |
Yes |
|
| E091-05 |
SUM |
Yes |
|
| E091-06 |
ALL quantifier |
Pending |
|
| E091-07 |
DISTINCT quantifier |
Yes |
|
|
|
|
|
| E101 |
Basic data manipulation |
|
|
| E101-01 |
INSERT statement |
Yes |
|
| E101-03 |
Searched UPDATE statement |
No |
|
| E101-04 |
Searched DELETE statement |
No |
|
|
|
|
|
| E111 |
Single row SELECT statement |
Yes |
|
|
|
|
|
| E121 |
Basic cursor support |
No |
|
| E121-01 |
DECLARE CURSOR |
No |
|
| E121-02 |
ORDER BY columns need Not be in select list |
Yes |
|
| E121-03 |
Value expressions in ORDER BY clause |
Yes |
|
| E121-04 |
OPEN statement |
No |
|
| E121-06 |
Positioned UPDATE statement |
No |
|
| E121-07 |
Positioned DELETE statement |
No |
|
| E121-08 |
CLOSE statement |
No |
|
| E121-10 |
FETCH statement: implicit NEXT |
No |
|
| E121-17 |
WITH HOLD cursors |
No |
|
| E131 |
Null value support (nulls in lieu of values) |
Partial |
See 'nulls' in compatibility Notes |
|
|
|
|
| E141 |
Basic integrity constraints |
No |
|
| E141-01 |
NoT NULL constraints |
No |
|
| E141-02 |
UNIQUE constraints of NoT NULL columns |
No |
|
| E141-03 |
PRIMARY KEY constraints |
No |
|
| E141-04 |
Basic FOREIGN KEY constraint with the No ACTION default for both referential delete action and referential update action |
No |
|
| E141-06 |
CHECK constraints |
No |
|
| E141-07 |
Column defaults |
No |
|
| E141-08 |
NoT NULL inferred on PRIMARY KEY |
No |
|
| E141-10 |
Names in a foreign key can be specified in any order |
No |
|
|
|
|
|
| E151 |
Transaction support |
No |
|
| E151-01 |
COMMIT statement |
No |
|
| E151-02 |
ROLLBACK statement |
No |
|
| E152 |
Basic SET TRANSACTION statement |
No |
|
| E152-01 |
SET TRANSACTION statement: ISOLATION LEVEL SERIALIZABLE clause |
No |
|
| E152-02 |
SET TRANSACTION statement: READ ONLY and READ WRITE clauses |
No |
|
|
|
|
|
| E* |
Other |
|
|
| E153 |
Updatable queries with subqueries |
No |
|
| E161 |
SQL comments using leading double minus |
Pending |
|
| E171 |
SQLSTATE support |
No |
|
| E182 |
Host language binding (previously "Module Language") |
Yes |
Called from q, can call q |
|
|
|
|
| F021 |
Basic information schema |
|
|
| F021-01 |
COLUMNS view |
Pending |
|
| F021-02 |
TABLES view |
Yes |
|
| F021-03 |
VIEWS view |
Pending |
|
| F021-04 |
TABLE_CONSTRAINTS view |
No |
|
| F021-05 |
REFERENTIAL_CONSTRAINTS view |
No |
|
| F021-06 |
CHECK_CONSTRAINTS view |
No |
|
|
|
|
|
| F031 |
Basic schema manipulation |
|
|
| F031-01 |
CREATE TABLE statement to create persistent base tables |
Partial |
No persistence |
| F031-02 |
CREATE VIEW statement |
No |
|
| F031-03 |
GRANT statement |
No |
|
| F031-04 |
ALTER TABLE statement: ADD COLUMN clause |
No |
|
| F031-13 |
DROP TABLE statement: RESTRICT clause |
Partial |
No restrict |
| F031-16 |
DROP VIEW statement: RESTRICT clause |
No |
|
| F031-19 |
REVOKE statement: RESTRICT clause |
No |
|
|
|
|
|
| F041 |
Basic joined table |
|
|
| F041-01 |
Inner join (but Not necessarily the INNER keyword) |
Yes |
|
| F041-02 |
INNER keyword |
Yes |
|
| F041-03 |
LEFT OUTER JOIN |
Yes |
|
| F041-04 |
RIGHT OUTER JOIN |
Yes |
|
| F041-05 |
Outer joins can be nested |
Yes |
|
| F041-07 |
The inner table in a left or right outer join can also be used in an inner join |
Yes |
|
| F041-08 |
All comparison operators are supported (rather than just =) |
No |
|
|
|
|
|
| F051 |
Basic date and time |
|
|
| F051-01 |
DATE data type (including support of DATE literal) |
Yes |
|
| F051-02 |
TIME data type (including support of TIME literal) with fractional seconds precision of at least 0 |
Yes |
|
| F051-03 |
TIMESTAMP data type (including support of TIMESTAMP literal) with fractional seconds precision of at least 0 and 6 |
Yes |
|
| F051-04 |
Comparison predicate on DATE, TIME, and TIMESTAMP data types |
Yes |
|
| F051-05 |
Explicit CAST between datetime types and character string types |
Yes |
|
| F051-06 |
CURRENT_DATE |
Yes |
|
| F051-07 |
LOCALTIME |
Yes |
|
| F051-08 |
LOCALTIMESTAMP |
Yes |
|
| F081 |
UNION and EXCEPT in views |
No |
|
|
|
|
|
| F131 |
Grouped operations |
No |
|
| F131-01 |
WHERE, GROUP BY, and HAVING clauses supported in queries with grouped views |
No |
|
| F131-02 |
Multiple tables supported in queries with grouped views |
No |
|
| F131-03 |
Set functions supported in queries with grouped views |
No |
|
| F131-04 |
Subqueries with GROUP BY and HAVING clauses and grouped views |
No |
|
| F131-05 |
Single row SELECT with GROUP BY and HAVING clauses and grouped views |
No |
|
|
|
|
|
| F* |
Other |
|
|
| F181 |
Multiple module support |
No |
|
| F201 |
CAST function |
Yes |
|
| F221 |
Explicit defaults |
No |
|
|
|
|
|
| F261 |
CASE expression |
|
|
| F261-01 |
Simple CASE |
Yes |
|
| F261-02 |
Searched CASE |
Yes |
|
| F261-03 |
NULLIF |
Yes |
|
| F261-04 |
COALESCE |
Yes |
|
|
|
|
|
| F311 |
Schema definition statement |
No |
|
| F311-01 |
CREATE SCHEMA |
No |
|
| F311-02 |
CREATE TABLE for persistent base tables |
No |
|
| F311-03 |
CREATE VIEW |
No |
|
| F311-04 |
CREATE VIEW: WITH CHECK OPTION |
No |
|
| F311-05 |
GRANT statement |
No |
|
| F471 |
Scalar subquery values |
Yes |
|
| F481 |
Expanded NULL predicate |
No |
|
|
|
|
|
| F501 |
Features and conformance views |
No |
|
| F501-01 |
SQL_FEATURES view |
No |
|
| F501-02 |
SQL_SIZING view |
No |
|
| F501-03 |
SQL_LANGUAGES view |
No |
|
| F812 |
Basic flagging |
No |
|
| S011 |
Distinct data types |
No |
|
| S011-01 |
USER_DEFINED_TYPES view |
No |
|
|
|
|
|
| T321 |
Basic SQL-invoked routines |
|
|
| T321-01 |
User-defined functions with No overloading |
Yes |
q fns can be converted to SQL fns with .s.fs and added to .s.F |
| T321-02 |
User-defined stored procedures with No overloading |
No |
|
| T321-03 |
Function invocation |
Yes |
|
| T321-04 |
CALL statement |
No |
|
| T321-05 |
RETURN statement |
No |
|
| T321-06 |
ROUTINES view |
No |
|
| T321-07 |
PARAMETERS view |
No |
|
| T631 |
IN predicate with one list element |
Yes |
|