summaryrefslogtreecommitdiffstats
path: root/src/backend/catalog/sql_features.txt
blob: b33065d7bf7c8034f3f3bb2b46c0ea8786392f0b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
B011	Embedded Ada			NO	
B012	Embedded C			YES	
B013	Embedded COBOL			NO	
B014	Embedded Fortran			NO	
B015	Embedded MUMPS			NO	
B016	Embedded Pascal			NO	
B017	Embedded PL/I			NO	
B021	Direct SQL			YES	
B030	Enhanced dynamic SQL			NO	
B031	Basic dynamic SQL			NO	
B032	Extended dynamic SQL			NO	
B033	Untyped SQL-invoked function arguments			NO	
B034	Dynamic specification of cursor attributes			NO	
B035	Non-extended descriptor names			NO	
B036	Describe input statement			NO	
B041	Extensions to embedded SQL exception declarations			NO	
B051	Enhanced execution rights			NO	
B111	Module language Ada			NO	
B112	Module language C			NO	
B113	Module language COBOL			NO	
B114	Module language Fortran			NO	
B115	Module language MUMPS			NO	
B116	Module language Pascal			NO	
B117	Module language PL/I			NO	
B121	Routine language Ada			NO	
B122	Routine language C			NO	
B123	Routine language COBOL			NO	
B124	Routine language Fortran			NO	
B125	Routine language MUMPS			NO	
B126	Routine language Pascal			NO	
B127	Routine language PL/I			NO	
B128	Routine language SQL			YES	
B200	Polymorphic table functions			NO	
B201	More than one PTF generic table parameter			NO	
B202	PTF copartitioning			NO	
B203	More than one copartition specification			NO	
B204	PRUNE WHEN EMPTY			NO	
B205	Pass-through columns			NO	
B206	PTF descriptor parameters			NO	
B207	Cross products of partitionings			NO	
B208	PTF component procedure interface			NO	
B209	PTF extended names			NO	
B211	Module language Ada: VARCHAR and NUMERIC support			NO	
B221	Routine language Ada: VARCHAR and NUMERIC support			NO	
E011	Numeric data types			YES	
E011	Numeric data types	01	INTEGER and SMALLINT data types	YES	
E011	Numeric data types	02	REAL, DOUBLE PRECISION, and FLOAT data types	YES	
E011	Numeric data types	03	DECIMAL and NUMERIC data types	YES	
E011	Numeric data types	04	Arithmetic operators	YES	
E011	Numeric data types	05	Numeric comparison	YES	
E011	Numeric data types	06	Implicit casting among the numeric data types	YES	
E021	Character data types			YES	
E021	Character string types	01	CHARACTER data type	YES	
E021	Character string types	02	CHARACTER VARYING data type	YES	
E021	Character string types	03	Character literals	YES	
E021	Character string types	04	CHARACTER_LENGTH function	YES	trims trailing spaces from CHARACTER values before counting
E021	Character string types	05	OCTET_LENGTH function	YES	
E021	Character string types	06	SUBSTRING function	YES	
E021	Character string types	07	Character concatenation	YES	
E021	Character string types	08	UPPER and LOWER functions	YES	
E021	Character string types	09	TRIM function	YES	
E021	Character string types	10	Implicit casting among the character string types	YES	
E021	Character string types	11	POSITION function	YES	
E021	Character string types	12	Character comparison	YES	
E031	Identifiers			YES	
E031	Identifiers	01	Delimited identifiers	YES	
E031	Identifiers	02	Lower case identifiers	YES	
E031	Identifiers	03	Trailing underscore	YES	
E051	Basic query specification			YES	
E051	Basic query specification	01	SELECT DISTINCT	YES	
E051	Basic query specification	02	GROUP BY clause	YES	
E051	Basic query specification	04	GROUP BY can contain columns not in <select list>	YES	
E051	Basic query specification	05	Select list items can be renamed	YES	
E051	Basic query specification	06	HAVING clause	YES	
E051	Basic query specification	07	Qualified * in select list	YES	
E051	Basic query specification	08	Correlation names in the FROM clause	YES	
E051	Basic query specification	09	Rename columns in the FROM clause	YES	
E061	Basic predicates and search conditions			YES	
E061	Basic predicates and search conditions	01	Comparison predicate	YES	
E061	Basic predicates and search conditions	02	BETWEEN predicate	YES	
E061	Basic predicates and search conditions	03	IN predicate with list of values	YES	
E061	Basic predicates and search conditions	04	LIKE predicate	YES	
E061	Basic predicates and search conditions	05	LIKE predicate ESCAPE clause	YES	
E061	Basic predicates and search conditions	06	NULL predicate	YES	
E061	Basic predicates and search conditions	07	Quantified comparison predicate	YES	
E061	Basic predicates and search conditions	08	EXISTS predicate	YES	
E061	Basic predicates and search conditions	09	Subqueries in comparison predicate	YES	
E061	Basic predicates and search conditions	11	Subqueries in IN predicate	YES	
E061	Basic predicates and search conditions	12	Subqueries in quantified comparison predicate	YES	
E061	Basic predicates and search conditions	13	Correlated subqueries	YES	
E061	Basic predicates and search conditions	14	Search condition	YES	
E071	Basic query expressions			YES	
E071	Basic query expressions	01	UNION DISTINCT table operator	YES	
E071	Basic query expressions	02	UNION ALL table operator	YES	
E071	Basic query expressions	03	EXCEPT DISTINCT table operator	YES	
E071	Basic query expressions	05	Columns combined via table operators need not have exactly the same data type	YES	
E071	Basic query expressions	06	Table operators in subqueries	YES	
E081	Basic Privileges			YES	
E081	Basic Privileges	01	SELECT privilege	YES	
E081	Basic Privileges	02	DELETE privilege	YES	
E081	Basic Privileges	03	INSERT privilege at the table level	YES	
E081	Basic Privileges	04	UPDATE privilege at the table level	YES	
E081	Basic Privileges	05	UPDATE privilege at the column level	YES	
E081	Basic Privileges	06	REFERENCES privilege at the table level	YES	
E081	Basic Privileges	07	REFERENCES privilege at the column level	YES	
E081	Basic Privileges	08	WITH GRANT OPTION	YES	
E081	Basic Privileges	09	USAGE privilege	YES	
E081	Basic Privileges	10	EXECUTE privilege	YES	
E091	Set functions			YES	
E091	Set functions	01	AVG	YES	
E091	Set functions	02	COUNT	YES	
E091	Set functions	03	MAX	YES	
E091	Set functions	04	MIN	YES	
E091	Set functions	05	SUM	YES	
E091	Set functions	06	ALL quantifier	YES	
E091	Set functions	07	DISTINCT quantifier	YES	
E101	Basic data manipulation			YES	
E101	Basic data manipulation	01	INSERT statement	YES	
E101	Basic data manipulation	03	Searched UPDATE statement	YES	
E101	Basic data manipulation	04	Searched DELETE statement	YES	
E111	Single row SELECT statement			YES	
E121	Basic cursor support			YES	
E121	Basic cursor support	01	DECLARE CURSOR	YES	
E121	Basic cursor support	02	ORDER BY columns need not be in select list	YES	
E121	Basic cursor support	03	Value expressions in ORDER BY clause	YES	
E121	Basic cursor support	04	OPEN statement	YES	
E121	Basic cursor support	06	Positioned UPDATE statement	YES	
E121	Basic cursor support	07	Positioned DELETE statement	YES	
E121	Basic cursor support	08	CLOSE statement	YES	
E121	Basic cursor support	10	FETCH statement implicit NEXT	YES	
E121	Basic cursor support	17	WITH HOLD cursors	YES	
E131	Null value support (nulls in lieu of values)			YES	
E141	Basic integrity constraints			YES	
E141	Basic integrity constraints	01	NOT NULL constraints	YES	
E141	Basic integrity constraints	02	UNIQUE constraints of NOT NULL columns	YES	
E141	Basic integrity constraints	03	PRIMARY KEY constraints	YES	
E141	Basic integrity constraints	04	Basic FOREIGN KEY constraint with the NO ACTION default for both referential delete action and referential update action	YES	
E141	Basic integrity constraints	06	CHECK constraints	YES	
E141	Basic integrity constraints	07	Column defaults	YES	
E141	Basic integrity constraints	08	NOT NULL inferred on PRIMARY KEY	YES	
E141	Basic integrity constraints	10	Names in a foreign key can be specified in any order	YES	
E151	Transaction support			YES	
E151	Transaction support	01	COMMIT statement	YES	
E151	Transaction support	02	ROLLBACK statement	YES	
E152	Basic SET TRANSACTION statement			YES	
E152	Basic SET TRANSACTION statement	01	SET TRANSACTION statement: ISOLATION LEVEL SERIALIZABLE clause	YES	
E152	Basic SET TRANSACTION statement	02	SET TRANSACTION statement: READ ONLY and READ WRITE clauses	YES	
E153	Updatable queries with subqueries			YES	
E161	SQL comments using leading double minus			YES	
E171	SQLSTATE support			YES	
E182	Host language binding			YES	
F021	Basic information schema			YES	
F021	Basic information schema	01	COLUMNS view	YES	
F021	Basic information schema	02	TABLES view	YES	
F021	Basic information schema	03	VIEWS view	YES	
F021	Basic information schema	04	TABLE_CONSTRAINTS view	YES	
F021	Basic information schema	05	REFERENTIAL_CONSTRAINTS view	YES	
F021	Basic information schema	06	CHECK_CONSTRAINTS view	YES	
F031	Basic schema manipulation			YES	
F031	Basic schema manipulation	01	CREATE TABLE statement to create persistent base tables	YES	
F031	Basic schema manipulation	02	CREATE VIEW statement	YES	
F031	Basic schema manipulation	03	GRANT statement	YES	
F031	Basic schema manipulation	04	ALTER TABLE statement: ADD COLUMN clause	YES	
F031	Basic schema manipulation	13	DROP TABLE statement: RESTRICT clause	YES	
F031	Basic schema manipulation	16	DROP VIEW statement: RESTRICT clause	YES	
F031	Basic schema manipulation	19	REVOKE statement: RESTRICT clause	YES	
F032	CASCADE drop behavior			YES	
F033	ALTER TABLE statement: DROP COLUMN clause			YES	
F034	Extended REVOKE statement			YES	
F035	REVOKE with CASCADE			YES	
F036	REVOKE statement performed by non-owner			YES	
F037	REVOKE statement: GRANT OPTION FOR clause			YES	
F038	REVOKE of a WITH GRANT OPTION privilege			YES	
F041	Basic joined table			YES	
F041	Basic joined table	01	Inner join (but not necessarily the INNER keyword)	YES	
F041	Basic joined table	02	INNER keyword	YES	
F041	Basic joined table	03	LEFT OUTER JOIN	YES	
F041	Basic joined table	04	RIGHT OUTER JOIN	YES	
F041	Basic joined table	05	Outer joins can be nested	YES	
F041	Basic joined table	07	The inner table in a left or right outer join can also be used in an inner join	YES	
F041	Basic joined table	08	All comparison operators are supported (rather than just =)	YES	
F051	Basic date and time			YES	
F051	Basic date and time	01	DATE data type (including support of DATE literal)	YES	
F051	Basic date and time	02	TIME data type (including support of TIME literal) with fractional seconds precision of at least 0	YES	
F051	Basic date and time	03	TIMESTAMP data type (including support of TIMESTAMP literal) with fractional seconds precision of at least 0 and 6	YES	
F051	Basic date and time	04	Comparison predicate on DATE, TIME, and TIMESTAMP data types	YES	
F051	Basic date and time	05	Explicit CAST between datetime types and character string types	YES	
F051	Basic date and time	06	CURRENT_DATE	YES	
F051	Basic date and time	07	LOCALTIME	YES	
F051	Basic date and time	08	LOCALTIMESTAMP	YES	
F052	Intervals and datetime arithmetic			YES	
F053	OVERLAPS predicate			YES	
F054	TIMESTAMP in DATE type precedence list			NO	
F081	UNION and EXCEPT in views			YES	
F111	Isolation levels other than SERIALIZABLE			YES	
F112	Isolation level READ UNCOMMITTED			YES	
F113	Isolation level READ COMMITTED			YES	
F114	Isolation level REPEATABLE READ			YES	
F120	Get diagnostics statement			NO	
F121	Basic diagnostics management			NO	
F122	Enhanced diagnostics management			NO	
F123	All diagnostics			NO	
F124	SET TRANSACTION statement: DIAGNOSTICS SIZE clause			NO	
F131	Grouped operations			YES	
F131	Grouped operations	01	WHERE, GROUP BY, and HAVING clauses supported in queries with grouped views	YES	
F131	Grouped operations	02	Multiple tables supported in queries with grouped views	YES	
F131	Grouped operations	03	Set functions supported in queries with grouped views	YES	
F131	Grouped operations	04	Subqueries with GROUP BY and HAVING clauses and grouped views	YES	
F131	Grouped operations	05	Single row SELECT with GROUP BY and HAVING clauses and grouped views	YES	
F171	Multiple schemas per user			YES	
F181	Multiple module support			YES	
F191	Referential delete actions			YES	
F200	TRUNCATE TABLE statement			YES	
F201	CAST function			YES	
F202	TRUNCATE TABLE: identity column restart option			YES	
F221	Explicit defaults			YES	
F222	INSERT statement: DEFAULT VALUES clause			YES	
F231	Privilege tables			YES	
F251	Domain support			YES	
F261	CASE expression			YES	
F261	CASE expression	01	Simple CASE	YES	
F261	CASE expression	02	Searched CASE	YES	
F261	CASE expression	03	NULLIF	YES	
F261	CASE expression	04	COALESCE	YES	
F262	Extended CASE expression			YES	
F263	Comma-separated predicates in simple CASE expression			NO	
F271	Compound character literals			YES	
F281	LIKE enhancements			YES	
F291	UNIQUE predicate			NO	
F292	UNIQUE null treatment			YES	
F301	CORRESPONDING in query expressions			NO	
F302	INTERSECT table operator			YES	
F303	INTERSECT DISTINCT table operator			YES	
F302	INTERSECT table operator	02	INTERSECT ALL table operator	YES	
F304	EXCEPT ALL table operator			YES	
F305	INTERSECT ALL table operator			YES	
F311	Schema definition statement			YES	
F311	Schema definition statement	01	CREATE SCHEMA	YES	
F311	Schema definition statement	02	CREATE TABLE for persistent base tables	YES	
F311	Schema definition statement	03	CREATE VIEW	YES	
F311	Schema definition statement	04	CREATE VIEW: WITH CHECK OPTION	YES	
F311	Schema definition statement	05	GRANT statement	YES	
F312	MERGE statement			YES	
F313	Enhanced MERGE statement			YES	
F314	MERGE statement with DELETE branch			YES	
F321	User authorization			YES	
F341	Usage tables			YES	
F361	Subprogram support			YES	
F381	Extended schema manipulation			YES	
F382	Alter column data type			YES	
F383	Set column not null clause			YES	
F384	Drop identity property clause			YES	
F385	Drop column generation expression clause			YES	
F386	Set identity column generation clause			YES	
F387	ALTER TABLE statement: ALTER COLUMN clause			YES	
F388	ALTER TABLE statement: ADD/DROP CONSTRAINT clause			YES	
F391	Long identifiers			YES	
F392	Unicode escapes in identifiers			YES	
F393	Unicode escapes in literals			YES	
F394	Optional normal form specification			YES	
F401	Extended joined table			YES	
F402	Named column joins for LOBs, arrays, and multisets			YES	
F403	Partitioned join tables			NO	
F404	Range variable for common column names			YES	
F405	NATURAL JOIN			YES	
F406	FULL OUTER JOIN			YES	
F407	CROSS JOIN			YES	
F411	Time zone specification			YES	differences regarding literal interpretation
F421	National character			YES	
F431	Read-only scrollable cursors			YES	
F432	FETCH with explicit NEXT			YES	
F433	FETCH FIRST			YES	
F434	FETCH LAST			YES	
F435	FETCH PRIOR			YES	
F436	FETCH ABSOLUTE			YES	
F437	FETCH RELATIVE			YES	
F438	Scrollable cursors			YES	
F441	Extended set function support			YES	
F442	Mixed column references in set functions			YES	
F451	Character set definition			NO	
F461	Named character sets			NO	
F471	Scalar subquery values			YES	
F481	Expanded NULL predicate			YES	
F491	Constraint management			YES	
F492	Optional table constraint enforcement			NO	
F501	Features and conformance views			YES	
F501	Features and conformance views	01	SQL_FEATURES view	YES	
F501	Features and conformance views	02	SQL_SIZING view	YES	
F502	Enhanced documentation tables			YES	
F521	Assertions			NO	
F531	Temporary tables			YES	
F555	Enhanced seconds precision			YES	
F561	Full value expressions			YES	
F571	Truth value tests			YES	
F591	Derived tables			YES	
F611	Indicator data types			YES	
F641	Row and table constructors			YES	
F651	Catalog name qualifiers			YES	
F661	Simple tables			YES	
F671	Subqueries in CHECK constraints			NO	intentionally omitted
F672	Retrospective CHECK constraints			YES	
F673	Reads SQL-data routine invocations in CHECK constraints			NO	
F690	Collation support			YES	
F692	Extended collation support			YES	
F693	SQL-session and client module collations			NO	
F695	Translation support			NO	
F696	Additional translation documentation			NO	
F701	Referential update actions			YES	
F711	ALTER domain			YES	
F721	Deferrable constraints			NO	foreign and unique keys only
F731	INSERT column privileges			YES	
F741	Referential MATCH types			NO	no partial match yet
F751	View CHECK enhancements			YES	
F761	Session management			YES	
F762	CURRENT_CATALOG			YES	
F763	CURRENT_SCHEMA			YES	
F771	Connection management			YES	
F781	Self-referencing operations			YES	
F791	Insensitive cursors			YES	
F801	Full set function			YES	
F812	Basic flagging			NO	
F813	Extended flagging			NO	
F821	Local table references			NO	
F831	Full cursor update			NO	
F832	Updatable scrollable cursors			NO	
F833	Updatable ordered cursors			NO	
F841	LIKE_REGEX predicate			NO	consider regexp_like()
F842	OCCURRENCES_REGEX function			NO	consider regexp_matches()
F843	POSITION_REGEX function			NO	consider regexp_instr()
F844	SUBSTRING_REGEX function			NO	consider regexp_substr()
F845	TRANSLATE_REGEX function			NO	consider regexp_replace()
F846	Octet support in regular expression operators			NO	
F847	Non-constant regular expressions			NO	
F850	Top-level ORDER BY in query expression			YES	
F851	ORDER BY in subqueries			YES	
F852	Top-level ORDER BY in views			YES	
F855	Nested ORDER BY in query expression			YES	
F856	Nested FETCH FIRST in query expression			YES	
F857	Top-level FETCH FIRST in query expression			YES	
F858	FETCH FIRST in subqueries			YES	
F859	Top-level FETCH FIRST in views			YES	
F860	Dynamic FETCH FIRST row count			YES	
F861	Top-level OFFSET in query expression			YES	
F862	OFFSET in subqueries			YES	
F863	Nested OFFSET in query expression			YES	
F864	Top-level OFFSET in views			YES	
F865	Dynamic offset row count in OFFSET			YES	
F866	FETCH FIRST clause: PERCENT option			NO	
F867	FETCH FIRST clause: WITH TIES option			YES	
F868	ORDER BY in grouped table			YES	
F869	SQL implementation info population			YES	
R010	Row pattern recognition: FROM clause			NO	
R020	Row pattern recognition: WINDOW clause			NO	
R030	Row pattern recognition: full aggregate support			NO	
S011	Distinct data types			NO	
S011	Distinct data types	01	USER_DEFINED_TYPES view	NO	
S023	Basic structured types			NO	
S024	Enhanced structured types			NO	
S025	Final structured types			NO	
S026	Self-referencing structured types			NO	
S027	Create method by specific method name			NO	
S028	Permutable UDT options list			NO	
S041	Basic reference types			NO	
S043	Enhanced reference types			NO	
S051	Create table of type			NO	partially supported
S071	SQL paths in function and type name resolution			YES	
S081	Subtables			NO	
S090	Minimal array support			YES	
S091	Basic array support			NO	partially supported
S092	Arrays of user-defined types			YES	
S093	Arrays of distinct types			NO	
S094	Arrays of reference types			NO	
S095	Array constructors by query			YES	
S096	Optional array bounds			YES	
S097	Array element assignment			NO	
S098	ARRAY_AGG			YES	
S099	Array expressions			YES	
S111	ONLY in query expressions			YES	
S151	Type predicate			NO	see pg_typeof()
S161	Subtype treatment			NO	
S162	Subtype treatment for references			NO	
S201	SQL-invoked routines on arrays			YES	
S202	SQL-invoked routines on multisets			NO	
S203	Array parameters			YES	
S204	Array as result type of functions			YES	
S211	User-defined cast functions			YES	
S231	Structured type locators			NO	
S232	Array locators			NO	
S233	Multiset locators			NO	
S241	Transform functions			NO	
S242	Alter transform statement			NO	
S251	User-defined orderings			NO	
S261	Specific type method			NO	
S271	Basic multiset support			NO	
S272	Multisets of user-defined types			NO	
S274	Multisets of reference types			NO	
S275	Advanced multiset support			NO	
S281	Nested collection types			NO	
S291	Unique constraint on entire row			NO	
S301	Enhanced UNNEST			YES	
S401	Distinct types based on array types			NO	
S402	Distinct types based on multiset types			NO	
S403	ARRAY_MAX_CARDINALITY			NO	
S404	TRIM_ARRAY			YES	
T011	Timestamp in Information Schema			NO	
T021	BINARY and VARBINARY data types			NO	
T022	Advanced support for BINARY and VARBINARY data types			NO	
T023	Compound binary literals			NO	
T024	Spaces in binary literals			NO	
T031	BOOLEAN data type			YES	
T039	CLOB locator: non-holdable			NO	
T040	Concatenation of CLOBs			NO	
T041	Basic LOB data type support			NO	
T042	Extended LOB data type support			NO	
T043	Multiplier T			NO	
T044	Multiplier P			NO	
T045	BLOB data type			NO	
T046	CLOB data type			NO	
T047	POSITION, OCTET_LENGTH, TRIM, and SUBSTRING for BLOBs			NO	
T048	Concatenation of BLOBs			NO	
T049	BLOB locator: non-holdable			NO	
T050	POSITION, CHAR_LENGTH, OCTET_LENGTH, LOWER, TRIM, UPPER, and SUBSTRING for CLOBs			NO	
T051	Row types			NO	
T053	Explicit aliases for all-fields reference			NO	
T054	GREATEST and LEAST			YES	different null handling
T055	String padding functions			YES	
T056	Multi-character TRIM functions			YES	
T061	UCS support			YES	
T062	Character length units			NO	
T071	BIGINT data type			YES	
T076	DECFLOAT data type			NO	
T081	Optional string types maximum length			YES	
T101	Enhanced nullability determination			NO	
T111	Updatable joins, unions, and columns			NO	
T121	WITH (excluding RECURSIVE) in query expression			YES	
T122	WITH (excluding RECURSIVE) in subquery			YES	
T131	Recursive query			YES	
T132	Recursive query in subquery			YES	
T133	Enhanced cycle mark values			YES	
T141	SIMILAR predicate			YES	
T151	DISTINCT predicate			YES	
T152	DISTINCT predicate with negation			YES	
T171	LIKE clause in table definition			YES	
T172	AS subquery clause in table definition			YES	
T173	Extended LIKE clause in table definition			YES	
T174	Identity columns			YES	
T175	Generated columns			NO	mostly supported
T176	Sequence generator support			NO	supported except for NEXT VALUE FOR
T177	Sequence generator support: simple restart option			YES	
T178	Identity columns: simple restart option			YES	
T180	System-versioned tables			NO	
T181	Application-time period tables			NO	
T191	Referential action RESTRICT			YES	
T200	Trigger DDL			NO	similar but not fully compatible
T201	Comparable data types for referential constraints			YES	
T211	Basic trigger capability			NO	
T212	Enhanced trigger capability			YES	
T213	INSTEAD OF triggers			YES	
T214	BEFORE triggers			YES	
T215	AFTER triggers			YES	
T216	Ability to require true search condition before trigger is invoked			YES	
T217	TRIGGER privilege			YES	
T218	Multiple triggers for the same event executed in the order created			NO	intentionally omitted
T231	Sensitive cursors			NO	
T241	START TRANSACTION statement			YES	
T251	SET TRANSACTION statement: LOCAL option			NO	
T261	Chained transactions			YES	
T262	Multiple server transactions			NO	
T271	Savepoints			YES	
T272	Enhanced savepoint management			NO	
T281	SELECT privilege with column granularity			YES	
T285	Enhanced derived column names			YES	
T301	Functional dependencies			NO	partially supported
T312	OVERLAY function			YES	
T321	Basic SQL-invoked routines			NO	partially supported
T321	Basic SQL-invoked routines	01	User-defined functions with no overloading	YES	
T321	Basic SQL-invoked routines	02	User-defined stored procedures with no overloading	YES	
T321	Basic SQL-invoked routines	03	Function invocation	YES	
T321	Basic SQL-invoked routines	04	CALL statement	YES	
T321	Basic SQL-invoked routines	05	RETURN statement	YES	
T321	Basic SQL-invoked routines	06	ROUTINES view	YES	
T321	Basic SQL-invoked routines	07	PARAMETERS view	YES	
T322	Declared data type attributes			NO	
T323	Explicit security for external routines			YES	
T324	Explicit security for SQL routines			NO	
T325	Qualified SQL parameter references			YES	
T326	Table functions			NO	
T331	Basic roles			YES	
T332	Extended roles			YES	
T341	Overloading of SQL-invoked functions and SQL-invoked procedures			YES	
T351	Bracketed comments			YES	
T431	Extended grouping capabilities			YES	
T432	Nested and concatenated GROUPING SETS			YES	
T433	Multi-argument GROUPING function			YES	
T434	GROUP BY DISTINCT			YES	
T441	ABS and MOD functions			YES	
T461	Symmetric BETWEEN predicate			YES	
T471	Result sets return value			NO	
T472	DESCRIBE CURSOR			NO	
T491	LATERAL derived table			YES	
T495	Combined data change and retrieval			NO	different syntax
T501	Enhanced EXISTS predicate			YES	
T502	Period predicates			NO	
T511	Transaction counts			NO	
T521	Named arguments in CALL statement			YES	
T522	Default values for IN parameters of SQL-invoked procedures			NO	supported except DEFAULT key word in invocation
T523	Default values for INOUT parameters of SQL-invoked procedures			YES	
T524	Named arguments in routine invocations other than a CALL statement			YES	
T525	Default values for parameters of SQL-invoked functions			YES	
T551	Optional key words for default syntax			YES	
T561	Holdable locators			NO	
T571	Array-returning external SQL-invoked functions			NO	
T572	Multiset-returning external SQL-invoked functions			NO	
T581	Regular expression substring function			YES	
T591	UNIQUE constraints of possibly null columns			YES	
T601	Local cursor references			NO	
T611	Elementary OLAP operations			YES	
T612	Advanced OLAP operations			YES	
T613	Sampling			YES	
T614	NTILE function			YES	
T615	LEAD and LAG functions			YES	
T616	Null treatment option for LEAD and LAG functions			NO	
T617	FIRST_VALUE and LAST_VALUE functions			YES	
T618	NTH_VALUE function			NO	function exists, but some options missing
T619	Nested window functions			NO	
T620	WINDOW clause: GROUPS option			YES	
T621	Enhanced numeric functions			YES	
T622	Trigonometric functions			YES	
T623	General logarithm functions			YES	
T624	Common logarithm functions			YES	
T625	LISTAGG			NO	
T626	ANY_VALUE			YES	
T627	Window framed COUNT DISTINCT			YES	
T631	IN predicate with one list element			YES	
T641	Multiple column assignment			NO	only some syntax variants supported
T651	SQL-schema statements in SQL routines			YES	
T652	SQL-dynamic statements in SQL routines			NO	
T653	SQL-schema statements in external routines			YES	
T654	SQL-dynamic statements in external routines			NO	
T655	Cyclically dependent routines			YES	
T661	Non-decimal integer literals			YES	
T662	Underscores in numeric literals			YES	
T670	Schema and data statement mixing			YES	
T801	JSON data type			NO	
T802	Enhanced JSON data type			NO	
T803	String-based JSON			YES	
T811	Basic SQL/JSON constructor functions			YES	
T812	SQL/JSON: JSON_OBJECTAGG			YES	
T813	SQL/JSON: JSON_ARRAYAGG with ORDER BY			YES	
T814	Colon in JSON_OBJECT or JSON_OBJECTAGG			YES	
T821	Basic SQL/JSON query operators			NO	
T822	SQL/JSON: IS JSON WITH UNIQUE KEYS predicate			YES	
T823	SQL/JSON: PASSING clause			NO	
T824	JSON_TABLE: specific PLAN clause			NO	
T825	SQL/JSON: ON EMPTY and ON ERROR clauses			NO	
T826	General value expression in ON ERROR or ON EMPTY clauses			NO	
T827	JSON_TABLE: sibling NESTED COLUMNS clauses			NO	
T828	JSON_QUERY			NO	
T829	JSON_QUERY: array wrapper options			NO	
T830	Enforcing unique keys in SQL/JSON constructor functions			YES	
T831	SQL/JSON path language: strict mode			YES	
T832	SQL/JSON path language: item method			YES	
T833	SQL/JSON path language: multiple subscripts			YES	
T834	SQL/JSON path language: wildcard member accessor			YES	
T835	SQL/JSON path language: filter expressions			YES	
T836	SQL/JSON path language: starts with predicate			YES	
T837	SQL/JSON path language: regex_like predicate			YES	
T838	JSON_TABLE: PLAN DEFAULT clause			NO	
T839	Formatted cast of datetimes to/from character strings			NO	
T840	Hex integer literals in SQL/JSON path language			YES	
T851	SQL/JSON: optional keywords for default syntax			YES	
T860	SQL/JSON simplified accessor: column reference only			NO	
T861	SQL/JSON simplified accessor: case-sensitive JSON member accessor			NO	
T862	SQL/JSON simplified accessor: wildcard member accessor			NO	
T863	SQL/JSON simplified accessor: single-quoted string literal as member accessor			NO	
T864	SQL/JSON simplified accessor			NO	
T865	SQL/JSON item method: bigint()			NO	
T866	SQL/JSON item method: boolean()			NO	
T867	SQL/JSON item method: date()			NO	
T868	SQL/JSON item method: decimal()			NO	
T869	SQL/JSON item method: decimal() with precision and scale			NO	
T870	SQL/JSON item method: integer()			NO	
T871	SQL/JSON item method: number()			NO	
T872	SQL/JSON item method: string()			NO	
T873	SQL/JSON item method: time()			NO	
T874	SQL/JSON item method: time_tz()			NO	
T875	SQL/JSON item method: time precision			NO	
T876	SQL/JSON item method: timestamp()			NO	
T877	SQL/JSON item method: timestamp_tz()			NO	
T878	SQL/JSON item method: timestamp precision			NO	
T879	JSON in equality operations			YES	with jsonb
T880	JSON in grouping operations			YES	with jsonb
T881	JSON in ordering operations			NO	with jsonb, partially supported
T882	JSON in multiset element grouping operations			NO	
M001	Datalinks			NO	
M002	Datalinks via SQL/CLI			NO	
M003	Datalinks via Embedded SQL			NO	
M004	Foreign data support			NO	partially supported
M005	Foreign schema support			NO	
M006	GetSQLString routine			NO	
M007	TransmitRequest			NO	
M009	GetOpts and GetStatistics routines			NO	
M010	Foreign-data wrapper support			NO	different API
M011	Datalinks via Ada			NO	
M012	Datalinks via C			NO	
M013	Datalinks via COBOL			NO	
M014	Datalinks via Fortran			NO	
M015	Datalinks via M			NO	
M016	Datalinks via Pascal			NO	
M017	Datalinks via PL/I			NO	
M018	Foreign-data wrapper interface routines in Ada			NO	
M019	Foreign-data wrapper interface routines in C			NO	different API
M020	Foreign-data wrapper interface routines in COBOL			NO	
M021	Foreign-data wrapper interface routines in Fortran			NO	
M022	Foreign-data wrapper interface routines in MUMPS			NO	
M023	Foreign-data wrapper interface routines in Pascal			NO	
M024	Foreign-data wrapper interface routines in PL/I			NO	
M030	SQL-server foreign data support			NO	
M031	Foreign-data wrapper general routines			NO	
X010	XML type			YES	
X011	Arrays of XML type			YES	
X012	Multisets of XML type			NO	
X013	Distinct types of XML type			NO	
X014	Attributes of XML type			YES	
X015	Fields of XML type			NO	
X016	Persistent XML values			YES	
X020	XMLConcat			YES	
X025	XMLCast			NO	
X030	XMLDocument			NO	
X031	XMLElement			YES	
X032	XMLForest			YES	
X034	XMLAgg			YES	
X035	XMLAgg: ORDER BY option			YES	
X036	XMLComment			YES	
X037	XMLPI			YES	
X038	XMLText			NO	
X040	Basic table mapping			YES	
X041	Basic table mapping: null absent			YES	
X042	Basic table mapping: null as nil			YES	
X043	Basic table mapping: table as forest			YES	
X044	Basic table mapping: table as element			YES	
X045	Basic table mapping: with target namespace			YES	
X046	Basic table mapping: data mapping			YES	
X047	Basic table mapping: metadata mapping			YES	
X048	Basic table mapping: base64 encoding of binary strings			YES	
X049	Basic table mapping: hex encoding of binary strings			YES	
X050	Advanced table mapping			YES	
X051	Advanced table mapping: null absent			YES	
X052	Advanced table mapping: null as nil			YES	
X053	Advanced table mapping: table as forest			YES	
X054	Advanced table mapping: table as element			YES	
X055	Advanced table mapping: with target namespace			YES	
X056	Advanced table mapping: data mapping			YES	
X057	Advanced table mapping: metadata mapping			YES	
X058	Advanced table mapping: base64 encoding of binary strings			YES	
X059	Advanced table mapping: hex encoding of binary strings			YES	
X060	XMLParse: character string input and CONTENT option			YES	
X061	XMLParse: character string input and DOCUMENT option			YES	
X065	XMLParse: binary string input and CONTENT option			NO	
X066	XMLParse: binary string input and DOCUMENT option			NO	
X068	XMLSerialize: BOM			NO	
X069	XMLSerialize: INDENT			YES	
X070	XMLSerialize: character string serialization and CONTENT option			YES	
X071	XMLSerialize: character string serialization and DOCUMENT option			YES	
X072	XMLSerialize: character string serialization			YES	
X073	XMLSerialize: binary string serialization and CONTENT option			NO	
X074	XMLSerialize: binary string serialization and DOCUMENT option			NO	
X075	XMLSerialize: binary string serialization			NO	
X076	XMLSerialize: VERSION			NO	
X077	XMLSerialize: explicit ENCODING option			NO	
X078	XMLSerialize: explicit XML declaration			NO	
X080	Namespaces in XML publishing			NO	
X081	Query-level XML namespace declarations			NO	
X082	XML namespace declarations in DML			NO	
X083	XML namespace declarations in DDL			NO	
X084	XML namespace declarations in compound statements			NO	
X085	Predefined namespace prefixes			NO	
X086	XML namespace declarations in XMLTable			NO	
X090	XML document predicate			YES	
X091	XML content predicate			NO	
X096	XMLExists			NO	XPath 1.0 only
X100	Host language support for XML: CONTENT option			NO	
X101	Host language support for XML: DOCUMENT option			NO	
X110	Host language support for XML: VARCHAR mapping			NO	
X111	Host language support for XML: CLOB mapping			NO	
X112	Host language support for XML: BLOB mapping			NO	
X113	Host language support for XML: STRIP WHITESPACE option			NO	
X114	Host language support for XML: PRESERVE WHITESPACE option			NO	
X120	XML parameters in SQL routines			YES	
X121	XML parameters in external routines			YES	
X131	Query-level XMLBINARY clause			NO	
X132	XMLBINARY clause in DML			NO	
X133	XMLBINARY clause in DDL			NO	
X134	XMLBINARY clause in compound statements			NO	
X135	XMLBINARY clause in subqueries			NO	
X141	IS VALID predicate: data-driven case			NO	
X142	IS VALID predicate: ACCORDING TO clause			NO	
X143	IS VALID predicate: ELEMENT clause			NO	
X144	IS VALID predicate: schema location			NO	
X145	IS VALID predicate outside check constraints			NO	
X151	IS VALID predicate: with DOCUMENT option			NO	
X152	IS VALID predicate: with CONTENT option			NO	
X153	IS VALID predicate: with SEQUENCE option			NO	
X155	IS VALID predicate: NAMESPACE without ELEMENT clause			NO	
X157	IS VALID predicate: NO NAMESPACE with ELEMENT clause			NO	
X160	Basic Information Schema for registered XML schemas			NO	
X161	Advanced Information Schema for registered XML schemas			NO	
X170	XML null handling options			NO	
X171	NIL ON NO CONTENT option			NO	
X181	XML(DOCUMENT(UNTYPED)) type			NO	
X182	XML(DOCUMENT(ANY)) type			NO	
X190	XML(SEQUENCE) type			NO	
X191	XML(DOCUMENT(XMLSCHEMA)) type			NO	
X192	XML(CONTENT(XMLSCHEMA)) type			NO	
X200	XMLQuery			NO	
X201	XMLQuery: RETURNING CONTENT			NO	
X202	XMLQuery: RETURNING SEQUENCE			NO	
X203	XMLQuery: passing a context item			NO	
X204	XMLQuery: initializing an XQuery variable			NO	
X205	XMLQuery: EMPTY ON EMPTY option			NO	
X206	XMLQuery: NULL ON EMPTY option			NO	
X211	XML 1.1 support			NO	
X221	XML passing mechanism BY VALUE			YES	
X222	XML passing mechanism BY REF			NO	parser accepts BY REF but ignores it; passing is always BY VALUE
X231	XML(CONTENT(UNTYPED)) type			NO	
X232	XML(CONTENT(ANY)) type			NO	
X241	RETURNING CONTENT in XML publishing			NO	
X242	RETURNING SEQUENCE in XML publishing			NO	
X251	Persistent XML values of XML(DOCUMENT(UNTYPED)) type			NO	
X252	Persistent XML values of XML(DOCUMENT(ANY)) type			NO	
X253	Persistent XML values of XML(CONTENT(UNTYPED)) type			NO	
X254	Persistent XML values of XML(CONTENT(ANY)) type			NO	
X255	Persistent XML values of XML(SEQUENCE) type			NO	
X256	Persistent XML values of XML(DOCUMENT(XMLSCHEMA)) type			NO	
X257	Persistent XML values of XML(CONTENT(XMLSCHEMA)) type			NO	
X260	XML type: ELEMENT clause			NO	
X261	XML type: NAMESPACE without ELEMENT clause			NO	
X263	XML type: NO NAMESPACE with ELEMENT clause			NO	
X264	XML type: schema location			NO	
X271	XMLValidate: data-driven case			NO	
X272	XMLValidate: ACCORDING TO clause			NO	
X273	XMLValidate: ELEMENT clause			NO	
X274	XMLValidate: schema location			NO	
X281	XMLValidate with DOCUMENT option			NO	
X282	XMLValidate with CONTENT option			NO	
X283	XMLValidate with SEQUENCE option			NO	
X284	XMLValidate: NAMESPACE without ELEMENT clause			NO	
X286	XMLValidate: NO NAMESPACE with ELEMENT clause			NO	
X300	XMLTable			NO	XPath 1.0 only
X301	XMLTable: derived column list option			YES	
X302	XMLTable: ordinality column option			YES	
X303	XMLTable: column default option			YES	
X304	XMLTable: passing a context item			YES	must be XML DOCUMENT
X305	XMLTable: initializing an XQuery variable			NO	
X400	Name and identifier mapping			YES	
X410	Alter column data type: XML type			YES