D.2. Неподдерживаемые возможности #
Следующие возможности, описанные в SQL:2023, не реализованы в этом выпуске PostgreSQL. В некоторых случаях они заменяются равнозначной функциональностью.
| Идентификатор | Основа? | Описание | Комментарий |
|---|---|---|---|
| B011 | Встроенный язык Ada | ||
| B013 | Встроенный язык COBOL | ||
| B014 | Встроенный язык Fortran | ||
| B015 | Встроенный язык MUMPS | ||
| B016 | Встроенный язык Pascal | ||
| B017 | Встроенный язык PL/I | ||
| B030 | Расширенный динамический SQL | ||
| B031 | Базовый динамический SQL | ||
| B032 | Расширенный динамический SQL | ||
| B033 | Нетипизированные аргументы функции, вызываемой из SQL | ||
| B034 | Динамическое указание атрибутов курсора | ||
| B035 | Нерасширенные имена дескрипторов | ||
| B036 | Оператор describe input | ||
| B041 | Расширения встроенных объявлений исключений SQL | ||
| B051 | Расширенные права для выполнения | ||
| B111 | Язык модулей — Ada | ||
| B112 | Язык модулей — C | ||
| B113 | Язык модулей — COBOL | ||
| B114 | Язык модулей — Fortran | ||
| B115 | Язык модулей — MUMPS | ||
| B116 | Язык модулей — Pascal | ||
| B117 | Язык модулей — PL/I | ||
| B121 | Язык подпрограмм — Ada | ||
| B122 | Язык подпрограмм — C | ||
| B123 | Язык подпрограмм — COBOL | ||
| B124 | Язык подпрограмм — Fortran | ||
| B125 | Язык подпрограмм — MUMPS | ||
| B126 | Язык подпрограмм — Pascal | ||
| B127 | Язык подпрограмм — PL/I | ||
| B200 | Полиморфные табличные функции (PTF) | ||
| B201 | Более одного абстрактного табличного параметра PTF | ||
| B202 | Соразделение PTF | ||
| B203 | Более одного указания соразделения | ||
| B204 | PRUNE WHEN EMPTY | ||
| B205 | Сквозная передача столбцов | ||
| B206 | Передача в PTF параметров с дескриптором | ||
| B207 | Векторное произведение разделов | ||
| B208 | Интерфейс компонентных процедур PTF | ||
| B209 | Расширенные имена PTF | ||
| B211 | Язык модулей — Ada: поддержка VARCHAR и NUMERIC | ||
| B221 | Язык подпрограмм — Ada: поддержка VARCHAR и NUMERIC | ||
| F054 | TIMESTAMP в списке приоритетов типа DATE | ||
| F120 | Оператор GET DIAGNOSTICS | ||
| F121 | Базовое управление диагностикой | ||
| F122 | Расширенное управление диагностикой | ||
| F123 | Вся диагностика | ||
| F124 | Оператор SET TRANSACTION: предложение DIAGNOSTICS SIZE | ||
| F263 | Разделённые запятыми предикаты в простом выражении CASE | ||
| F291 | Предикат UNIQUE | ||
| F301 | CORRESPONDING в выражениях запросов | ||
| F403 | Секционированные соединённые таблицы | ||
| F451 | Определение набора символов | ||
| F461 | Именованные наборы символов | ||
| F492 | Необязательное указание соблюдения ограничения таблицы | ||
| F521 | Утверждения | ||
| F671 | Подзапросы в ограничениях CHECK | намеренно опущено | |
| F673 | Вызов подпрограммы, читающей SQL-данные, в условиях CHECK | ||
| F693 | Правила сортировки символов для SQL-сеансов и клиентских модулей | ||
| F695 | Поддержка перекодировки | ||
| F696 | Дополнительная документация по перекодировке | ||
| F721 | Откладываемые ограничения | только сторонние и уникальные ключи | |
| F741 | Типы ссылочных совпадений MATCH | пока без частичного совпадения | |
| F812 | Базовое флагирование | ||
| F813 | Расширенное флагирование | ||
| F821 | Ссылки на локальные таблицы | ||
| F831 | Полное изменение курсора | ||
| F832 | Изменяемые прокручиваемые курсоры | ||
| F833 | Изменяемые упорядоченные курсоры | ||
| F841 | Предикат LIKE_REGEX | возможная альтернатива — regexp_like() | |
| F842 | Функция OCCURRENCES_REGEX | возможная альтернатива — regexp_matches() | |
| F843 | Функция POSITION_REGEX | возможная альтернатива — regexp_instr() | |
| F844 | Функция SUBSTRING_REGEX | возможная альтернатива — regexp_substr() | |
| F845 | Функция TRANSLATE_REGEX | возможная альтернатива — regexp_replace() | |
| F846 | Поддержка октетов в операторах регулярных выражений | ||
| F847 | Неконстантные регулярные выражения | ||
| F866 | Предложение FETCH FIRST: параметр PERCENT | ||
| R010 | Распознавание шаблона строк: предложение FROM | ||
| R020 | Распознавание шаблона строк: предложение WINDOW | ||
| R030 | Распознавание шаблона строк: полная поддержка агрегатов | ||
| S011 | Основа | Отдельные типы данных | |
| S011-01 | Основа | Представление USER_DEFINED_TYPES | |
| S023 | Базовые структурированные типы | ||
| S024 | Расширенные структурированные типы | ||
| S025 | Окончательные структурированные типы | ||
| S026 | Самоссылающиеся структурированные типы | ||
| S027 | Создание метода по заданному имени метода | ||
| S028 | Произвольный порядок параметров UDT | ||
| S041 | Базовые ссылочные типы | ||
| S043 | Расширенные ссылочные типы | ||
| S051 | Создание таблицы из типа | частично поддерживается | |
| S081 | Подтаблицы | ||
| S091 | Базовая поддержка массивов | частично поддерживается | |
| S093 | Массивы отдельных типов | ||
| S094 | Массивы ссылочных типов | ||
| S097 | Присваивание значения элементу массива | ||
| S151 | Предикат типа | см. pg_typeof() | |
| S161 | Приведение подтипов | ||
| S162 | Приведение подтипов для ссылочных типов | ||
| S202 | Вызываемые из SQL подпрограммы, работающие с мультимножествами | ||
| S231 | Указатели на структурные типы | ||
| S232 | Указатели на массивы | ||
| S233 | Указатели на мультимножества | ||
| S241 | Функции преобразований | ||
| S242 | Оператор изменения преобразования | ||
| S251 | Определяемые пользователем упорядочивания | ||
| S261 | Метод SPECIFICTYPE | ||
| S271 | Базовая поддержка мультимножеств | ||
| S272 | Мультимножества пользовательских типов | ||
| S274 | Мультимножества ссылочных типов | ||
| S275 | Расширенная поддержка мультимножеств | ||
| S281 | Типы вложенных коллекций | ||
| S291 | Ограничение уникальности для всей строки | ||
| S401 | Отдельные типы на базе типов массивов | ||
| S402 | Отдельные типы на базе типов мультимножеств | ||
| S403 | ARRAY_MAX_CARDINALITY | ||
| T011 | Тип TIMESTAMP в информационной схеме | ||
| T021 | Типы данных BINARY и VARBINARY | ||
| T022 | Расширенная поддержка типов данных BINARY и VARBINARY | ||
| T023 | Составные двоичные строки | ||
| T024 | Пробелы в двоичных строках | ||
| T039 | Указатель на CLOB: неудерживаемый | ||
| T040 | Конкатенация типов данных CLOB | ||
| T041 | Базовая поддержка типа данных LOB | ||
| T042 | Расширенная поддержка типа данных LOB | ||
| T043 | Множитель T | ||
| T044 | Множитель P | ||
| T045 | Тип данных BLOB | ||
| T046 | Тип данных CLOB | ||
| T047 | Функции POSITION, OCTET_LENGTH, TRIM и SUBSTRING для типов данных BLOB | ||
| T048 | Конкатенация типов данных BLOB | ||
| T049 | Указатель на BLOB: неудерживаемый | ||
| T050 | Функции POSITION, CHAR_LENGTH, OCTET_LENGTH, LOWER, TRIM, UPPER и SUBSTRING для типов данных CLOB | ||
| T051 | Типы кортежей | ||
| T053 | Явные псевдонимы ссылки на все поля | ||
| T062 | Единицы длины символа | ||
| T076 | Тип данных DECFLOAT | ||
| T101 | Улучшенное определение возможности NULL | ||
| T111 | Изменяемые соединения, объединения и столбцы | ||
| T175 | Генерируемые столбцы | в основном поддерживаются | |
| T176 | Поддержка генераторов последовательностей | поддерживается за исключением NEXT VALUE FOR | |
| T180 | Системное версионирование таблиц | ||
| T181 | Таблицы с периодом времени прикладного уровня | ||
| T200 | Триггеры DDL | похожи, но не полностью совместимы | |
| T211 | Базовые возможности триггеров | ||
| T218 | Несколько триггеров для одного события вызываются в порядке создания | намеренно опущено | |
| T231 | Чувствительные курсоры | ||
| T251 | Оператор SET TRANSACTION: параметр LOCAL | ||
| T262 | Мультисерверные транзакции | ||
| T272 | Улучшенное управление точками сохранения | ||
| T301 | Функциональные зависимости | частично поддерживается | |
| T321 | Основа | Базовые вызываемые из SQL подпрограммы | частично поддерживается |
| T322 | Объявляемые атрибуты типа данных | ||
| T324 | Явное управление безопасностью подпрограмм SQL | ||
| T326 | Табличные функции | ||
| T471 | Наборы результатов в качестве возвращаемого значения | ||
| T472 | DESCRIBE CURSOR | ||
| T495 | Совместное изменение и извлечение данных | другой синтаксис | |
| T502 | Предикаты периодов | ||
| T511 | Счётчики транзакций | ||
| T522 | Значения по умолчанию для входных параметров процедур, вызываемых из SQL | поддерживаются, за исключением ключевого слова DEFAULT при вызове | |
| T561 | Удерживаемые указатели | ||
| T571 | Внешние вызываемые из SQL функции, возвращающие массивы | ||
| T572 | Внешние вызываемые из SQL функции, возвращающие мультимножества | ||
| T601 | Ссылки на локальные курсоры | ||
| T616 | Варианты обработки NULL для функций LEAD и LAG | ||
| T618 | Функция NTH_VALUE | функция существует, но некоторые возможности отсутствуют | |
| T619 | Вложенные оконные функции | ||
| T625 | LISTAGG | ||
| T641 | Присваивание нескольким столбцам | поддерживаются только некоторые варианты синтаксиса | |
| T652 | Операторы динамического SQL в SQL-подпрограммах | ||
| T654 | Операторы динамического SQL во внешних подпрограммах | ||
| T801 | Тип данных JSON | ||
| T802 | Расширенный тип данных JSON | ||
| T824 | JSON_TABLE: предложение PLAN | ||
| T838 | JSON_TABLE: предложение PLAN DEFAULT | ||
| T839 | Преобразование даты/времени из символьных строк с форматированием и обратно | ||
| T860 | Упрощённое обращение к SQL/JSON: только ссылки на столбцы | ||
| T861 | Упрощённое обращение к SQL/JSON: обращение к элементу JSON с учётом регистра | ||
| T862 | Упрощённое обращение к SQL/JSON: оператор обращения по звёздочке | ||
| T863 | Упрощённое обращение к SQL/JSON: строковый литерал в одинарных кавычках в качестве оператора обращения | ||
| T864 | Упрощённое обращение к SQL/JSON | ||
| T881 | JSON в операциях упорядочивания | с jsonb, частично поддерживается | |
| T882 | JSON в операциях группировки элементов мультимножеств | ||
| M001 | Связи данных (DATALINK) | ||
| M002 | Связи данных через SQL/CLI | ||
| M003 | Связи данных через встроенный SQL | ||
| M004 | Поддержка сторонних данных | частично поддерживается | |
| M005 | Поддержка сторонних схем | ||
| M006 | Подпрограмма GetSQLString | ||
| M007 | TransmitRequest | ||
| M009 | Подпрограммы GetOpts и GetStatistics | ||
| M010 | Поддержка обёрток сторонних данных | другой API | |
| M011 | Связи данных через Ada | ||
| M012 | Связи данных через C | ||
| M013 | Связи данных через COBOL | ||
| M014 | Связи данных через Fortran | ||
| M015 | Связи данных через MUMPS | ||
| M016 | Связи данных через Pascal | ||
| M017 | Связи данных через PL/I | ||
| M018 | Подпрограммы интерфейса обёртки сторонних данных на языке Ada | ||
| M019 | Подпрограммы интерфейса обёртки сторонних данных на языке C | другой API | |
| M020 | Подпрограммы интерфейса обёртки сторонних данных на языке COBOL | ||
| M021 | Подпрограммы интерфейса обёртки сторонних данных на языке Fortran | ||
| M022 | Подпрограммы интерфейса обёртки сторонних данных на языке MUMPS | ||
| M023 | Подпрограммы интерфейса обёртки сторонних данных на языке Pascal | ||
| M024 | Подпрограммы интерфейса обёртки сторонних данных на языке PL/I | ||
| M030 | Поддержка сторонних данных SQL-сервера | ||
| M031 | Общие подпрограммы обёртки сторонних данных | ||
| X012 | Мультимножества типа XML | ||
| X013 | Отдельные типы, производные от XML | ||
| X015 | Поля типа XML | ||
| X025 | XMLCast | ||
| X030 | XMLDocument | ||
| X065 | XMLParse: ввод двоичных строк и вариант CONTENT | ||
| X066 | XMLParse: ввод двоичных строк и вариант DOCUMENT | ||
| X068 | XMLSerialize: BOM | ||
| X073 | XMLSerialize: сериализация двоичных строк и вариант CONTENT | ||
| X074 | XMLSerialize: сериализация двоичных строк и вариант DOCUMENT | ||
| X075 | XMLSerialize: сериализация двоичных строк | ||
| X076 | XMLSerialize: VERSION | ||
| X077 | XMLSerialize: явное указание ENCODING | ||
| X078 | XMLSerialize: явное объявление XML | ||
| X080 | Пространства имён при публикации XML | ||
| X081 | Объявления пространств имён XML на уровне запроса | ||
| X082 | Объявления пространств имён XML в DML | ||
| X083 | Объявления пространств имён XML в DDL | ||
| X084 | Объявления пространств имён XML в составных операторах | ||
| X085 | Предопределённые префиксы пространств имён | ||
| X086 | Объявления пространств имён XML в XMLTable | ||
| X091 | Предикат содержимого XML | ||
| X096 | XMLExists | только XPath 1.0 | |
| X100 | Поддержка ведущего языка для XML: вариант CONTENT | ||
| X101 | Поддержка ведущего языка для XML: вариант DOCUMENT | ||
| X110 | Поддержка ведущего языка для XML: отображение VARCHAR | ||
| X111 | Поддержка ведущего языка для XML: отображение CLOB | ||
| X112 | Поддержка ведущего языка для XML: отображение BLOB | ||
| X113 | Поддержка ведущего языка для XML: указание STRIP WHITESPACE | ||
| X114 | Поддержка ведущего языка для XML: указание PRESERVE WHITESPACE | ||
| X131 | Предложение XMLBINARY на уровне запроса | ||
| X132 | Предложение XMLBINARY в DML | ||
| X133 | Предложение XMLBINARY в DDL | ||
| X134 | Предложение XMLBINARY в составных операторах | ||
| X135 | Предложение XMLBINARY в подзапросах | ||
| X141 | Предикат IS VALID: в зависимости от данных | ||
| X142 | Предикат IS VALID: предложение ACCORDING TO | ||
| X143 | Предикат IS VALID: предложение ELEMENT | ||
| X144 | Предикат IS VALID: расположение схемы | ||
| X145 | Предикат IS VALID вне ограничений-проверок | ||
| X151 | Предикат IS VALID с вариантом DOCUMENT | ||
| X152 | Предикат IS VALID с вариантом CONTENT | ||
| X153 | Предикат IS VALID с вариантом SEQUENCE | ||
| X155 | Предикат IS VALID: NAMESPACE без предложения ELEMENT | ||
| X157 | Предикат IS VALID: NO NAMESPACE с предложением ELEMENT | ||
| X160 | Базовая информационная схема для зарегистрированных XML-схем | ||
| X161 | Расширенная информационная схема для зарегистрированных XML-схем | ||
| X170 | Варианты обработки NULL с XML | ||
| X171 | Вариант NIL ON NO CONTENT | ||
| X181 | Тип XML(DOCUMENT(UNTYPED)) | ||
| X182 | Тип XML(DOCUMENT(ANY)) | ||
| X190 | Тип XML(SEQUENCE) | ||
| X191 | Тип XML(DOCUMENT(XMLSCHEMA)) | ||
| X192 | Тип XML(CONTENT(XMLSCHEMA)) | ||
| X200 | XMLQuery | ||
| X201 | XMLQuery: RETURNING CONTENT | ||
| X202 | XMLQuery: RETURNING SEQUENCE | ||
| X203 | XMLQuery: передача контекста | ||
| X204 | XMLQuery: инициализация переменной XQuery | ||
| X205 | XMLQuery: указание EMPTY ON EMPTY | ||
| X206 | XMLQuery: указание NULL ON EMPTY | ||
| X211 | Поддержка XML 1.1 | ||
| X222 | Механизм передачи XML BY REF | BY REF принимается, но игнорируется; фактически всегда действует BY VALUE | |
| X231 | Тип XML(CONTENT(UNTYPED)) | ||
| X232 | Тип XML(CONTENT(ANY)) | ||
| X241 | RETURNING CONTENT при публикации XML | ||
| X242 | RETURNING SEQUENCE при публикации XML | ||
| X251 | Хранимые значения XML типа XML(DOCUMENT(UNTYPED)) | ||
| X252 | Хранимые значения XML типа XML(DOCUMENT(ANY)) | ||
| X253 | Хранимые значения XML типа XML(CONTENT(UNTYPED)) | ||
| X254 | Хранимые значения XML типа XML(CONTENT(ANY)) | ||
| X255 | Хранимые значения XML типа XML(SEQUENCE) | ||
| X256 | Хранимые значения XML типа XML(DOCUMENT(XMLSCHEMA)) | ||
| X257 | Хранимые значения XML типа XML(CONTENT(XMLSCHEMA)) | ||
| X260 | Тип XML: предложение ELEMENT | ||
| X261 | Тип XML: NAMESPACE без предложения ELEMENT | ||
| X263 | Тип XML: NO NAMESPACE с предложением ELEMENT | ||
| X264 | Тип XML: расположение схемы | ||
| X271 | XMLValidate: в зависимости от данных | ||
| X272 | XMLValidate: предложение ACCORDING TO | ||
| X273 | XMLValidate: предложение ELEMENT | ||
| X274 | XMLValidate: расположение схемы | ||
| X281 | XMLValidate с вариантом DOCUMENT | ||
| X282 | XMLValidate с вариантом CONTENT | ||
| X283 | XMLValidate с вариантом SEQUENCE | ||
| X284 | XMLValidate: NAMESPACE без предложения ELEMENT | ||
| X286 | XMLValidate: NO NAMESPACE с предложением ELEMENT | ||
| X300 | XMLTable | только XPath 1.0 | |
| X305 | XMLTable: инициализация переменной XQuery |
D.2. Unsupported Features #
The following features defined in SQL:2023 are not implemented in this release of PostgreSQL. In a few cases, equivalent functionality is available.
| Identifier | Core? | Description | Comment |
|---|---|---|---|
| B011 | Embedded Ada | ||
| B013 | Embedded COBOL | ||
| B014 | Embedded Fortran | ||
| B015 | Embedded MUMPS | ||
| B016 | Embedded Pascal | ||
| B017 | Embedded PL/I | ||
| B030 | Enhanced dynamic SQL | ||
| B031 | Basic dynamic SQL | ||
| B032 | Extended dynamic SQL | ||
| B033 | Untyped SQL-invoked function arguments | ||
| B034 | Dynamic specification of cursor attributes | ||
| B035 | Non-extended descriptor names | ||
| B036 | Describe input statement | ||
| B041 | Extensions to embedded SQL exception declarations | ||
| B051 | Enhanced execution rights | ||
| B111 | Module language Ada | ||
| B112 | Module language C | ||
| B113 | Module language COBOL | ||
| B114 | Module language Fortran | ||
| B115 | Module language MUMPS | ||
| B116 | Module language Pascal | ||
| B117 | Module language PL/I | ||
| B121 | Routine language Ada | ||
| B122 | Routine language C | ||
| B123 | Routine language COBOL | ||
| B124 | Routine language Fortran | ||
| B125 | Routine language MUMPS | ||
| B126 | Routine language Pascal | ||
| B127 | Routine language PL/I | ||
| B200 | Polymorphic table functions | ||
| B201 | More than one PTF generic table parameter | ||
| B202 | PTF copartitioning | ||
| B203 | More than one copartition specification | ||
| B204 | PRUNE WHEN EMPTY | ||
| B205 | Pass-through columns | ||
| B206 | PTF descriptor parameters | ||
| B207 | Cross products of partitionings | ||
| B208 | PTF component procedure interface | ||
| B209 | PTF extended names | ||
| B211 | Module language Ada: VARCHAR and NUMERIC support | ||
| B221 | Routine language Ada: VARCHAR and NUMERIC support | ||
| F054 | TIMESTAMP in DATE type precedence list | ||
| F120 | Get diagnostics statement | ||
| F121 | Basic diagnostics management | ||
| F122 | Enhanced diagnostics management | ||
| F123 | All diagnostics | ||
| F124 | SET TRANSACTION statement: DIAGNOSTICS SIZE clause | ||
| F263 | Comma-separated predicates in simple CASE expression | ||
| F291 | UNIQUE predicate | ||
| F301 | CORRESPONDING in query expressions | ||
| F403 | Partitioned join tables | ||
| F451 | Character set definition | ||
| F461 | Named character sets | ||
| F492 | Optional table constraint enforcement | ||
| F521 | Assertions | ||
| F671 | Subqueries in CHECK constraints | intentionally omitted | |
| F673 | Reads SQL-data routine invocations in CHECK constraints | ||
| F693 | SQL-session and client module collations | ||
| F695 | Translation support | ||
| F696 | Additional translation documentation | ||
| F721 | Deferrable constraints | foreign and unique keys only | |
| F741 | Referential MATCH types | no partial match yet | |
| F812 | Basic flagging | ||
| F813 | Extended flagging | ||
| F821 | Local table references | ||
| F831 | Full cursor update | ||
| F832 | Updatable scrollable cursors | ||
| F833 | Updatable ordered cursors | ||
| F841 | LIKE_REGEX predicate | consider regexp_like() | |
| F842 | OCCURRENCES_REGEX function | consider regexp_matches() | |
| F843 | POSITION_REGEX function | consider regexp_instr() | |
| F844 | SUBSTRING_REGEX function | consider regexp_substr() | |
| F845 | TRANSLATE_REGEX function | consider regexp_replace() | |
| F846 | Octet support in regular expression operators | ||
| F847 | Non-constant regular expressions | ||
| F866 | FETCH FIRST clause: PERCENT option | ||
| R010 | Row pattern recognition: FROM clause | ||
| R020 | Row pattern recognition: WINDOW clause | ||
| R030 | Row pattern recognition: full aggregate support | ||
| S011 | Core | Distinct data types | |
| S011-01 | Core | USER_DEFINED_TYPES view | |
| S023 | Basic structured types | ||
| S024 | Enhanced structured types | ||
| S025 | Final structured types | ||
| S026 | Self-referencing structured types | ||
| S027 | Create method by specific method name | ||
| S028 | Permutable UDT options list | ||
| S041 | Basic reference types | ||
| S043 | Enhanced reference types | ||
| S051 | Create table of type | partially supported | |
| S081 | Subtables | ||
| S091 | Basic array support | partially supported | |
| S093 | Arrays of distinct types | ||
| S094 | Arrays of reference types | ||
| S097 | Array element assignment | ||
| S151 | Type predicate | see pg_typeof() | |
| S161 | Subtype treatment | ||
| S162 | Subtype treatment for references | ||
| S202 | SQL-invoked routines on multisets | ||
| S231 | Structured type locators | ||
| S232 | Array locators | ||
| S233 | Multiset locators | ||
| S241 | Transform functions | ||
| S242 | Alter transform statement | ||
| S251 | User-defined orderings | ||
| S261 | Specific type method | ||
| S271 | Basic multiset support | ||
| S272 | Multisets of user-defined types | ||
| S274 | Multisets of reference types | ||
| S275 | Advanced multiset support | ||
| S281 | Nested collection types | ||
| S291 | Unique constraint on entire row | ||
| S401 | Distinct types based on array types | ||
| S402 | Distinct types based on multiset types | ||
| S403 | ARRAY_MAX_CARDINALITY | ||
| T011 | Timestamp in Information Schema | ||
| T021 | BINARY and VARBINARY data types | ||
| T022 | Advanced support for BINARY and VARBINARY data types | ||
| T023 | Compound binary literals | ||
| T024 | Spaces in binary literals | ||
| T039 | CLOB locator: non-holdable | ||
| T040 | Concatenation of CLOBs | ||
| T041 | Basic LOB data type support | ||
| T042 | Extended LOB data type support | ||
| T043 | Multiplier T | ||
| T044 | Multiplier P | ||
| T045 | BLOB data type | ||
| T046 | CLOB data type | ||
| T047 | POSITION, OCTET_LENGTH, TRIM, and SUBSTRING for BLOBs | ||
| T048 | Concatenation of BLOBs | ||
| T049 | BLOB locator: non-holdable | ||
| T050 | POSITION, CHAR_LENGTH, OCTET_LENGTH, LOWER, TRIM, UPPER, and SUBSTRING for CLOBs | ||
| T051 | Row types | ||
| T053 | Explicit aliases for all-fields reference | ||
| T062 | Character length units | ||
| T076 | DECFLOAT data type | ||
| T101 | Enhanced nullability determination | ||
| T111 | Updatable joins, unions, and columns | ||
| T175 | Generated columns | mostly supported | |
| T176 | Sequence generator support | supported except for NEXT VALUE FOR | |
| T180 | System-versioned tables | ||
| T181 | Application-time period tables | ||
| T200 | Trigger DDL | similar but not fully compatible | |
| T211 | Basic trigger capability | ||
| T218 | Multiple triggers for the same event executed in the order created | intentionally omitted | |
| T231 | Sensitive cursors | ||
| T251 | SET TRANSACTION statement: LOCAL option | ||
| T262 | Multiple server transactions | ||
| T272 | Enhanced savepoint management | ||
| T301 | Functional dependencies | partially supported | |
| T321 | Core | Basic SQL-invoked routines | partially supported |
| T322 | Declared data type attributes | ||
| T324 | Explicit security for SQL routines | ||
| T326 | Table functions | ||
| T471 | Result sets return value | ||
| T472 | DESCRIBE CURSOR | ||
| T495 | Combined data change and retrieval | different syntax | |
| T502 | Period predicates | ||
| T511 | Transaction counts | ||
| T522 | Default values for IN parameters of SQL-invoked procedures | supported except DEFAULT key word in invocation | |
| T561 | Holdable locators | ||
| T571 | Array-returning external SQL-invoked functions | ||
| T572 | Multiset-returning external SQL-invoked functions | ||
| T601 | Local cursor references | ||
| T616 | Null treatment option for LEAD and LAG functions | ||
| T618 | NTH_VALUE function | function exists, but some options missing | |
| T619 | Nested window functions | ||
| T625 | LISTAGG | ||
| T641 | Multiple column assignment | only some syntax variants supported | |
| T652 | SQL-dynamic statements in SQL routines | ||
| T654 | SQL-dynamic statements in external routines | ||
| T801 | JSON data type | ||
| T802 | Enhanced JSON data type | ||
| T824 | JSON_TABLE: specific PLAN clause | ||
| T838 | JSON_TABLE: PLAN DEFAULT clause | ||
| T839 | Formatted cast of datetimes to/from character strings | ||
| T860 | SQL/JSON simplified accessor: column reference only | ||
| T861 | SQL/JSON simplified accessor: case-sensitive JSON member accessor | ||
| T862 | SQL/JSON simplified accessor: wildcard member accessor | ||
| T863 | SQL/JSON simplified accessor: single-quoted string literal as member accessor | ||
| T864 | SQL/JSON simplified accessor | ||
| T881 | JSON in ordering operations | with jsonb, partially supported | |
| T882 | JSON in multiset element grouping operations | ||
| M001 | Datalinks | ||
| M002 | Datalinks via SQL/CLI | ||
| M003 | Datalinks via Embedded SQL | ||
| M004 | Foreign data support | partially supported | |
| M005 | Foreign schema support | ||
| M006 | GetSQLString routine | ||
| M007 | TransmitRequest | ||
| M009 | GetOpts and GetStatistics routines | ||
| M010 | Foreign-data wrapper support | different API | |
| M011 | Datalinks via Ada | ||
| M012 | Datalinks via C | ||
| M013 | Datalinks via COBOL | ||
| M014 | Datalinks via Fortran | ||
| M015 | Datalinks via M | ||
| M016 | Datalinks via Pascal | ||
| M017 | Datalinks via PL/I | ||
| M018 | Foreign-data wrapper interface routines in Ada | ||
| M019 | Foreign-data wrapper interface routines in C | different API | |
| M020 | Foreign-data wrapper interface routines in COBOL | ||
| M021 | Foreign-data wrapper interface routines in Fortran | ||
| M022 | Foreign-data wrapper interface routines in MUMPS | ||
| M023 | Foreign-data wrapper interface routines in Pascal | ||
| M024 | Foreign-data wrapper interface routines in PL/I | ||
| M030 | SQL-server foreign data support | ||
| M031 | Foreign-data wrapper general routines | ||
| X012 | Multisets of XML type | ||
| X013 | Distinct types of XML type | ||
| X015 | Fields of XML type | ||
| X025 | XMLCast | ||
| X030 | XMLDocument | ||
| X065 | XMLParse: binary string input and CONTENT option | ||
| X066 | XMLParse: binary string input and DOCUMENT option | ||
| X068 | XMLSerialize: BOM | ||
| X073 | XMLSerialize: binary string serialization and CONTENT option | ||
| X074 | XMLSerialize: binary string serialization and DOCUMENT option | ||
| X075 | XMLSerialize: binary string serialization | ||
| X076 | XMLSerialize: VERSION | ||
| X077 | XMLSerialize: explicit ENCODING option | ||
| X078 | XMLSerialize: explicit XML declaration | ||
| X080 | Namespaces in XML publishing | ||
| X081 | Query-level XML namespace declarations | ||
| X082 | XML namespace declarations in DML | ||
| X083 | XML namespace declarations in DDL | ||
| X084 | XML namespace declarations in compound statements | ||
| X085 | Predefined namespace prefixes | ||
| X086 | XML namespace declarations in XMLTable | ||
| X091 | XML content predicate | ||
| X096 | XMLExists | XPath 1.0 only | |
| X100 | Host language support for XML: CONTENT option | ||
| X101 | Host language support for XML: DOCUMENT option | ||
| X110 | Host language support for XML: VARCHAR mapping | ||
| X111 | Host language support for XML: CLOB mapping | ||
| X112 | Host language support for XML: BLOB mapping | ||
| X113 | Host language support for XML: STRIP WHITESPACE option | ||
| X114 | Host language support for XML: PRESERVE WHITESPACE option | ||
| X131 | Query-level XMLBINARY clause | ||
| X132 | XMLBINARY clause in DML | ||
| X133 | XMLBINARY clause in DDL | ||
| X134 | XMLBINARY clause in compound statements | ||
| X135 | XMLBINARY clause in subqueries | ||
| X141 | IS VALID predicate: data-driven case | ||
| X142 | IS VALID predicate: ACCORDING TO clause | ||
| X143 | IS VALID predicate: ELEMENT clause | ||
| X144 | IS VALID predicate: schema location | ||
| X145 | IS VALID predicate outside check constraints | ||
| X151 | IS VALID predicate: with DOCUMENT option | ||
| X152 | IS VALID predicate: with CONTENT option | ||
| X153 | IS VALID predicate: with SEQUENCE option | ||
| X155 | IS VALID predicate: NAMESPACE without ELEMENT clause | ||
| X157 | IS VALID predicate: NO NAMESPACE with ELEMENT clause | ||
| X160 | Basic Information Schema for registered XML schemas | ||
| X161 | Advanced Information Schema for registered XML schemas | ||
| X170 | XML null handling options | ||
| X171 | NIL ON NO CONTENT option | ||
| X181 | XML(DOCUMENT(UNTYPED)) type | ||
| X182 | XML(DOCUMENT(ANY)) type | ||
| X190 | XML(SEQUENCE) type | ||
| X191 | XML(DOCUMENT(XMLSCHEMA)) type | ||
| X192 | XML(CONTENT(XMLSCHEMA)) type | ||
| X200 | XMLQuery | ||
| X201 | XMLQuery: RETURNING CONTENT | ||
| X202 | XMLQuery: RETURNING SEQUENCE | ||
| X203 | XMLQuery: passing a context item | ||
| X204 | XMLQuery: initializing an XQuery variable | ||
| X205 | XMLQuery: EMPTY ON EMPTY option | ||
| X206 | XMLQuery: NULL ON EMPTY option | ||
| X211 | XML 1.1 support | ||
| X222 | XML passing mechanism BY REF | parser accepts BY REF but ignores it; passing is always BY VALUE | |
| X231 | XML(CONTENT(UNTYPED)) type | ||
| X232 | XML(CONTENT(ANY)) type | ||
| X241 | RETURNING CONTENT in XML publishing | ||
| X242 | RETURNING SEQUENCE in XML publishing | ||
| X251 | Persistent XML values of XML(DOCUMENT(UNTYPED)) type | ||
| X252 | Persistent XML values of XML(DOCUMENT(ANY)) type | ||
| X253 | Persistent XML values of XML(CONTENT(UNTYPED)) type | ||
| X254 | Persistent XML values of XML(CONTENT(ANY)) type | ||
| X255 | Persistent XML values of XML(SEQUENCE) type | ||
| X256 | Persistent XML values of XML(DOCUMENT(XMLSCHEMA)) type | ||
| X257 | Persistent XML values of XML(CONTENT(XMLSCHEMA)) type | ||
| X260 | XML type: ELEMENT clause | ||
| X261 | XML type: NAMESPACE without ELEMENT clause | ||
| X263 | XML type: NO NAMESPACE with ELEMENT clause | ||
| X264 | XML type: schema location | ||
| X271 | XMLValidate: data-driven case | ||
| X272 | XMLValidate: ACCORDING TO clause | ||
| X273 | XMLValidate: ELEMENT clause | ||
| X274 | XMLValidate: schema location | ||
| X281 | XMLValidate with DOCUMENT option | ||
| X282 | XMLValidate with CONTENT option | ||
| X283 | XMLValidate with SEQUENCE option | ||
| X284 | XMLValidate: NAMESPACE without ELEMENT clause | ||
| X286 | XMLValidate: NO NAMESPACE with ELEMENT clause | ||
| X300 | XMLTable | XPath 1.0 only | |
| X305 | XMLTable: initializing an XQuery variable |