Ограничения системы
Содержание раздела
- ALTER TABLE ADD COLUMN
- ALTER TABLE ADD DATASOURCE
- ALTER TABLE ADD RETENTION
- ALTER TABLE DROP COLUMN
- ALTER TABLE DROP RETENTION
- ALTER TABLE RENAME
- ALTER TABLE RENAME COLUMN
- ALTER VIEW
- BEGIN DELTA
- CHECK_DATA
- CHECK_SUM
- CHECK_SUM_SNAPSHOT
- CHECK_TABLE
- COMMIT DELTA
- CREATE DATABASE
- CREATE DOWNLOAD EXTERNAL TABLE
- CREATE MATERIALIZED VIEW
- CREATE PROXY TABLE
- CREATE READABLE EXTERNAL TABLE
- CREATE SNAPSHOT TABLE
- CREATE TABLE
- CREATE UPLOAD EXTERNAL TABLE
- CREATE VIEW
- CREATE WRITABLE EXTERNAL TABLE
- DELETE
- DENY_CHANGES
- DISABLE_DATASOURCE
- DISABLE_STATISTICS_ROWS_COUNT
- DROP DATABASE
- DROP MATERIALIZED VIEW
- DROP TABLE
- DROP_VIEW
- ENABLE_DATASOURCE
- ENABLE_STATISTICS_ROWS_COUNT
- ERASE DELTA
- ERASE_WRITE_OPERATION
- GET_CHANGES
- GET_CN
- GET_ENTITY_STATISTICS
- GET_TS
- GET_WRITE_OPERATIONS
- INSERT INTO download external table
- INSERT SELECT FROM external_table
- INSERT SELECT
- INSERT VALUES
- RECOVER_DATASOURCE
- RESET_STATISTICS
- RESUME_WRITE_OPERATION
- ROLLBACK CRASHED_WRITE_OPERATIONS
- ROLLBACK DELTA
- SELECT
- SELECT FROM INFORMATION_SCHEMA
- SET_MODE_READONLY
- TRUNCATE ACTUAL
- TRUNCATE HISTORY
- TRUNCATE TSLOG
- UPDATE
- UPSERT VALUES
ALTER TABLE ADD COLUMN
Ограничения выполнения
- Запрос доступен для СУБД ADB, ADP и ADQM.
- Выполнение запроса недоступно, если таблица участвует в незавершенной операции записи или установлен запрет на изменение сущностей.
Ограничения имен
- Имя столбца должно быть уникально в рамках таблицы и соответствовать соглашениям об именах.
Ограничения партиционирования
- При добавлении столбца в партиционированную таблицу необходимо добавить соответствующий столбец во все ее партиции.
- При добавлении столбца в партицию необходимо добавить соответствующий столбец в связанную партиционированную таблицу и другие ее партиции.
Другие ограничения
- Можно добавить только nullable-столбец.
- После изменения таблицы запросы к связанным логическим и материализованным представлениям могут стать недоступными. В этом случае нужно пересоздать сбойные представления.
- Информационная схема обновляется асинхронно, поэтому столбец может не сразу добавиться в информационную схему.
ALTER TABLE ADD DATASOURCE
- Выполнение запроса недоступно в следующих случаях:
- таблица участвует в незавершенной операции записи;
- в логической БД открыта дельта;
- в логической БД установлен запрет на изменение сущностей.
- Параллельное выполнение
ALTER TABLE ADD DATASOURCEи ERASE DELTA может привести к неконсистентности данных. - Можно добавить датасорсы:
- любого типа — для пустой обычной логической таблицы или партиции;
- ADB, ADP — для непустой обычной логической таблицы или партиции с данными в другом датасорсе ADB/ADP;
- ADP — для партиционированной таблицы.
- Информационная схема обновляется асинхронно, поэтому датасорс таблицы может не сразу добавиться в информационную схему.
ALTER TABLE ADD RETENTION
Ограничения выполнения
- Запрос доступен для СУБД ADB и ADP.
- Выполнение запроса недоступно, если таблица участвует в незавершенной операции записи или установлен запрет на изменение сущностей.
Ограничения партиционирования
- Retention-правила партиционированной таблицы не применяются к ее партициям.
Ограничения снапшот-таблиц
- Retention-правила доступны только для снапшот-таблиц с включенным отслеживанием удаления записей.
- Retention-правила снапшот-таблиц могут только удалять информацию об удаленных записях; охлаждение этой информации не поддерживается.
Другие ограничения
- Датасорс-источник и датасорс-приемник в retention-правиле должны быть одного типа.
ALTER TABLE DROP COLUMN
Ограничения выполнения
- Запрос доступен для СУБД ADB, ADP и ADQM.
- Выполнение запроса недоступно, если таблица участвует в незавершенной операции записи или установлен запрет на изменение сущностей.
Ограничения партиционирования
- При удалении столбца из партиционированной таблицы необходимо удалить соответствующий столбец изо всех ее партиции.
- При удалении столбца из партиции необходимо удалить соответствующий столбец из связанной партиционированной таблицы и других ее партиций.
Другие ограничения
- Недоступно удаление столбца, входящего в первичный ключ или ключ шардирования.
- После изменения таблицы запросы к связанным логическим и материализованным представлениям могут стать недоступными. В этом случае нужно пересоздать сбойные представления.
- Информационная схема обновляется асинхронно, поэтому столбец может не сразу удалиться из информационной схемы.
ALTER TABLE DROP RETENTION
- Запрос доступен для СУБД ADB и ADP.
- Выполнение запроса недоступно, если таблица участвует в незавершенной операции записи или установлен запрет на изменение сущностей.
ALTER TABLE RENAME
Ограничения выполнения
- Запрос доступен для СУБД ADB, ADP и ADQM.
- Выполнение запроса недоступно, если таблица участвует в незавершенной операции записи или установлен запрет на изменение сущностей.
Ограничения имен
- Имя таблицы должно быть уникально в рамках логической базы данных и соответствовать соглашениям об именах.
Ограничения партиционирования
- Переименование партиционированной таблицы недоступно, если у нее есть партиции.
Другие ограничения
- После изменения таблицы запросы к связанным логическим и материализованным представлениям могут стать недоступными. В этом случае нужно пересоздать сбойные представления.
- Информационная схема обновляется асинхронно, поэтому таблица может не сразу переименоваться в информационной схеме.
ALTER TABLE RENAME COLUMN
Ограничения выполнения
- Запрос доступен для СУБД ADB, ADP и ADQM.
- Выполнение запроса недоступно, если таблица участвует в незавершенной операции записи или установлен запрет на изменение сущностей.
Ограничения имен
- Имена столбцов должны быть уникальны в рамках таблицы и соответствовать соглашениям об именах.
Ограничения партиционирования
- При переименовании столбца в партиционированной таблице необходимо переименовать соответствующий столбец во всех ее партициях.
- При переименовании столбца в партиции необходимо переименовать соответствующий столбец в связанной партиционированной таблице и других ее партициях.
Другие ограничения
- Недоступно переименование столбца, входящего в первичный ключ или ключ шардирования.
- После изменения таблицы запросы к связанным логическим и материализованным представлениям могут стать недоступными. В этом случае нужно пересоздать сбойные представления.
- Информационная схема обновляется асинхронно, поэтому столбец может не сразу обновиться в информационной схеме.
ALTER VIEW
Ограничения выполнения
- Выполнение запроса недоступно, если установлен запрет на изменение сущностей.
Ограничения имен
- Псевдонимы (алиасы) в SELECT-подзапросе должны соответствовать соглашениям об именах.
Ограничения SELECT-подзапроса
- SELECT-подзапрос не может содержать:
- обычные логические представления (не относящиеся к простым);
- системные представления
INFORMATION_SCHEMA; - ключевое слово FOR SYSTEM_TIME.
- Ключевое слово
DATASOURCE_TYPEв SELECT-подзапросе игнорируется.
Другие ограничения {##alter_view_other}
- Информационная схема обновляется асинхронно, поэтому представление может не сразу обновиться в информационной схеме.
- Системные столбцы источника доступны через представление, если только они явно указаны в запросе на создание/изменение представления.
BEGIN DELTA
- Выполнение запроса невозможно при наличии незавершенного запроса на создание, удаление или изменение таблицы или представления.
- Если в запросе указан номер открываемой дельты, он должен быть равен номеру последней закрытой дельты + 1.
CHECK_DATA
Ограничения сущностей
- Недоступна проверка партиционированных таблиц, а также логических и материализованных представлений.
- Максимальное количество проверяемых записей в одной сущности ограничено и регулируется коэффициентом нормализации.
Ограничения точности
- Есть небольшая вероятность, что контрольные суммы совпадут для разных наборов данных, поэтому возможен ложноположительный результат проверки.
- Значения типа
FLOATиDOUBLEмогут приводить к расхождениям при проверке из-за разницы в точности типов.
Другие ограничения
- Недоступна проверка изменений, внесенных операциями записи после последней закрытой дельты.
- При обработке запроса отключенные (Датасорс, отключенный системой из-за сбоя или администратором
) датасорсы (СУБД или кластер СУБД хранилища
) пропускаются без возврата ошибки. Ошибка возвращается, если не осталось включенных (Датасорс, работающий в штатном режиме
) датасорсов, подходящих для исполнения запроса.
CHECK_SUM
Ограничения сущностей
- Контрольная сумма по всей логической базе данных рассчитывается только по данным логических таблиц и снапшот-таблиц. Данные логических и материализованных представлений не учитываются.
- Расчет контрольной суммы недоступен для сущностей:
- логических представлений, основанных на данных СУБД ADQM;
- логических представлений, основанных на данных прокси-таблиц и standalone-таблиц;
- партиционированных таблиц;
- прокси-таблиц.
- Максимальное количество записей в одной сущности, по которым можно рассчитать контрольную сумму, ограничено и регулируется коэффициентом нормализации.
Ограничения точности
- Есть небольшая вероятность, что контрольные суммы совпадут для разных наборов данных.
- Значения типа
FLOATиDOUBLEмогут приводить к расхождениям в контрольных суммах из-за разницы в точности типов.
Другие ограничения
- Расчет контрольной суммы в открытой дельте доступен только для логических таблиц и снапшот-таблиц.
- Изменения, совершенные после последней закрытой дельты, учитываются в расчете только при запросе по открытой дельте. Если открытой дельты нет, контрольную сумму таких изменений рассчитать невозможно.
- При обработке запроса отключенные (Датасорс, отключенный системой из-за сбоя или администратором
) датасорсы (СУБД или кластер СУБД хранилища
) пропускаются без возврата ошибки. Ошибка возвращается, если не осталось включенных (Датасорс, работающий в штатном режиме
) датасорсов, подходящих для исполнения запроса.
CHECK_SUM_SNAPSHOT
Ограничения сущностей
- Контрольная сумма логической БД рассчитывается только по данным логических таблиц, снапшот- и прокси-таблиц. Данные логических и материализованных представлений не учитываются.
- Контрольные суммы снапшот- и прокси-таблиц рассчитываются по их текущим данным и не зависят от указанной дельты или момента времени.
- Расчет контрольной суммы недоступен для сущностей:
- логических представлений, основанных на standalone-таблицах;
- партиционированных таблиц.
- Количество записей в одной сущности, по которым можно рассчитать контрольную сумму, ограничено и регулируется коэффициентом нормализации.
Ограничения точности
- Есть небольшая вероятность, что контрольные суммы совпадут для разных наборов данных.
- Значения типа
FLOATиDOUBLEмогут приводить к расхождениям в контрольных суммах из-за разницы в точности типов.
Другие ограничения
- Расчет контрольной суммы в открытой дельте доступен только для логических таблиц.
- При обработке запроса отключенные (Датасорс, отключенный системой из-за сбоя или администратором
) датасорсы (СУБД или кластер СУБД хранилища
) пропускаются без возврата ошибки. Ошибка возвращается, если не осталось включенных (Датасорс, работающий в штатном режиме
) датасорсов, подходящих для исполнения запроса.
CHECK_TABLE
- Запрос не проверяет staging-таблицы, динамически создаваемые для снапшот-таблиц.
COMMIT DELTA
- Если в запросе указаны дата и время закрытия дельты, они должны быть больше даты и времени последней закрытой дельты в логической БД.
- Закрытие дельты без ключевого слова
IMMEDIATEдоступно, только если завершены операции записи в логические таблицы и все операции по изменению схемы (включая DDL-операции по снапшот-таблицам).
CREATE DATABASE
- Имя логической БД должно быть уникально в рамках окружения и соответствовать соглашения об именах.
- Логическая БД не может иметь имя
INFORMATION_SCHEMA. - Не рекомендуется включать в имя логической БД более одного символа подчеркивания (
_) подряд, если в хранилище есть СУБД ADG.
CREATE DOWNLOAD EXTERNAL TABLE
- Имена таблицы и ее столбцов должны соответствовать соглашениям об именах.
CREATE MATERIALIZED VIEW
Ограничения выполнения
- Выполнение запроса недоступно, если установлен запрет на изменение сущностей.
Ограничения имен
- Имена представления, столбцов и псевдонимов должны соответствовать соглашениям об именах.
- Имена столбцов должны быть уникальны в рамках представления.
Ограничения столбцов
- Порядок и типы данных столбцов, выбираемых из источника, должны совпадать с порядком и типами данных столбцов в представлении (исключение — признак
sys_opв инкрементальных подзапросах, который не учитывается при проверке). - Первичный ключ должен включать все столбцы ключа шардирования.
Ограничения SELECT-подзапроса
- Подзапрос не может содержать:
- системные столбцы
sys_op,sys_fromиsys_toв списке выбираемых столбцов без указания псевдонимов; - ключевое слово FOR SYSTEM_TIME (кроме инкрементальных подзапросов);
- системные представления
INFORMATION_SCHEMA, - ключевое слово
ORDER BY; - ключевое слово
LIMIT.
- системные столбцы
- Снапшот-таблицы поддерживаются только в инкрементальных подзапросах и подзапросах к внешней системе.
- Система не проверяет корректность подзапроса при создании представления.
Другие ограничения
- Представления должны размещаться в логических БД, в которых нет логических таблиц.
- Представления, построенные на соединении логических таблиц с прокси-таблицами или standalone-таблицами, могут содержать не все изменения прокси-таблиц и standalone-таблиц из-за того, что такие таблицы не поддерживают версионирование данных.
- При наличии представлений на основе инкрементального подзапроса к партиционированным таблицам необходимо загружать и обновлять данные в указанных таблицах, а не их партициях; изменения, внесенные напрямую партиции, не попадут в такие представления.
- Информационная схема обновляется асинхронно, поэтому созданное представление может не сразу появиться в информационной схеме.
CREATE PROXY TABLE
Ограничения выполнения
- Выполнение запроса недоступно, если установлен запрет на изменение сущностей.
Ограничения имен
- Имена таблицы и ее столбцов должны соответствовать соглашениям об именах.
- Имена столбцов должны быть уникальны в рамках прокси-таблицы.
Другие ограничения
- Первичный ключ, если он указан, должен включать все столбцы ключа шардирования.
- Информационная схема обновляется асинхронно, поэтому созданная таблица может не сразу появиться в информационной схеме.
- HTTP-запросы с одинаковым значением
queryIdи одинаковым списком датасорсов вDATASOURCE_TYPE/конфигурации создают прокси-таблицы в одном датасорсе, только если он включен при исполнении всех таких запросов.
CREATE READABLE EXTERNAL TABLE
- Имена таблицы и ее столбцов должны соответствовать соглашениям об именах.
- Имена и порядок столбцов должны совпадать во внешней таблице и связанной standalone-таблице.
- В readable-таблице, предназначенной для загрузки данных из Kafka в логическую или снапшот-таблицу, последним должен быть указан столбец
sys_opс типомBIGINT. Столбец используется в служебных целях; без него данные не загрузятся. - Информационная схема обновляется асинхронно, поэтому созданная таблица может не сразу появиться в информационной схеме.
CREATE SNAPSHOT TABLE
Ограничения выполнения
- Выполнение запроса недоступно, если установлен запрет на изменение сущностей.
Ограничения имен
- Имена таблицы и ее столбцов должны соответствовать соглашениям об именах.
- Имена столбцов должны быть уникальны в рамках таблицы.
Ограничения retention-правил
- Retention-правила доступны только для снапшот-таблиц с включенным отслеживанием удаления записей.
- Retention-правила снапшот-таблиц могут только удалять информацию об удаленных записях; охлаждение этой информации не поддерживается.
Ограничения опций
- Опция
set.on.conflict.doнедоступна для снапшот-таблиц без первичного ключа. - Опция
set.delete.tracking.enable=trueнесовместима с опциямиset.on.conflict.do=errorиset.on.conflict.do=nothing.
Другие ограничения
- Датасорсы снапшот-таблиц могут быть только типа ADP.
- Снапшот-таблицы без первичного ключа поддерживают только добавление записей, не поддерживая обновление и удаление.
- В снапшот-таблицах с опциями
set.on.conflict.do=errorиset.on.conflict.do=nothingневозможно обновление текущих записей (дляerrorвозвращается ошибка; дляnothingпропускаются записи с дубликатами первичного ключа). - Информационная схема обновляется асинхронно, поэтому созданная таблица может не сразу появиться в информационной схеме.
CREATE TABLE
Ограничения выполнения
- Выполнение запроса недоступно, если таблица участвует в незавершенной операции записи или установлен запрет на изменение сущностей.
Ограничения имен
- Имена таблицы и ее столбцов должны соответствовать соглашениям об именах.
- Имена столбцов должны быть уникальны в рамках таблицы.
Ограничения ключей
- Первичный ключ должен включать все столбцы ключа шардирования и все столбцы ключа партиционирования.
Ограничения retention-правил
- Retention-правила доступны только для датасорсов типа ADB и ADP.
- Датасорс-источник и датасорс-приемник в правиле должны быть одного типа.
- Retention-правила партиционированных таблиц не применяются к их партициям.
- Retention-правила снапшот-таблиц могут только удалять информацию об удаленных записях; охлаждение этой информации не поддерживается.
Ограничения партиционированных таблиц и партиций
- Датасорсы партиционированных таблиц и партиций могут быть только типа ADP.
- Вложенное партиционирование недоступно: партиция не может быть иметь свои партиции.
- Диапазоны партиционирования:
- Диапазоны партиции должны быть заданы от меньшего значения к большему без пересечения диапазонов между собой.
- Диапазоны партиций, относящихся к одной партиционированной таблице, должны включать все возможные значения ключа партиционирования без пересечения диапазонов между собой.
- Партиционированная таблица и все ее партиции должны находиться в одной логической БД и иметь одинаковую структуру.
- Retention-правила партиционированной таблицы не применяются к ее партициям.
Ограничения снапшот-таблиц
- Датасорсы снапшот-таблиц могут быть только типа ADP.
- Снапшот-таблицы без первичного ключа поддерживают только добавление записей, не поддерживая обновление и удаление.
- Retention-правила доступны только для снапшот-таблиц с включенным отслеживанием удаления записей.
- Retention-правила снапшот-таблиц могут только удалять информацию об удаленных записях; охлаждение этой информации не поддерживается.
- В снапшот-таблицах с опциями
set.on.conflict.do=errorиset.on.conflict.do=nothingневозможно обновление текущих записей (дляerrorвозвращается ошибка; дляnothingпропускаются записи с дубликатами первичного ключа).
Ограничения опций
- Опция
set.on.conflict.doнедоступна для снапшот-таблиц без первичного ключа. - Опция
set.delete.tracking.enable=trueнесовместима с опциямиset.on.conflict.do=errorиset.on.conflict.do=nothing.
Другие ограничения
- Информационная схема обновляется асинхронно, поэтому созданная таблица может не сразу появиться в информационной схеме.
- HTTP-запросы с одинаковым значением
queryIdи одинаковым списком датасорсов вDATASOURCE_TYPE/конфигурации создают прокси-таблицы в одном датасорсе, только если он включен при исполнении всех таких запросов.
CREATE UPLOAD EXTERNAL TABLE
- Имена таблицы и ее столбцов должны соответствовать соглашениям об именах.
CREATE VIEW
Ограничения выполнения
- Выполнение запроса недоступно, если установлен запрет на изменение сущностей.
Ограничения имен
- Имена представления, столбцов и псевдонимов должны соглашения об именах.
Ограничения SELECT-подзапроса
- SELECT-подзапрос не может содержать:
- обычные логические представления (не относящиеся к простым);
- системные представления
INFORMATION_SCHEMA, - ключевое слово FOR SYSTEM_TIME.
- Ключевое слово
DATASOURCE_TYPEв SELECT-подзапросе игнорируется.
Другие ограничения
- Информационная схема обновляется асинхронно, поэтому созданное представление может не сразу появиться в информационной схеме.
- Системные столбцы источника доступны через представление, если только они явно указаны в запросе на создание/изменение представления.
CREATE WRITABLE EXTERNAL TABLE
- Имена таблицы и ее столбцов должны соответствовать соглашениям об именах.
- Имена и порядок столбцов должны совпадать во внешней таблице и связанной standalone-таблице.
- Информационная схема обновляется асинхронно, поэтому созданная таблица может не сразу появиться в информационной схеме.
DELETE
Ограничения выполнения
- Выполнение запроса к логической или снапшот-таблице недоступно, если она участвует в незавершенной операции по изменению схемы.
- Выполнение запроса вне дельты недоступно, если последняя дельта закрыта с меткой времени, превышающей серверное время.
- Не допускается параллельное выполнение идентичных запросов.
Ограничения сущностей
- Запрос доступен для логических, снапшот-, прокси- и standalone-таблиц.
- Удаление записей standalone-таблиц и прокси-таблиц доступно только из СУБД ADB и ADP.
- Невозможно удаление записей из снапшот-таблиц с комбинациями опций:
set.delete.tracking.enable=true+set.on.conflict.do=error(возвращается ошибка);set.delete.tracking.enable=true+set.on.conflict.do=nothing(удаление пропускается без ошибки).
Ограничения ключевых слов
- В условии
WHEREне допускается использование функций, которые приводят к разным результатам в разных СУБД. Примеры таких функций — это операции над числами с плавающей запятой: сравнение с ними, округление и т.д. - Ключевое слово
RETRYдоступно только для логических таблиц; для других таблиц игнорируется или приводит к ошибке.
Ограничения партиционирования
- Условие в запросе на удаление данных из партиционированной таблицы должно быть вычисляемо в каждом из датасорсов, где расположены данные партиций, из которых удаляются записи.
- Одновременная запись данных (загрузка, вставка и удаление) в партиционированную таблицу и ее партиции недоступна.
Другие ограничения
- Запрос не удаляет данные с меткой времени, превышающей текущее время сервера.
- При обработке запроса отключенные (Датасорс, отключенный системой из-за сбоя или администратором
) датасорсы (СУБД или кластер СУБД хранилища
) пропускаются без возврата ошибки. Ошибка возвращается, если не осталось включенных (Датасорс, работающий в штатном режиме
) датасорсов, необходимых для записи данных.
DENY_CHANGES
- Выполнение запроса недоступно при наличии другого запрета изменений или незавершенного запроса на создание, удаление или изменение логической таблицы, постоянной прокси-таблицы или представления.
DISABLE_DATASOURCE
- Запрос доступен только для СУБД ADB и ADP.
DISABLE_STATISTICS_ROWS_COUNT
- Запрос доступен только для обычных логических таблиц, партиционированных таблиц, логических представлений и материализованных представлений.
DROP DATABASE
- Не рекомендуется удалять логическую БД, имя которой содержит более одного символа подчеркивания (
_) подряд, если в инсталляции есть СУБД ADG. - Недоступно удаление сервисной базы данных
INFORMATION_SCHEMA.
DROP MATERIALIZED VIEW
- Выполнение запроса недоступно, если установлен запрет на изменение сущностей.
DROP TABLE
- Выполнение запроса недоступно, если таблица участвует в незавершенной операции записи или установлен запрет на изменение сущностей.
- Удаление партиционированной таблицы из всех или последнего датасорса недоступно, если у нее есть партиции.
DROP_VIEW
- Выполнение запроса недоступно, если установлен запрет на изменение сущностей.
ENABLE_DATASOURCE
- Запрос доступен только для СУБД ADB и ADP.
ENABLE_STATISTICS_ROWS_COUNT
- Запрос доступен только для обычных логических таблиц, партиционированных таблиц, логических представлений и материализованных представлений.
ERASE DELTA
Ограничения выполнения
Выполнение запроса недоступно, если в логической БД:
- открыта дельта,
- выполняется операция записи,
- выполняется ROLLBACK DELTA,
- настроены retention-правила для остужения данных.
Ограничения на другие операции
- Во время работы запроса недоступны:
- выполнение BEGIN DELTA,
- выполнение
ROLLBACK DELTA, - загрузка и обновление данных.
- Параллельное выполнение
ERASE DELTAи ALTER TABLE ADD DATASOURCE может привести к неконсистентности данных.
Ограничения сущностей
- Запрос не удаляет операции в снапшот-таблицах.
- Запрос не обновляет материализованные представления, которые связаны с очищаемыми таблицами и находятся в других логических БД. Такие представления продолжают хранить данные, удаленные из таблиц.
Другие ограничения
- Если данные не были предварительно сохранены в виде бэкапа, после удаления их невозможно восстановить средствами системы.
- После выполнения запроса до следующей операции записи последней операцией записи в логической БД считается последняя среди операций в логических таблицах (операции в снапшот-таблицах не учитываются).
ERASE_WRITE_OPERATION
- Не гарантируется отмена всех изменений по операции, выполняющейся в СУБД на момент запуска запроса:
- если операция запущена запросом обновления данных или синхронизацией материализованных представлений;
- если операция запущена запросом загрузки данных и отменяется запросом
ERASE_WRITE_OPERATIONс флагомtrue.
- Запрос пропускает операции со статусом 1 (Подготовлена), не отменяя их, и всегда возвращает успешный ответ для них.
- При обработке запроса отключенные (Датасорс, отключенный системой из-за сбоя или администратором
) датасорсы (СУБД или кластер СУБД хранилища
) пропускаются без возврата ошибки. Ошибка возвращается, если не осталось включенных (Датасорс, работающий в штатном режиме
) датасорсов, подходящих для исполнения запроса.
GET_CHANGES
- Для логических баз данных, которые не изменялись после версии 5.2, возвращается пустой объект ResultSet.
GET_CN
- Запрос доступен для сущностей:
- логических таблиц;
- снапшот-таблиц;
- материализованных представлений;
- простых логических представлений, построенных на подзапросе к логической таблице или материализованному представлению;
- логических БД.
- Если в запросе есть именованные параметры, их имена должны соответствовать соглашениям об именах.
- После выполнения
ERASE DELTAдо следующей операции записи последней операцией записи в логической БД считается последняя среди операций в логических таблицах (операции в снапшот-таблицах не учитываются).
GET_ENTITY_STATISTICS
Общие ограничения
- При перезапуске ноды все значения статистики, кроме
ROWS_COUNT, обнуляются. - Статистика не собирается по внешним таблицам загрузки и выгрузки, а также системным представлениям.
Ограничения значений ROWS_COUNT
- По умолчанию
ROWS_COUNTрассчитывается для сущностей, размещенных в СУБД ADB, ADP и (или) ADQM и имеющих следующие типы: обычная логическая таблица, партиционированная таблица, простое логическое представление без условия, материализованное представление. - После обнуления статистики значения остаются равными
NULLдо следующего расчета статистики.
GET_TS
- Запрос доступен для сущностей:
- логических таблиц;
- снапшот-таблиц;
- материализованных представлений;
- простых логических представлений, построенных на подзапросе к логической таблице или материализованному представлению;
- логических БД.
- Если в запросе есть именованные параметры, их имена должны соответствовать соглашениям об именах.
GET_WRITE_OPERATIONS
- Запрос не возвращает информацию о завершенных операциях записи.
INSERT INTO download external table
- Имена и порядок следования столбцов должны совпадать в SELECT-подзапросе на выгрузку данных и во внешней таблице выгрузки.
- При обработке запроса отключенные (Датасорс, отключенный системой из-за сбоя или администратором
) датасорсы (СУБД или кластер СУБД хранилища
) пропускаются без возврата ошибки. Ошибка возвращается, если не осталось включенных (Датасорс, работающий в штатном режиме
) датасорсов, подходящих для исполнения запроса.
INSERT SELECT FROM external_table
Ограничения выполнения
- Выполнение запроса к логической или снапшот-таблице недоступно, если она участвует в незавершенной операции по изменению схемы.
- Выполнение запроса вне дельты недоступно, если последняя дельта закрыта с меткой времени, превышающей серверное время.
Ограничения сущностей
- Запрос недоступен для логических и материализованных представлений.
- Невозможно обновление текущих записей в таблицах:
- в снапшот-таблицах с опциями
set.on.conflict.do=error(возвращается ошибка) иset.on.conflict.do=nothing(пропускаются записи с дубликатами первичного ключа); - в прокси- и standalone-таблицах, размещенных в ADB, ADQM или ADG (возвращается ошибка или добавляются записи с дубликатами первичного ключа — в зависимости от СУБД).
- в снапшот-таблицах с опциями
- Невозможно удаление записей из снапшот-таблиц с комбинациями опций:
set.delete.tracking.enable=true+set.on.conflict.do=error(возвращается ошибка);set.delete.tracking.enable=true+set.on.conflict.do=nothing(удаление пропускается без ошибки).
Ограничения ключевых слов
- Частичная загрузка данных с указанием
WHERE,LIMITиOFFSETдоступна только при загрузке с помощью внешних readable-таблиц. - Ключевое слово
RETRYдоступно только для логических таблиц; для других таблиц игнорируется или приводит к ошибке.
Ограничения партиционирования
- При загрузке данных в партиционированную таблицу все записи, для которых нет подходящей партиции, игнорируются.
- Одновременная запись данных (загрузка, вставка и удаление) в партиционированную таблицу и ее партиции недоступна.
Ограничения смещений (офсетов) Kafka
- При сбое и откате операций записи смещение не откатывается — оно остается на значении, прочитанном к моменту сбоя.
- Для равенства данных, загружаемых в разнотипные датасорсы, необходимо загружать данные из общего топика и контролировать, что начальные смещения в топике одинаковы для всех участвующих консьюмер-групп. Это актуально для любых коннекторов, кроме Kafka Jet writer, который обычно имеет общую группу для всех датасорсов.
Другие ограничения
- Пропуск в запросе обязательных столбцов (
NOT NULL) таблицы не поддерживается: возвращается ошибка. - В загружаемых записях с
sys_op = 1, предназначенных для снапшот-таблицы, должны быть заданы значения всех обязательных (NOT NULL) столбцов таблицы. - Недоступна одновременная загрузка данных из одного топика в разные таблицы ADG.
- Загрузка данных с помощью readable-таблиц доступна только в ADP и только при наличии установленного коннектора Kafka Jet writer.
- При обработке запроса отключенные (Датасорс, отключенный системой из-за сбоя или администратором
) датасорсы (СУБД или кластер СУБД хранилища
) пропускаются без возврата ошибки. Ошибка возвращается, если не осталось включенных (Датасорс, работающий в штатном режиме
) датасорсов, необходимых для записи данных.
- При обработке запроса отключенные (Датасорс, отключенный системой из-за сбоя или администратором
INSERT SELECT
Ограничения выполнения
- Выполнение запроса к логической или снапшот-таблице недоступно, если она участвует в незавершенной операции по изменению схемы.
- Выполнение запроса вне дельты недоступно, если последняя дельта закрыта с меткой времени, превышающей серверное время.
- Не допускается параллельное выполнение идентичных запросов.
Ограничения сущностей
- Запрос недоступен для логических и материализованных представлений.
- Обновление текущих записей невозможно в таблицах:
- в снапшот-таблицах с опциями
set.on.conflict.do=error(возвращается ошибка) иset.on.conflict.do=nothing(пропускаются записи с дубликатами первичного ключа); - в прокси- и standalone-таблицах (возвращается ошибка или добавляются записи с дубликатами первичного ключа — в зависимости от СУБД).
- в снапшот-таблицах с опциями
- Если данные вставляются из прокси-таблицы или standalone-таблицы в логическую или снапшот-таблицу, данные таблицы-источника должны оставаться неизменными во время работы запроса.
Ограничения партиционирования
- При вставке данных в партиционированную таблицу все записи, для которых нет подходящей партиции, игнорируются.
- Одновременная запись данных (загрузка, вставка и удаление) в партиционированную таблицу и ее партиции недоступна.
Другие ограничения
- Типы вставляемых значений должны соответствовать типам данных столбцов в таблице-приемнике.
- Значения всех обязательных столбцов (
NOT NULL) таблицы должны присутствовать в результатах SELECT-подзапроса. - Ключевое слово
RETRYдоступно только для логических таблиц; для других таблиц игнорируется или приводит к ошибке. - При обработке запроса отключенные (Датасорс, отключенный системой из-за сбоя или администратором
) датасорсы (СУБД или кластер СУБД хранилища
) пропускаются без возврата ошибки. Ошибка возвращается, если не осталось включенных (Датасорс, работающий в штатном режиме
) датасорсов, необходимых для записи данных.
INSERT VALUES
Ограничения выполнения
- Выполнение запроса к логической или снапшот-таблице недоступно, если она участвует в незавершенной операции по изменению схемы.
- Выполнение запроса вне дельты недоступно, если последняя дельта закрыта с меткой времени, превышающей серверное время.
- Не допускается параллельное выполнение идентичных запросов.
Ограничения сущностей
- Запрос недоступен для логических и материализованных представлений.
- Обновление текущих записей невозможно в таблицах:
- в снапшот-таблицах с опциями
set.on.conflict.do=error(возвращается ошибка) иset.on.conflict.do=nothing(пропускаются записи с дубликатами первичного ключа); - в прокси- и standalone-таблицах (возвращается ошибка или добавляются записи с дубликатами первичного ключа — в зависимости от СУБД).
- в снапшот-таблицах с опциями
Ограничения партиционирования
- При вставке данных в партиционированную таблицу все записи, для которых нет подходящей партиции, игнорируются.
- Одновременная запись данных (загрузка, вставка и удаление) в партиционированную таблицу и ее партиции недоступна.
Другие ограничения
- Значения всех обязательных столбцов (
NOT NULL) таблицы должны быть указаны в запросе. - Ключевое слово
RETRYдоступно только для логических таблиц; для других таблиц игнорируется или приводит к ошибке. - При обработке запроса отключенные (Датасорс, отключенный системой из-за сбоя или администратором
) датасорсы (СУБД или кластер СУБД хранилища
) пропускаются без возврата ошибки. Ошибка возвращается, если не осталось включенных (Датасорс, работающий в штатном режиме
) датасорсов, необходимых для записи данных.
RECOVER_DATASOURCE
- Запрос доступен только для СУБД ADB и ADP.
- Восстановление не начинается при наличии незавершенных операций, начатых до отключения восстанавливаемых логических БД в датасорсах, — возвращается ответ с информацией об этом.
- Восстановление не завершается при наличии операций записи в открытой дельте или незавершенных операций записи в восстанавливаемых логических БД, — система ждет завершения/отмены операций или закрытия/отката дельт.
- Партиционированные и прокси-таблицы не восстанавливаются.
- Холодные данные не восстанавливаются.
RESET_STATISTICS
- Недоступно обнуление статистики по внешним таблицам загрузки и выгрузки, так как по таким таблицам статистика не собирается.
RESUME_WRITE_OPERATION
- Запрос не перезапускает операции со статусом 0, созданные:
- обновлением данных в любых сущностях;
- загрузкой данных в снапшот-таблицы;
- синхронизацией материализованных представлений.
- Операция загрузки данных в статусе 0 отменяется, а не перезапускается, если отсутствует внешняя таблица, использовавшаяся в этой операции.
- При обработке запроса отключенные (Датасорс, отключенный системой из-за сбоя или администратором
) датасорсы (СУБД или кластер СУБД хранилища
) пропускаются без возврата ошибки. Ошибка возвращается, если не осталось включенных (Датасорс, работающий в штатном режиме
) датасорсов, подходящих для исполнения запроса.
ROLLBACK CRASHED_WRITE_OPERATIONS
- При обработке запроса отключенные (Датасорс, отключенный системой из-за сбоя или администратором
) датасорсы (СУБД или кластер СУБД хранилища
) пропускаются без возврата ошибки. Ошибка возвращается, если не осталось включенных (Датасорс, работающий в штатном режиме
) датасорсов, подходящих для исполнения запроса.
ROLLBACK DELTA
- Выполнение запроса недоступно, если выполняется ERASE DELTA.
- Во время работы запроса недоступны:
- выполнение
ERASE DELTA, - загрузка и обновление данных.
- выполнение
- После запуска запроса дельту невозможно закрыть.
- Запрос не отменяет операции записи, выполненные до дельты, а также операции в снапшот-таблицах.
- Если данные были загружены из Kafka и затем отменены запросом
ROLLBACK DELTA, пока некоторые датасорсы были отключены, перед следующей загрузкой из того же топика выровняйте прочитанные смещения для всех консьюмер-групп, например командой TOPIC_RESET. - При обработке запроса отключенные (Датасорс, отключенный системой из-за сбоя или администратором
) датасорсы (СУБД или кластер СУБД хранилища
) пропускаются без возврата ошибки. Ошибка возвращается, если не осталось включенных (Датасорс, работающий в штатном режиме
) датасорсов, подходящих для исполнения запроса.
SELECT
Ограничения сущностей
- В запросе можно обращаться либо к логической БД, либо к сервисной БД (см. SELECT FROM INFORMATION_SCHEMA), но не к обеим одновременно.
- Не поддерживаются запросы к материализованным представлениям с ключевыми словами
FOR SYSTEM_TIME+DATASOURCE_TYPE, если в представлении отсутствуют данные за момент времени, указанный с помощьюFOR SYSTEM_TIME. - Не поддерживаются запросы к внешним readable-таблицам, связанным с топиками Kafka.
Ограничения FOR SYSTEM_TIME
- Не поддерживается:
- в SELECT-запросах и подзапросах к обобщенным табличным выражениям;
- в SELECT-запросах в составе CREATE VIEW, ALTER VIEW и CREATE MATERIALIZED VIEW (кроме инкрементальных подзапросов материализованных представлений).
- Снапшот-таблицы:
FOR SYSTEM_TIME AS OF ...игнорируется;- правая граница в
FOR SYSTEM_TIME STARTED/FINISHED IN/CN/TSигнорируется (всегда равна текущему моменту);
- Прокси- и standalone-таблицы:
FOR SYSTEM_TIME STARTED/FINISHED IN/CN/TSвсегда выбирают 0 записей;FOR SYSTEM_TIME AS OF ...иFOR SYSTEM_TIME RAWигнорируются.
- Обычные логические представления:
- не поддерживают
FOR SYSTEM_TIME AS OF LATEST_UNCOMMITTED_DELTA/CNиFOR SYSTEM_TIME STARTED/FINISHED CN; - не поддерживают
STARTED/FINISHED IN/TS, если их подзапрос содержитORDER BYили обращается к снапшот-таблицам или данным ADQM.
- не поддерживают
Ограничения других ключевых слов
ESTIMATE_ONLYвозвращает план выполнения запроса только для СУБД ADB и ADP.OFFSETне поддерживается без ограничения количества строк.ORDER BYне поддерживается в CREATE MATERIALIZED VIEW.WITH:- Поддерживается только для СУБД ADB и ADP.
- Не поддерживает рекурсивные и материализованные табличные выражения.
- Не поддерживает
DATASOURCE_TYPEи операторы, изменяющие данные (INSERT,UPSERTиDELETE).
Ограничения соединений
- Не поддерживается соединение сущностей, данные которых размещены в разных датасорсах без какого-либо общего датасорса.
- Если ключами соединения в запросе выступают поля типа Nullable, то строки, где хотя бы один из ключей имеет значение
NULL, не соединяются.
Ограничения партиционирования
- JOIN-соединение партиционированных таблиц между собой и с другими данными возможно только в пределах единого датасорса.
Другие ограничения
- Запрос без
FOR SYSTEM_TIMEигнорирует данные с метками времени, превышающими текущее время сервера. - Псевдонимы (алиасы) сущностей и столбцов должны удовлетворять соглашениям об именах.
- При обработке запроса отключенные (Датасорс, отключенный системой из-за сбоя или администратором
) датасорсы (СУБД или кластер СУБД хранилища
) пропускаются без возврата ошибки. Ошибка возвращается, если не осталось включенных (Датасорс, работающий в штатном режиме
) датасорсов, подходящих для исполнения запроса.
SELECT FROM INFORMATION_SCHEMA
- Не допускается комбинирование подзапросов к
INFORMATION_SCHEMAс подзапросами к логическим базам данных. - Параметризованные запросы к информационной схеме не поддерживаются.
- Строковые значения столбцов в условии
WHEREдолжны быть указаны в верхнем регистре или с использованием ключевого словаUPPER.
SET_MODE_READONLY
- Выключение режима недоступно, пока предыдущий запрос включает режим с отменой операций записи.
- Запрос, отменяющий операции записи:
- не гарантирует консистентность данных при отмене операций загрузки данных из Kafka в ADB;
- завершается неуспешно, если операции записи не удалось отменить в течение
DELTA_ROLLBACK_OPERATIONS_TIMEOUT_MS. В этом случае дождитесь завершения отмены операций и повторите команду.
TRUNCATE ACTUAL
Ограничения выполнения
- Во время работы запроса не допускается выполнение BEGIN DELTA.
Ограничения сущностей
- Удаление записей недоступно, если таблица (в случае партиционированной таблицы — хотя бы одна ее партиция) имеет retention-правила для остужения данных.
- Запрос не обновляет материализованные представления, связанные с очищаемыми таблицами. Такие представления продолжают хранить данные, удаленные из таблиц.
Ограничения WHERE
- Условие
WHEREможет содержать только простой фильтр и не поддерживает подзапросы, соединения и другие операции. - Столбцы, указанные в условии
WHERE, должны входить в первичный ключ сущности.
Другие ограничения
- Удаление данных невозможно отменить.
TRUNCATE HISTORY
- Условие
WHEREможет содержать только простой фильтр и не поддерживает подзапросы, соединения и другие операции. - Удаление данных невозможно отменить.
TRUNCATE TSLOG
- Записи удаляются без возможности отмены удаления или восстановления.
- Удаление записей не фиксируется в журнале DDL-операций.
- После удаления записей чтение с указанием удаленных меток операций становится недоступным.
UPDATE
Ограничения выполнения
- Выполнение запроса к логической или снапшот-таблице недоступно, если она участвует в незавершенной операции по изменению схемы.
- Выполнение запроса вне дельты недоступно, если последняя дельта закрыта с меткой времени, превышающей серверное время.
- Не допускается параллельное выполнение идентичных запросов.
Ограничения СУБД
- Запрос доступен для логических таблиц, размещенных в любых поддерживаемых СУБД, для снапшот-таблиц (доступны только в ADP) и прокси-таблиц и standalone-таблиц, размещенных в ADB или ADP.
Ограничения сущностей
- Запрос недоступен для логических и материализованных представлений.
- Запрос недоступен для снапшот-таблиц с опциями
set.on.conflict.do=error(возвращается ошибка) иset.on.conflict.do=nothing(изменения пропускаются без ошибки). - Недоступно обновление значений столбцов логической таблицы, входящих в первичный ключ.
Ограничения партиционирования
- Одновременная запись данных (загрузка, вставка и удаление) в партиционированную таблицу и ее партиции недоступна.
Другие ограничения
- Все сущности, указанные в запросе на обновление столбцов прокси- или standalone-таблицы, должны размещаться в том же датасорсе, что и целевая таблица.
- Ключевое слово
SET, указанное в запросе на обновление столбцов логической таблицы, не может содержать SELECT-подзапрос. - Ключевое слово
RETRYдоступно только для логических таблиц; для других таблиц игнорируется или приводит к ошибке. - При обработке запроса отключенные (Датасорс, отключенный системой из-за сбоя или администратором
) датасорсы (СУБД или кластер СУБД хранилища
) пропускаются без возврата ошибки. Ошибка возвращается, если не осталось включенных (Датасорс, работающий в штатном режиме
) датасорсов, необходимых для записи данных.
UPSERT VALUES
Ограничения выполнения
- Выполнение запроса к логической или снапшот-таблице недоступно, если она участвует в незавершенной операции по изменению схемы.
- Выполнение запроса вне дельты недоступно, если последняя дельта закрыта с меткой времени, превышающей серверное время.
- Не допускается параллельное выполнение идентичных запросов.
Ограничения СУБД
- Запрос не поддерживает вставку данных в СУБД ADQM и ADG.
Ограничения сущностей
- Запрос недоступен для логических и материализованных представлений.
- Обновление текущих записей невозможно в снапшот-таблицах с опциями
set.on.conflict.do=error(возвращается ошибка) иset.on.conflict.do=nothing(пропускаются записи с дубликатами первичного ключа).
Ограничения партиционирования
- При вставке данных в партиционированную таблицу все записи, для которых нет подходящей партиции, игнорируются.
- Одновременная запись данных (загрузка, вставка и удаление) в партиционированную таблицу и ее партиции недоступна.
Другие ограничения
- Значения всех обязательных столбцов (
NOT NULL) снапшот-таблицы должны быть указаны в запросе. - Ключевое слово
RETRYдоступно только для логических таблиц; для других таблиц игнорируется или приводит к ошибке. - При обработке запроса отключенные (Датасорс, отключенный системой из-за сбоя или администратором
) датасорсы (СУБД или кластер СУБД хранилища
) пропускаются без возврата ошибки. Ошибка возвращается, если не осталось включенных (Датасорс, работающий в штатном режиме
) датасорсов, необходимых для записи данных.