PageRenderTime 59ms CodeModel.GetById 21ms RepoModel.GetById 1ms app.codeStats 0ms

/manual/conformance.md

https://bitbucket.org/chancey/eagle
Markdown | 783 lines | 717 code | 66 blank | 0 comment | 0 complexity | cca2722166515f9027fcee9b8d45c459 MD5 | raw file
  1. SQL Standard Conformance {#conformance}
  2. ========================
  3. [TOC]
  4. Key {#conformance-key}
  5. ===
  6. | Key | Description |
  7. |:-----------|:-------------------------------------------------------------------------------|
  8. | \d{Strike} | These items are not supported and are not planned to be supported. |
  9. | Normal | These items are not supported but plan to be supported in the future. |
  10. | _Italics_ | These items are partly supported and are available since the version provided. |
  11. | **Bold** | These items are fully supported and are available since the version provided. |
  12. B {#conformance-b}
  13. ===
  14. B0 {#conformance-b0}
  15. ---
  16. | Identifier | Description | Comments |
  17. |:------------|:--------------------------------------------------|:---------|
  18. | \d{B011} | Embedded Ada | |
  19. | \d{B012} | Embedded C | |
  20. | \d{B013} | Embedded COBOL | |
  21. | \d{B014} | Embedded Fortran | |
  22. | \d{B015} | Embedded MUMPS | |
  23. | \d{B016} | Embedded Pascal | |
  24. | \d{B017} | Embedded PL/I | |
  25. | \d{B021} | Direct SQL | |
  26. | \d{B031} | Basic dynamic SQL | |
  27. | \d{B032} | Extended dynamic SQL | |
  28. | \d{B032-01} | describe input statement | |
  29. | \d{B033} | Untyped SQL-invoked function arguments | |
  30. | \d{B034} | Dynamic specification of cursor attributes | |
  31. | \d{B035} | Non-extended descriptor names | |
  32. | \d{B041} | Extensions to embedded SQL exception declarations | |
  33. | \d{B051} | Enhanced execution rights | |
  34. B1 {#conformance-b1}
  35. ---
  36. | Identifier | Description | Comments |
  37. |:-----------|:-------------------------|:---------|
  38. | \d{B111} | Module language Ada | |
  39. | \d{B112} | Module language C | |
  40. | \d{B113} | Module language COBOL | |
  41. | \d{B114} | Module language Fortran | |
  42. | \d{B115} | Module language MUMPS | |
  43. | \d{B116} | Module language Pascal | |
  44. | \d{B117} | Module language PL/I | |
  45. | \d{B121} | Routine language Ada | |
  46. | \d{B122} | Routine language C | |
  47. | \d{B123} | Routine language COBOL | |
  48. | \d{B124} | Routine language Fortran | |
  49. | \d{B125} | Routine language MUMPS | |
  50. | \d{B126} | Routine language Pascal | |
  51. | \d{B127} | Routine language PL/I | |
  52. | \d{B128} | Routine language SQL | |
  53. B2 {#conformance-b2}
  54. ---
  55. | Identifier | Description | Comments |
  56. |:-----------|:--------------------------------------------------|:---------|
  57. | \d{B211} | Module language Ada: VARCHAR and NUMERIC support | |
  58. | \d{B221} | Routine language Ada: VARCHAR and NUMERIC support | |
  59. E {#conformance-e}
  60. ===
  61. E0 {#conformance-e0}
  62. ---
  63. | Identifier | Description | Comments |
  64. |:-----------|:-----------------------------------------------------------------------|:---------|
  65. | E011 | Numeric data types | |
  66. | E011-01 | INTEGER and SMALLINT data types | |
  67. | E011-02 | REAL, DOUBLE PRECISION, and FLOAT data types | |
  68. | E011-03 | DECIMAL and NUMERIC data types | |
  69. | E011-04 | Arithmetic operators | |
  70. | E011-05 | Numeric comparison | |
  71. | E011-06 | Implicit casting among the numeric data types | |
  72. | E021 | Character data types | |
  73. | E021-01 | CHARACTER data type | |
  74. | E021-02 | CHARACTER VARYING data type | |
  75. | E021-03 | Character literals | |
  76. | E021-04 | CHARACTER_LENGTH function | |
  77. | E021-05 | OCTET_LENGTH function | |
  78. | E021-06 | SUBSTRING function | |
  79. | E021-07 | Character concatenation | |
  80. | E021-08 | UPPER and LOWER functions | |
  81. | E021-09 | TRIM function | |
  82. | E021-10 | Implicit casting among the character string types | |
  83. | E021-11 | POSITION function | |
  84. | E021-12 | Character comparison | |
  85. | E031 | Identifiers | |
  86. | E031-01 | Delimited identifiers | |
  87. | E031-02 | Lower case identifiers | |
  88. | E031-03 | Trailing underscore | |
  89. | E051 | Basic query specification | |
  90. | E051-01 | SELECT DISTINCT | |
  91. | E051-02 | GROUP BY clause | |
  92. | E051-04 | GROUP BY can contain columns not in select list | |
  93. | E051-05 | Select list items can be renamed | |
  94. | E051-06 | HAVING clause | |
  95. | E051-07 | Qualified * in select list | |
  96. | E051-08 | Correlation names in the FROM clause | |
  97. | E051-09 | Rename columns in the FROM clause | |
  98. | E061 | Basic predicates and search conditions | |
  99. | E061-01 | Comparison predicate | |
  100. | E061-02 | BETWEEN predicate | |
  101. | E061-03 | IN predicate with list of values | |
  102. | E061-04 | LIKE predicate | |
  103. | E061-05 | LIKE predicate ESCAPE clause | |
  104. | E061-06 | NULL predicate | |
  105. | E061-07 | Quantified comparison predicate | |
  106. | E061-08 | EXISTS predicate | |
  107. | E061-09 | Subqueries in comparison predicate | |
  108. | E061-11 | Subqueries in IN predicate | |
  109. | E061-12 | Subqueries in quantified comparison predicate | |
  110. | E061-13 | Correlated subqueries | |
  111. | E061-14 | Search condition | |
  112. | E071 | Basic query expressions | |
  113. | E071-01 | UNION DISTINCT table operator | |
  114. | E071-02 | UNION ALL table operator | |
  115. | E071-03 | EXCEPT DISTINCT table operator | |
  116. | E071-05 | Columns combined via table operators need not have exactly the same data type | |
  117. | E071-06 | Table operators in subqueries | |
  118. | E081 | Basic Privileges | |
  119. | E081-01 | SELECT privilege | |
  120. | E081-02 | DELETE privilege | |
  121. | E081-03 | INSERT privilege at the table level | |
  122. | E081-04 | UPDATE privilege at the table level | |
  123. | E081-05 | UPDATE privilege at the column level | |
  124. | E081-06 | REFERENCES privilege at the table level | |
  125. | E081-07 | REFERENCES privilege at the column level | |
  126. | E081-08 | WITH GRANT OPTION | |
  127. | E081-09 | USAGE privilege | |
  128. | E081-10 | EXECUTE privilege | |
  129. | E091 | Set functions | |
  130. | E091-01 | AVG | |
  131. | E091-02 | COUNT | |
  132. | E091-03 | MAX | |
  133. | E091-04 | MIN | |
  134. | E091-05 | SUM | |
  135. | E091-06 | ALL quantifier | |
  136. | E091-07 | DISTINCT quantifier | |
  137. E1 {#conformance-e1}
  138. ---
  139. | Identifier | Description | Comments |
  140. |:-----------|:-----------------------------------------------------------------------|:---------|
  141. | E101 | Basic data manipulation | |
  142. | E101-01 | INSERT statement | |
  143. | E101-03 | Searched UPDATE statement | |
  144. | E101-04 | Searched DELETE statement | |
  145. | E111 | Single row SELECT statement | |
  146. | E121 | Basic cursor support | |
  147. | E121-01 | DECLARE CURSOR | |
  148. | E121-02 | ORDER BY columns need not be in select list | |
  149. | E121-03 | Value expressions in ORDER BY clause | |
  150. | E121-04 | OPEN statement | |
  151. | E121-06 | Positioned UPDATE statement | |
  152. | E121-07 | Positioned DELETE statement | |
  153. | E121-08 | CLOSE statement | |
  154. | E121-10 | FETCH statement implicit NEXT | |
  155. | E121-17 | WITH HOLD cursors | |
  156. | E131 | Null value support (nulls in lieu of values) | |
  157. | E141 | Basic integrity constraints | |
  158. | E141-01 | NOT NULL constraints | |
  159. | E141-02 | UNIQUE constraints of NOT NULL columns | |
  160. | E141-03 | PRIMARY KEY constraints | |
  161. | E141-04 | Basic FOREIGN KEY constraint with the NO ACTION default for both referential delete action and referential update action | |
  162. | E141-06 | CHECK constraints | |
  163. | E141-07 | Column defaults | |
  164. | E141-08 | NOT NULL inferred on PRIMARY KEY | |
  165. | E141-10 | Names in a foreign key can be specified in any order | |
  166. | E151 | Transaction support | |
  167. | E151-01 | COMMIT statement | |
  168. | E151-02 | ROLLBACK statement | |
  169. | E152 | Basic SET TRANSACTION statement | |
  170. | E152-01 | SET TRANSACTION statement: ISOLATION LEVEL SERIALIZABLE clause | |
  171. | E152-02 | SET TRANSACTION statement: READ ONLY and READ WRITE clauses | |
  172. | E153 | Updatable queries with subqueries | |
  173. | E161 | SQL comments using leading double minus | |
  174. | E171 | SQLSTATE support | |
  175. | E182 | Module language | |
  176. F {#conformance-f}
  177. ===
  178. F0 {#conformance-f0}
  179. ---
  180. | Identifier | Description | Comments |
  181. |:-----------|:-----------------------------------------------------------------------|:---------|
  182. | F021 | Basic information schema | |
  183. | F021-01 | COLUMNS view | |
  184. | F021-02 | TABLES view | |
  185. | F021-03 | VIEWS view | |
  186. | F021-04 | TABLE_CONSTRAINTS view | |
  187. | F021-05 | REFERENTIAL_CONSTRAINTS view | |
  188. | F021-06 | CHECK_CONSTRAINTS view | |
  189. | F031 | Basic schema manipulation | |
  190. | F031-01 | CREATE TABLE statement to create persistent base tables | |
  191. | F031-02 | CREATE VIEW statement | |
  192. | F031-03 | GRANT statement | |
  193. | F031-04 | ALTER TABLE statement: ADD COLUMN clause | |
  194. | F031-13 | DROP TABLE statement: RESTRICT clause | |
  195. | F031-16 | DROP VIEW statement: RESTRICT clause | |
  196. | F031-19 | REVOKE statement: RESTRICT clause | |
  197. | F032 | CASCADE drop behavior | |
  198. | F033 | ALTER TABLE statement: DROP COLUMN clause | |
  199. | F034 | Extended REVOKE statement | |
  200. | F034-01 | REVOKE statement performed by other than the owner of a schema object | |
  201. | F034-02 | REVOKE statement: GRANT OPTION FOR clause | |
  202. | F034-03 | REVOKE statement to revoke a privilege that the grantee has WITH GRANT OPTION | |
  203. | F041 | Basic joined table | |
  204. | F041-01 | Inner join (but not necessarily the INNER keyword) | |
  205. | F041-02 | INNER keyword | |
  206. | F041-03 | LEFT OUTER JOIN | |
  207. | F041-04 | RIGHT OUTER JOIN | |
  208. | F041-05 | Outer joins can be nested | |
  209. | F041-07 | The inner table in a left or right outer join can also be used in an inner join | |
  210. | F041-08 | All comparison operators are supported (rather than just =) | |
  211. | F051 | Basic date and time | |
  212. | F051-01 | DATE data type (including support of DATE literal) | |
  213. | F051-02 | TIME data type (including support of TIME literal) with fractional seconds precision of at least 0 | |
  214. | F051-03 | TIMESTAMP data type (including support of TIMESTAMP literal) with fractional seconds precision of at least 0 and 6 | |
  215. | F051-04 | Comparison predicate on DATE, TIME, and TIMESTAMP data types | |
  216. | F051-05 | Explicit CAST between datetime types and character string types | |
  217. | F051-06 | CURRENT_DATE | |
  218. | F051-07 | LOCALTIME | |
  219. | F051-08 | LOCALTIMESTAMP | |
  220. | F052 | Intervals and datetime arithmetic | |
  221. | F053 | OVERLAPS predicate | |
  222. | F054 | TIMESTAMP in DATE type precedence list | |
  223. | F081 | UNION and EXCEPT in views | |
  224. F1 {#conformance-f1}
  225. ---
  226. | Identifier | Description | Comments |
  227. |:------------|:-----------------------------------------------------------------------|:---------|
  228. | \d{F111} | Isolation levels other than SERIALIZABLE | |
  229. | \d{F111-01} | READ UNCOMMITTED isolation level | |
  230. | \d{F111-02} | READ COMMITTED isolation level | |
  231. | \d{F111-03} | REPEATABLE READ isolation level | |
  232. | \d{F121} | Basic diagnostics management | |
  233. | \d{F121-01} | GET DIAGNOSTICS statement | |
  234. | \d{F121-02} | SET TRANSACTION statement: DIAGNOSTICS SIZE clause | |
  235. | \d{F122} | Enhanced diagnostics management | |
  236. | \d{F123} | All diagnostics | |
  237. | \d{F131} | Grouped operations | |
  238. | \d{F131-01} | WHERE, GROUP BY, and HAVING clauses supported in queries with grouped views | |
  239. | \d{F131-02} | Multiple tables supported in queries with grouped views | |
  240. | \d{F131-03} | Set functions supported in queries with grouped views | |
  241. | \d{F131-04} | Subqueries with GROUP BY and HAVING clauses and grouped views | |
  242. | \d{F131-05} | Single row SELECT with GROUP BY and HAVING clauses and grouped views | |
  243. | \d{F171} | Multiple schemas per user | |
  244. | \d{F181} | Multiple module support | |
  245. | \d{F191} | Referential delete actions | |
  246. F2 {#conformance-f2}
  247. ---
  248. | Identifier | Description | Comments |
  249. |:-----------|:-----------------------------------------------------|:---------|
  250. | F200 | TRUNCATE TABLE statement | |
  251. | _F201_ | _CAST function_ | |
  252. | F202 | TRUNCATE TABLE: identity column restart option | |
  253. | F221 | Explicit defaults | |
  254. | F222 | INSERT statement: DEFAULT VALUES clause | |
  255. | F231 | Privilege tables | |
  256. | F231-01 | TABLE_PRIVILEGES view | |
  257. | F231-02 | COLUMN_PRIVILEGES view | |
  258. | F231-03 | USAGE_PRIVILEGES view | |
  259. | F251 | Domain support | |
  260. | F261 | CASE expression | |
  261. | F261-01 | Simple CASE | |
  262. | F261-02 | Searched CASE | |
  263. | F261-03 | NULLIF | |
  264. | F261-04 | COALESCE | |
  265. | F262 | Extended CASE expression | |
  266. | F263 | Comma-separated predicates in simple CASE expression | |
  267. | F271 | Compound character literals | |
  268. | F281 | LIKE enhancements | |
  269. | F291 | UNIQUE predicate | |
  270. F3 {#conformance-f3}
  271. ---
  272. | Identifier | Description | Comments |
  273. |:-----------|:----------------------------------------------|:---------|
  274. | F301 | CORRESPONDING in query expressions | |
  275. | F302 | INTERSECT table operator | |
  276. | F302-01 | INTERSECT DISTINCT table operator | |
  277. | F302-02 | INTERSECT ALL table operator | |
  278. | F304 | EXCEPT ALL table operator | |
  279. | F311 | Schema definition statement | |
  280. | F311-01 | CREATE SCHEMA | [EDB-3](https://elliot.atlassian.net/browse/EDB-3) |
  281. | _F311-02_ | _CREATE TABLE for persistent base tables_ | |
  282. | F311-03 | CREATE VIEW | |
  283. | F311-04 | CREATE VIEW: WITH CHECK OPTION | |
  284. | F311-05 | GRANT statement | |
  285. | F312 | MERGE statement | |
  286. | F313 | Enhanced MERGE statement | |
  287. | F314 | MERGE statement with DELETE branch | |
  288. | F321 | User authorization | |
  289. | F341 | Usage tables | |
  290. | F361 | Subprogram support | |
  291. | F381 | Extended schema manipulation | |
  292. | F381-01 | ALTER TABLE statement: ALTER COLUMN clause | |
  293. | F381-02 | ALTER TABLE statement: ADD CONSTRAINT clause | |
  294. | F381-03 | ALTER TABLE statement: DROP CONSTRAINT clause | |
  295. | F382 | Alter column data type | |
  296. | F383 | Set column not null clause | |
  297. | F384 | Drop identity property clause | |
  298. | F385 | Drop column generation expression clause | |
  299. | F386 | Set identity column generation clause | |
  300. | F391 | Long identifiers | |
  301. | F392 | Unicode escapes in identifiers | |
  302. | F393 | Unicode escapes in literals | |
  303. | F394 | Optional normal form specification | |
  304. F4 {#conformance-f4}
  305. ---
  306. | Identifier | Description | Comments |
  307. |:-----------|:---------------------------------------------------|:---------|
  308. | F401 | Extended joined table | |
  309. | F401-01 | NATURAL JOIN | |
  310. | F401-02 | FULL OUTER JOIN | |
  311. | F401-04 | CROSS JOIN | |
  312. | F402 | Named column joins for LOBs, arrays, and multisets | |
  313. | F403 | Partitioned joined tables | |
  314. | F411 | Time zone specification | |
  315. | F421 | National character | |
  316. | F431 | Read-only scrollable cursors | |
  317. | F431-01 | FETCH with explicit NEXT | |
  318. | F431-02 | FETCH FIRST | |
  319. | F431-03 | FETCH LAST | |
  320. | F431-04 | FETCH PRIOR | |
  321. | F431-05 | FETCH ABSOLUTE | |
  322. | F431-06 | FETCH RELATIVE | |
  323. | F441 | Extended set function support | |
  324. | F442 | Mixed column references in set functions | |
  325. | F451 | Character set definition | |
  326. | F461 | Named character sets | |
  327. | F471 | Scalar subquery values | |
  328. | F481 | Expanded NULL predicate | |
  329. | F491 | Constraint management | |
  330. | F492 | Optional table constraint enforcement | |
  331. F5 {#conformance-f5}
  332. ---
  333. | Identifier | Description | Comments |
  334. |:-----------|:-------------------------------|:---------|
  335. | F501 | Features and conformance views | |
  336. | F501-01 | SQL_FEATURES view | |
  337. | F501-02 | SQL_SIZING view | |
  338. | F501-03 | SQL_LANGUAGES view | |
  339. | F502 | Enhanced documentation tables | |
  340. | F502-01 | SQL_SIZING_PROFILES view | |
  341. | F502-02 | SQL_IMPLEMENTATION_INFO view | |
  342. | F502-03 | SQL_PACKAGES view | |
  343. | F521 | Assertions | |
  344. | F531 | Temporary tables | |
  345. | F555 | Enhanced seconds precision | |
  346. | F561 | Full value expressions | |
  347. | F571 | Truth value tests | |
  348. | F591 | Derived tables | |
  349. F6 {#conformance-f6}
  350. ---
  351. | Identifier | Description | Comments |
  352. |:-----------|:-----------------------------------------|:---------|
  353. | F611 | Indicator data types | |
  354. | F641 | Row and table constructors | |
  355. | F651 | Catalog name qualifiers | |
  356. | F661 | Simple tables | |
  357. | F671 | Subqueries in CHECK | |
  358. | F672 | Retrospective check constraints | |
  359. | F690 | Collation support | |
  360. | F692 | Extended collation support | |
  361. | F693 | SQL-session and client module collations | |
  362. | F695 | Translation support | |
  363. | F696 | Additional translation documentation | |
  364. F7 {#conformance-f7}
  365. ---
  366. | Identifier | Description | Comments |
  367. |:-----------|:----------------------------|:---------|
  368. | \d{F701} | Referential update actions | |
  369. | \d{F711} | ALTER domain | |
  370. | \d{F721} | Deferrable constraints | |
  371. | \d{F731} | INSERT column privileges | |
  372. | \d{F741} | Referential MATCH types | |
  373. | \d{F751} | View CHECK enhancements | |
  374. | \d{F761} | Session management | |
  375. | \d{F762} | CURRENT_CATALOG | |
  376. | \d{F763} | CURRENT_SCHEMA | |
  377. | \d{F771} | Connection management | |
  378. | \d{F781} | Self-referencing operations | |
  379. | \d{F791} | Insensitive cursors | |
  380. F8 {#conformance-f8}
  381. ---
  382. | Identifier | Description | Comments |
  383. |:-----------|:---------------------------------------------------|:---------|
  384. | F801 | Full set function | |
  385. | F812 | Basic flagging | |
  386. | F813 | Extended flagging | |
  387. | F821 | Local table references | |
  388. | F831 | Full cursor update | |
  389. | F831-01 | Updatable scrollable cursors | |
  390. | F831-02 | Updatable ordered cursors | |
  391. | F841 | LIKE_REGEX predicate | |
  392. | F842 | OCCURENCES_REGEX function | |
  393. | F843 | POSITION_REGEX function | |
  394. | F844 | SUBSTRING_REGEX function | |
  395. | F845 | TRANSLATE_REGEX function | |
  396. | F846 | Octet support in regular expression operators | |
  397. | F847 | Nonconstant regular expressions | |
  398. | F850 | Top-level order by clause in query expression | |
  399. | F851 | order by clause in subqueries | |
  400. | F852 | Top-level order by clause in views | |
  401. | F855 | Nested order by clause in query expression | |
  402. | F856 | Nested fetch first clause in query expression | |
  403. | F857 | Top-level fetch first clause in query expression | |
  404. | F858 | fetch first clause in subqueries | |
  405. | F859 | Top-level fetch first clause in views | |
  406. | F860 | fetch first row count in fetch first clause | |
  407. | F861 | Top-level result offset clause in query expression | |
  408. | F862 | result offset clause in subqueries | |
  409. | F863 | Nested result offset clause in query expression | |
  410. | F864 | Top-level result offset clause in views | |
  411. | F865 | offset row count in result offset clause | |
  412. | F866 | FETCH FIRST clause: PERCENT option | |
  413. | F867 | FETCH FIRST clause: WITH TIES option | |
  414. M {#conformance-m}
  415. ===
  416. M0 {#conformance-m0}
  417. ---
  418. | Identifier | Description | Comments |
  419. |:-----------|:---------------------------------------------------|:---------|
  420. | \d{M001} | Datalinks | |
  421. | \d{M002} | Datalinks via SQL/CLI | |
  422. | \d{M003} | Datalinks via Embedded SQL | |
  423. | \d{M004} | Foreign data support | |
  424. | \d{M005} | Foreign schema support | |
  425. | \d{M006} | GetSQLString routine | |
  426. | \d{M007} | TransmitRequest | |
  427. | \d{M009} | GetOpts and GetStatistics routines | |
  428. | \d{M010} | Foreign data wrapper support | |
  429. | \d{M011} | Datalinks via Ada | |
  430. | \d{M012} | Datalinks via C | |
  431. | \d{M013} | Datalinks via COBOL | |
  432. | \d{M014} | Datalinks via Fortran | |
  433. | \d{M015} | Datalinks via M | |
  434. | \d{M016} | Datalinks via Pascal | |
  435. | \d{M017} | Datalinks via PL/I | |
  436. | \d{M018} | Foreign data wrapper interface routines in Ada | |
  437. | \d{M019} | Foreign data wrapper interface routines in C | |
  438. | \d{M020} | Foreign data wrapper interface routines in COBOL | |
  439. | \d{M021} | Foreign data wrapper interface routines in Fortran | |
  440. | \d{M022} | Foreign data wrapper interface routines in MUMPS | |
  441. | \d{M023} | Foreign data wrapper interface routines in Pascal | |
  442. | \d{M024} | Foreign data wrapper interface routines in PL/I | |
  443. | \d{M030} | SQL-server foreign data support | |
  444. | \d{M031} | Foreign data wrapper general routines | |
  445. S {#conformance-s}
  446. ===
  447. S0 {#conformance-s0}
  448. ---
  449. | Identifier | Description | Comments |
  450. |:------------|:-----------------------------------------------|:---------|
  451. | \d{S011} | Distinct data types | |
  452. | \d{S011-01} | USER_DEFINED_TYPES view | |
  453. | \d{S023} | Basic structured types | |
  454. | \d{S024} | Enhanced structured types | |
  455. | \d{S025} | Final structured types | |
  456. | \d{S026} | Self-referencing structured types | |
  457. | \d{S027} | Create method by specific method name | |
  458. | \d{S028} | Permutable UDT options list | |
  459. | \d{S041} | Basic reference types | |
  460. | \d{S043} | Enhanced reference types | |
  461. | \d{S051} | Create table of type | |
  462. | \d{S071} | SQL paths in function and type name resolution | |
  463. | \d{S081} | Subtables | |
  464. | \d{S091} | Basic array support | |
  465. | \d{S091-01} | Arrays of built-in data types | |
  466. | \d{S091-02} | Arrays of distinct types | |
  467. | \d{S091-03} | Array expressions | |
  468. | \d{S092} | Arrays of user-defined types | |
  469. | \d{S094} | Arrays of reference types | |
  470. | \d{S095} | Array constructors by query | |
  471. | \d{S096} | Optional array bounds | |
  472. | \d{S097} | Array element assignment | |
  473. | \d{S098} | ARRAY_AGG | |
  474. S1 {#conformance-s1}
  475. ---
  476. | Identifier | Description | Comments |
  477. |:-----------|:---------------------------------|:---------|
  478. | S111 | ONLY in query expressions | |
  479. | S151 | Type predicate | |
  480. | S161 | Subtype treatment | |
  481. | S162 | Subtype treatment for references | |
  482. S2 {#conformance-s2}
  483. ---
  484. | Identifier | Description | Comments |
  485. |:------------|:----------------------------------|:---------|
  486. | \d{S201} | SQL-invoked routines on arrays | |
  487. | \d{S201-01} | Array parameters | |
  488. | \d{S201-02} | Array as result type of functions | |
  489. | \d{S202} | SQL-invoked routines on multisets | |
  490. | \d{S211} | User-defined cast functions | |
  491. | \d{S231} | Structured type locators | |
  492. | \d{S232} | Array locators | |
  493. | \d{S233} | Multiset locators | |
  494. | \d{S241} | Transform functions | |
  495. | \d{S242} | Alter transform statement | |
  496. | \d{S251} | User-defined orderings | |
  497. | \d{S261} | Specific type method | |
  498. | \d{S271} | Basic multiset support | |
  499. | \d{S272} | Multisets of user-defined types | |
  500. | \d{S274} | Multisets of reference types | |
  501. | \d{S275} | Advanced multiset support | |
  502. | \d{S281} | Nested collection types | |
  503. | \d{S291} | Unique constraint on entire row | |
  504. S3 {#conformance-s3}
  505. ---
  506. | Identifier | Description | Comments |
  507. |:-----------|:----------------|:---------|
  508. | \d{S301} | Enhanced UNNEST | |
  509. S4 {#conformance-s4}
  510. ---
  511. | Identifier | Description | Comments |
  512. |:-----------|:---------------------------------------|:---------|
  513. | S401 | Distinct types based on array types | |
  514. | S402 | Distinct types based on distinct types | |
  515. | S403 | ARRAY_MAX_CARDINALITY | |
  516. | S404 | TRIM_ARRAY | |
  517. T {#conformance-t}
  518. ===
  519. T0 {#conformance-t0}
  520. ---
  521. | Identifier | Description | Comments |
  522. |:-----------|:---------------------------------------------------------------------------------|:---------|
  523. | T011 | Timestamp in Information Schema | |
  524. | T021 | BINARY and VARBINARY data types | |
  525. | T022 | Advanced support for BINARY and VARBINARY data types | |
  526. | T023 | Compound binary literal | |
  527. | T024 | Spaces in binary literals | |
  528. | T031 | BOOLEAN data type | |
  529. | T041 | Basic LOB data type support | |
  530. | T041-01 | BLOB data type | |
  531. | T041-02 | CLOB data type | |
  532. | T041-03 | POSITION, LENGTH, LOWER, TRIM, UPPER, and SUBSTRING functions for LOB data types | |
  533. | T041-04 | Concatenation of LOB data types | |
  534. | T041-05 | LOB locator: non-holdable | |
  535. | T042 | Extended LOB data type support | |
  536. | T043 | Multiplier T | |
  537. | T044 | Multiplier P | |
  538. | T051 | Row types | |
  539. | T052 | MAX and MIN for row types | |
  540. | T053 | Explicit aliases for all-fields reference | |
  541. | T061 | UCS support | |
  542. | T071 | BIGINT data type | |
  543. T1 {#conformance-t1}
  544. ---
  545. | Identifier | Description | Comments |
  546. |:-----------|:--------------------------------------------------|:---------|
  547. | T101 | Enhanced nullability determination | |
  548. | T111 | Updatable joins, unions, and columns | |
  549. | T121 | WITH (excluding RECURSIVE) in query expression | |
  550. | T122 | WITH (excluding RECURSIVE) in subquery | |
  551. | T131 | Recursive query | |
  552. | T132 | Recursive query in subquery | |
  553. | T141 | SIMILAR predicate | |
  554. | T151 | DISTINCT predicate | |
  555. | T152 | DISTINCT predicate with negation | |
  556. | T171 | LIKE clause in table definition | |
  557. | T172 | AS subquery clause in table definition | |
  558. | T173 | Extended LIKE clause in table definition | |
  559. | T174 | Identity columns | |
  560. | T175 | Generated columns | |
  561. | T176 | Sequence generator support | |
  562. | T177 | Sequence generator support: simple restart option | |
  563. | T178 | Identity columns: simple restart option | |
  564. | T180 | System-versioned tables | |
  565. | T181 | Application-time period tables | |
  566. | T191 | Referential action RESTRICT | |
  567. T2 {#conformance-t2}
  568. ---
  569. | Identifier | Description | Comments |
  570. |:------------|:-----------------------------------------------------------------------|:---------|
  571. | \d{T201} | Comparable data types for referential constraints | |
  572. | \d{T211} | Basic trigger capability | |
  573. | \d{T211-01} | Triggers activated on UPDATE, INSERT, or DELETE of one base table | |
  574. | \d{T211-02} | BEFORE triggers | |
  575. | \d{T211-03} | AFTER triggers | |
  576. | \d{T211-04} | FOR EACH ROW triggers | |
  577. | \d{T211-05} | Ability to specify a search condition that must be true before the trigger is invoked | |
  578. | \d{T211-06} | Support for run-time rules for the interaction of triggers and constraints | |
  579. | \d{T211-07} | TRIGGER privilege | |
  580. | \d{T211-08} | Multiple triggers for the same event are executed in the order in which they were created in the catalog | |
  581. | \d{T212} | Enhanced trigger capability | |
  582. | \d{T213} | INSTEAD OF triggers | |
  583. | \d{T231} | Sensitive cursors | |
  584. | \d{T241} | START TRANSACTION statement | |
  585. | \d{T251} | SET TRANSACTION statement: LOCAL option | |
  586. | \d{T261} | Chained transactions | |
  587. | \d{T271} | Savepoints | |
  588. | \d{T272} | Enhanced savepoint management | |
  589. | \d{T281} | SELECT privilege with column granularity | |
  590. | \d{T285} | Enhanced derived column names | |
  591. T3 {#conformance-t3}
  592. ---
  593. | Identifier | Description | Comments |
  594. |:-----------|:----------------------------------------------------|:---------|
  595. | T301 | Functional dependencies | |
  596. | T312 | OVERLAY function | |
  597. | T321 | Basic SQL-invoked routines | |
  598. | T321-01 | User-defined functions with no overloading | |
  599. | T321-02 | User-defined stored procedures with no overloading | |
  600. | T321-03 | Function invocation | |
  601. | T321-04 | CALL statement | |
  602. | T321-05 | RETURN statement | |
  603. | T321-06 | ROUTINES view | |
  604. | T321-07 | PARAMETERS view | |
  605. | T322 | Declared data type attributes | |
  606. | T323 | Explicit security for external routines | |
  607. | T324 | Explicit security for SQL routines | |
  608. | T325 | Qualified SQL parameter references | |
  609. | T326 | Table functions | |
  610. | T331 | Basic roles | |
  611. | T332 | Extended roles | |
  612. | T341 | Overloading of SQL-invoked functions and procedures | |
  613. | T351 | Bracketed SQL comments | |
  614. T4 {#conformance-t4}
  615. ---
  616. | Identifier | Description | Comments |
  617. |:-----------|:--------------------------------------|:---------|
  618. | T431 | Extended grouping capabilities | |
  619. | T432 | Nested and concatenated GROUPING SETS | |
  620. | T433 | Multiargument GROUPING function | |
  621. | T434 | GROUP BY DISTINCT | |
  622. | T441 | ABS and MOD functions | |
  623. | T461 | Symmetric BETWEEN predicate | |
  624. | T471 | Result sets return value | |
  625. | T472 | DESCRIBE CURSOR | |
  626. | T491 | LATERAL derived table | |
  627. | T495 | Combined data change and retrieval | |
  628. T5 {#conformance-t5}
  629. ---
  630. | Identifier | Description | Comments |
  631. |:-----------|:-----------------------------------------------------------|:---------|
  632. | T501 | Enhanced EXISTS predicate | |
  633. | T502 | Period predicates | |
  634. | T511 | Transaction counts | |
  635. | T521 | Named arguments in CALL statement | |
  636. | T522 | Default values for IN parameters of SQL-invoked procedures | |
  637. | T541 | Updatable table references | |
  638. | T551 | Optional key words for default syntax | |
  639. | T561 | Holdable locators | |
  640. | T571 | Array-returning external SQL-invoked functions | |
  641. | T572 | Multiset-returning external SQL-invoked functions | |
  642. | T581 | Regular expression substring function | |
  643. | T591 | UNIQUE constraints of possibly null columns | |
  644. T6 {#conformance-t6}
  645. ---
  646. | Identifier | Description | Comments |
  647. |:-----------|:-------------------------------------------------|:---------|
  648. | \d{T601} | Local cursor references | |
  649. | \d{T611} | Elementary OLAP operations | |
  650. | \d{T612} | Advanced OLAP operations | |
  651. | \d{T613} | Sampling | |
  652. | \d{T614} | NTILE function | |
  653. | \d{T615} | LEAD and LAG functions | |
  654. | \d{T616} | Null treatment option for LEAD and LAG functions | |
  655. | \d{T617} | FIRST_VALUE and LAST_VALUE function | |
  656. | \d{T618} | NTH_VALUE function | |
  657. | \d{T619} | Nested window functions | |
  658. | \d{T620} | WINDOW clause: GROUPS option | |
  659. | \d{T621} | Enhanced numeric functions | |
  660. | \d{T631} | IN predicate with one list element | |
  661. | \d{T641} | Multiple column assignment | |
  662. | \d{T651} | SQL-schema statements in SQL routines | |
  663. | \d{T652} | SQL-dynamic statements in SQL routines | |
  664. | \d{T653} | SQL-schema statements in external routines | |
  665. | \d{T654} | SQL-dynamic statements in external routines | |
  666. | \d{T655} | Cyclically dependent routines | |
  667. X {#conformance-x}
  668. ===
  669. X0 {#conformance-x0}
  670. ---
  671. | Identifier | Description | Comments |
  672. |:-----------|:-----------------------------------------------------------------|:---------|
  673. | \d{X010} | XML type | |
  674. | \d{X011} | Arrays of XML type | |
  675. | \d{X012} | Multisets of XML type | |
  676. | \d{X013} | Distinct types of XML type | |
  677. | \d{X014} | Attributes of XML type | |
  678. | \d{X015} | Fields of XML type | |
  679. | \d{X016} | Persistent XML values | |
  680. | \d{X020} | XMLConcat | |
  681. | \d{X025} | XMLCast | |
  682. | \d{X030} | XMLDocument | |
  683. | \d{X031} | XMLElement | |
  684. | \d{X032} | XMLForest | |
  685. | \d{X034} | XMLAgg | |
  686. | \d{X035} | XMLAgg: ORDER BY option | |
  687. | \d{X036} | XMLComment | |
  688. | \d{X037} | XMLPI | |
  689. | \d{X038} | XMLText | |
  690. | \d{X040} | Basic table mapping | |
  691. | \d{X041} | Basic table mapping: nulls absent | |
  692. | \d{X042} | Basic table mapping: null as nil | |
  693. | \d{X043} | Basic table mapping: table as forest | |
  694. | \d{X044} | Basic table mapping: table as element | |
  695. | \d{X045} | Basic table mapping: with target namespace | |
  696. | \d{X046} | Basic table mapping: data mapping | |
  697. | \d{X047} | Basic table mapping: metadata mapping | |
  698. | \d{X048} | Basic table mapping: base64 encoding of binary strings | |
  699. | \d{X049} | Basic table mapping: hex encoding of binary strings | |
  700. | \d{X050} | Advanced table mapping | |
  701. | \d{X051} | Advanced table mapping: nulls absent | |
  702. | \d{X052} | Advanced table mapping: null as nil | |
  703. | \d{X053} | Advanced table mapping: table as forest | |
  704. | \d{X054} | Advanced table mapping: table as element | |
  705. | \d{X055} | Advanced table mapping: target namespace | |
  706. | \d{X056} | Advanced table mapping: data mapping | |
  707. | \d{X057} | Advanced table mapping: metadata mapping | |
  708. | \d{X058} | Advanced table mapping: base64 encoding of binary strings | |
  709. | \d{X059} | Advanced table mapping: hex encoding of binary strings | |
  710. | \d{X060} | XMLParse: Character string input and CONTENT option | |
  711. | \d{X061} | XMLParse: Character string input and DOCUMENT option | |
  712. | \d{X065} | XMLParse: BLOB input and CONTENT option | |
  713. | \d{X066} | XMLParse: BLOB input and DOCUMENT option | |
  714. | \d{X068} | XMLSerialize: BOM | |
  715. | \d{X069} | XMLSerialize: INDENT | |
  716. | \d{X070} | XMLSerialize: Character string serialization and CONTENT option | |
  717. | \d{X