Skip to content
Mathias Rangel Wulff edited this page Jun 11, 2015 · 9 revisions

SQL-99 features supported by AlaSQL

The following table lists all features included in core SQL-99 (source) and thier support in AlaSQL.

Feature ID SQL-99 Feature Name AlaSQL Support
B011 Embedded Ada No
B012 Embedded C No
B013 Embedded COBOL No
B014 Embedded Fortran No
B015 Embedded MUMPS No
B016 Embedded Pascal No
B017 Embedded PL/I 1 No
E011 Numeric data types
E011-01 INTEGER and SMALLINT data types (including all spellings) Yes
E011-02 REAL, [DOUBLE PRECISON](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 data 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 No
E021-06 SUBSTRING function Yes
E021-07 Character concatenation Yes
E021-08 UPPER and LOWER functions Yes
E021-09 TRIM function Yes
E021-10 Implicit casting among the character data types Yes
E021-11 POSITION function ?
E011-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](Group By) clause Yes
E051-04 [GROUP BY](Group By) can contain columns not in select-list 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 Yes
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 Yes
E061-05 LIKE predicate: ESCAPE clause Yes
E061-06 NULL predicate Yes
E061-07 Quantified comparison predicate Yes
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 Yes
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](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
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 Yes
E091-07 DISTINCT quantifier Yes
E101 Basic data manipulation
E101-01 INSERT statement Yes
E101-03 Searched UPDATE statement Yes
E101-04 Searched DELETE statement Yes
E111 Single row SELECT statement Yes
E121 Basic cursor support
E121-01 DECLARE CURSOR No
E121-02 ORDER BY columns need not be in select list No
E121-03 Value expressions in ORDER BY clause No
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) Yes
E141 Basic integrity constraints
E141-01 [NOT NULL](Not Null) constraints Yes
E141-02 UNIQUE constraints of [NOT NULL](Not NUll) columns Yes
E141-03 [PRIMARY KEY](Primary Key) constraints Yes
E141-04 Basic FOREIGN KEY constraint with the NO ACTION default Yes
E141-06 CHECK constraints Yes
E141-07 Column defaults Yes
E141-08 [NOT NULL](Not Null) inferred on [PRIMARY KEY](Primary Key) ?
E141-10 Names in a foreign key can be specified in any order ?
E151 Transaction support
E151-01 COMMIT statement No
E151-02 ROLLBACK statement No
E152 Basic SET TRANSACTION statement
E152-01 SET TRANSACTION statement: ISOLATION LEVEL SERIALIZABLE clause No
E152-02 SET TRANSACTION statement: READ ONLY and READ WRITE clauses No
E153 Updatable queries with subqueries No
E161 SQL comments using leading double minus Yes
E171 SQLSTATE support No
F021 Basic information schema
F021-01 COLUMNS view Yes
F021-02 TABLES view Yes
F021-03 VIEWS view Yes
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](Create Table) statement to create persistent base tables Yes
F031-02 [CREATE VIEW](Create View) statement Yes
F031-03 GRANT statement No
F031-04 [ALTER TABLE](Alter table) statement: [ADD COLUMN](Add Column) clause Partial
F031-13 [DROP TABLE](Drop Table) statement: RESTRICT clause Partial
F031-16 [DROP VIEW](Drop View) statement: RESTRICT clause Partial
F031-19 REVOKE statement: RESTRICT clause No
F041 Basic joined table
F041-01 [Inner join](Inner Join) (but not necessarily the INNER keyword) Yes
F041-02 INNER keyword Yes
F041-03 [LEFT OUTER JOIN](Left Join) Yes
F041-04 [RIGHT OUTER JOIN](Right Join) Yes
F041-05 Outer joins can be nested ?
F041-07 The inner table in a left or right outer join can also be used in an inner join ?
F041-08 All comparison operators are supported (rather than just =) Yes
F051 Basic date and time
F051-01 DATE data type (including DATE literal) Yes
F051-02 TIME data type (including TIME literal) with fractional seconds precision of 0 Yes
F051-03 TIMESTAMP data type (including TIMESTAMP literal) with fractional seconds precision of 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 types Yes
F051-06 CURRENT_DATE No
F051-07 LOCALTIME No
F051-08 LOCALTIMESTAMP No
F081 UNION and EXCEPT in views ?
F131 Grouped operations
F131-01 WHERE, [GROUP BY](Group By), and HAVING clauses supported in queries with grouped views Yes
F131-02 Multiple tables supported in queries with grouped views Yes
F131-03 Set functions supported in queries with grouped views Yes
F131-04 Subqueries with [GROUP BY](Group By) and HAVING clauses and grouped views Yes
F131-05 Single row SELECT with [GROUP BY](Group By) and HAVING clauses and grouped views Yes
F181 Multiple module support No
F201 CAST function Yes
F221 Explicit defaults Yes
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
F311-01 [CREATE SCHEMA](Create Schema) Partial
F311-02 [CREATE TABLE](Create Table) for persistent base tables Yes
F311-03 [CREATE VIEW](Create View) Yes
F311-04 CREATE VIEW: WITH CHECK OPTION No (only syntax)
F311-05 GRANT statement No
F471 Scalar subquery values Yes
F481 Expanded NULL predicate Yes
F501 Features and conformance views
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
S011-01 USER_DEFINED_TYPES view No
T321 Basic SQL-invoked routines
T321-01 User-defined functions with no overloading Yes
T321-02 User-defined stored procedures with no overloading No
T321-03 Function invocation No
T321-04 CALL statement No
T321-05 RETURN statement No
T321-06 ROUTINES view No
T321-07 PARAMETERS view No
Clone this wiki locally