Ограничения системы
Содержание раздела
- ALTER TABLE ADD COLUMN
- ALTER TABLE DROP COLUMN
- ALTER TABLE RENAME
- ALTER TABLE RENAME COLUMN
- ALTER VIEW
- BEGIN DELTA
- CHECK_DATA
- CHECK_SUM
- CHECK_SUM_SNAPSHOT
- COMMIT DELTA
- CREATE DATABASE
- CREATE DOWNLOAD EXTERNAL TABLE
- CREATE MATERIALIZED VIEW
- CREATE READABLE EXTERNAL TABLE
- CREATE TABLE
- CREATE UPLOAD EXTERNAL TABLE
- CREATE VIEW
- CREATE WRITABLE EXTERNAL TABLE
- DELETE
- DENY_CHANGES
- DROP DATABASE
- DROP MATERIALIZED VIEW
- DROP TABLE
- DROP_VIEW
- ERASE DELTA
- ERASE_WRITE_OPERATION
- GET_CHANGES
- GET_ENTITY_DDL
- GET_ENTITY_STATISTICS
- GET_WRITE_OPERATIONS
- INSERT INTO download external table
- INSERT SELECT FROM upload_external_table
- INSERT SELECT
- INSERT VALUES
- RESET_STATISTICS
- RESUME_WRITE_OPERATION
- ROLLBACK DELTA
- SELECT
- SELECT FROM INFORMATION_SCHEMA
- TRUNCATE ACTUAL
- TRUNCATE_HISTORY
- UPSERT VALUES
ALTER TABLE ADD COLUMN
Ограничения выполнения
- Запрос доступен для СУБД ADB, ADP и ADQM.
- Выполнение запроса недоступно, если есть незавершенная операция записи или установлен запрет на изменение сущностей.
Ограничения имен
- Имя столбца должно быть уникально в рамках логической таблицы и соответствовать требованиям, описанным в разделе Соглашения об именах.
Другие ограничения
- Можно добавить только nullable-столбец.
- После изменения таблицы запросы к связанным логическим и материализованным представлениям могут стать недоступными. В этом случае нужно пересоздать сбойные представления.
- Информационная схема обновляется асинхронно, поэтому добавленный столбец может не сразу появиться в информационной схеме.
ALTER TABLE DROP COLUMN
Ограничения выполнения
- Запрос доступен для СУБД ADB, ADP и ADQM.
- Выполнение запроса недоступно, если есть незавершенная операция записи или установлен запрет на изменение сущностей.
Другие ограничения
- Недоступно удаление столбца, входящего в первичный ключ или ключ шардирования.
- После изменения таблицы запросы к связанным логическим и материализованным представлениям могут стать недоступными. В этом случае нужно пересоздать сбойные представления.
- Информационная схема обновляется асинхронно, поэтому добавленный столбец может не сразу появиться в информационной схеме.
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-подзапросе, игнорируется.
BEGIN DELTA
- Выполнение запроса невозможно при наличии незавершенного запроса на создание, удаление или изменение таблицы или представления.
- Если в запросе указан номер открываемой дельты, он должен быть равен номеру последней закрытой дельты + 1.
CHECK_DATA
Ограничения сущностей
- Проверка логических и материализованных представлений недоступна.
- Максимальное количество проверяемых записей в одной сущности ограничено и регулируется коэффициентом нормализации.
Ограничения точности
- Есть небольшая вероятность, что контрольные суммы совпадут для разных наборов данных, поэтому возможен ложноположительный результат проверки.
- Значения типа FLOAT и DOUBLE могут приводить к расхождениям при проверке из-за разницы в точности типов.
Другие ограничения
- Запросом невозможно проверить данные операций записи, выполненных после последней закрытой дельты.
CHECK_SUM
Ограничения сущностей
- Контрольная сумма по всей логической базе данных рассчитывается только по данным логических таблиц. Данные логических и материализованных представлений не учитываются.
- Расчет контрольной суммы недоступен:
- для логических представлений, основанных на данных СУБД ADQM,
- для логических представлений, основанных на standalone-таблицах.
- Максимальное количество записей в одной сущности, по которым можно рассчитать контрольную сумму, ограничено и регулируется коэффициентом нормализации.
Ограничения точности
- Есть небольшая вероятность, что контрольные суммы совпадут для разных наборов данных.
- Значения типа FLOAT и DOUBLE могут приводить к расхождениям в контрольных суммах из-за разницы в точности типов.
Другие ограничения
- Расчет контрольной суммы в горячей дельте доступен только для логических таблиц.
- Изменения, совершенные после последней закрытой дельты, учитываются в расчете только при запросе по горячей дельте. Если горячей дельты нет, контрольную сумму таких изменений рассчитать невозможно.
CHECK_SUM_SNAPSHOT
Ограничения сущностей
- Контрольная сумма логической базы данных рассчитывается только по данным логических таблиц и не учитывает данные логических и материализованных представлений.
- Расчет контрольной суммы недоступен для логических представлений, основанных на standalone-таблицах.
- Количество записей в одной сущности, по которым можно рассчитать контрольную сумму, ограничено и регулируется коэффициентом нормализации.
Ограничения точности
- Есть небольшая вероятность, что контрольные суммы совпадут для разных наборов данных.
- Значения типа FLOAT и DOUBLE могут приводить к расхождениям в контрольных суммах из-за разницы в точности типов.
Другие ограничения
- Расчет контрольной суммы в горячей дельте доступен только для логических таблиц.
- Запрос не учитывает данные, добавленные после дельты, по состоянию на которую рассчитывается контрольная сумма.
COMMIT DELTA
- Если в запросе указаны дата и время закрытия дельты, они должны быть больше, чем дата и время последней закрытой дельты в логической базе данных.
- Минимально допустимая разница во времени между закрытием дельт — 1 секунда.
- Дельту невозможно закрыть, пока в ней есть незавершенные операции записи.
CREATE DATABASE
- Имя логической БД должно быть уникально в рамках окружения и соответствовать требованиям,
описанным в разделе Соглашения об именах. - Логическая БД не может иметь имя
INFORMATION_SCHEMA
. - Не рекомендуется включать в имя логической БД более одного символа подчеркивания (
_
) подряд, если в хранилище есть СУБД ADG.
CREATE DOWNLOAD EXTERNAL TABLE
- Имена таблицы и ее столбцов должны соответствовать требованиям, описанным в разделе Соглашения об именах.
CREATE MATERIALIZED VIEW
Ограничения выполнения
- Выполнение запроса недоступно, если есть незавершенная операция записи или установлен запрет на изменение сущностей.
Ограничения СУБД
- Данные материализованных представлений могут размещаться в СУБД ADP, ADQM и ADG.
- Источником данных для материализованного представления может быть СУБД ADB.
Ограничения имен
- Имена представления, столбцов и псевдонимов должны соответствовать требованиям, описанным в разделе Соглашения об именах.
- Имена столбцов должны быть уникальны в рамках представления.
Ограничения столбцов
- Порядок столбцов и их типы данных должны совпадать в SELECT-подзапросе и представлении.
- Первичный ключ должен включать все столбцы ключа шардирования.
Ограничения SELECT-подзапроса
- Подзапрос не может содержать:
- логические и материализованные представления,
- системные представления
INFORMATION_SCHEMA
, - ключевое слово FOR SYSTEM_TIME,
- ключевое слово
ORDER BY
, - ключевое слово
LIMIT
.
- Если в подзапросе указана одна логическая таблица и нет группировки и агрегации данных, указанная таблица и материализованное представление должны находиться в одной логической БД.
- Система не проверяет корректность подзапроса при создании представления.
Другие ограничения
- Представления, построенные на соединении логических таблиц и standalone-таблиц, могут содержать не все изменения standalone-таблиц из-за того, что такие таблицы не поддерживают версионирование данных.
- Информационная схема обновляется асинхронно, поэтому созданное представление может не сразу появиться в информационной схеме.
CREATE READABLE EXTERNAL TABLE
- Имена таблицы и ее столбцов должны соответствовать требованиям, описанным в разделе Соглашения об именах.
- Имена и порядок столбцов должны совпадать во внешней таблице и связанной standalone-таблице.
- Информационная схема обновляется асинхронно, поэтому созданная таблица может не сразу появиться в информационной схеме.
CREATE TABLE
Ограничения выполнения
- Выполнение запроса недоступно, если есть незавершенная операция записи или установлен запрет на изменение сущностей.
Ограничения имен
- Имена таблицы и ее столбцов должны соответствовать требованиям, описанным в разделе Соглашения об именах.
- Имена столбцов должны быть уникальны в рамках логической таблицы.
Ограничения столбцов
- Первичный ключ должен включать все столбцы ключа шардирования.
Другие ограничения
- Информационная схема обновляется асинхронно, поэтому созданная таблица может не сразу появиться в информационной схеме.
CREATE UPLOAD EXTERNAL TABLE
- Имена таблицы и ее столбцов должны соответствовать требованиям, описанным в разделе Соглашения об именах.
CREATE VIEW
Ограничения выполнения
- Выполнение запроса недоступно, если есть незавершенная операция записи или установлен запрет на изменение сущностей.
Ограничения имен
- Имена представления, столбцов и псевдонимов должны соответствовать требованиям, описанным в разделе Соглашения об именах.
Ограничения SELECT-подзапроса
- SELECT-подзапрос не может содержать:
- логические и материализованные представления,
- системные представления
INFORMATION_SCHEMA
, - ключевое слово FOR SYSTEM_TIME.
- Ключевое слово
DATASOURCE_TYPE
, указанное в подзапросеquery
, игнорируется.
Другие ограничения
- Информационная схема обновляется асинхронно, поэтому созданное представление может не сразу появиться в информационной схеме.
CREATE WRITABLE EXTERNAL TABLE
- Имена таблицы и ее столбцов должны соответствовать требованиям, описанным в разделе Соглашения об именах.
- Имена и порядок столбцов должны совпадать во внешней таблице и связанной standalone-таблице.
- Информационная схема обновляется асинхронно, поэтому созданная таблица может не сразу появиться в информационной схеме.
DELETE
Ограничения выполнения
- Выполнение запроса недоступно, если есть незавершенная операция по изменению схемы.
- Не допускается параллельное выполнение идентичных запросов.
Ограничения сущностей
- Запрос доступен только для логических таблиц и standalone-таблиц.
- Удаление записей из standalone-таблиц доступно для СУБД ADB и ADP.
Ограничения ключевых слов
- В условии
WHERE
не допускается использование функций, которые приводят к разным результатам в разных СУБД. Примеры таких функций — это операции над числами с плавающей запятой: сравнение с ними, округление и т.д. - Ключевое слово
RETRY
недоступно в запросах к standalone-таблицам.
Другие ограничения
- Запрос не удаляет данные без метки времени, а также данные с меткой времени, превышающей текущее время сервера.
- SELECT-подзапрос, если он указан в условии, должен быть доступен для исполнения во всех датасорсах, где размещены удаляемые данные таблицы.
DENY_CHANGES
- Выполнение запроса недоступно при наличии другого запрета изменений или незавершенного запроса на создание, удаление или изменение таблицы или представления.
DROP DATABASE
- Не рекомендуется удалять логическую БД, имя которой содержит более одного символа подчеркивания (
_
) подряд, если в инсталляции есть СУБД ADG. - Недоступно удаление сервисной базы данных
INFORMATION_SCHEMA
.
DROP MATERIALIZED VIEW
- Выполнение запроса недоступно, если есть незавершенная операция записи или установлен запрет на изменение сущностей.
DROP TABLE
- Выполнение запроса недоступно, если есть незавершенная операция записи или установлен запрет на изменение сущностей.
DROP_VIEW
- Выполнение запроса недоступно, если есть незавершенная операция записи или установлен запрет на изменение сущностей.
ERASE DELTA
Ограничения выполнения
- Выполнение запроса недоступно, если есть открытая дельта или незавершенная операция по изменению схемы.
- Выполнение запроса недоступно, если в логической базе данных есть несинхронизированные материализованные представления.
Ограничения на другие операции
- Во время работы запроса недоступно выполнение запросов BEGIN DELTA, изменение логической схемы данных, а также загрузка и обновление данных.
Другие ограничения
- Перед дельтой, указанной в запросе, не должно быть операций записи, выполненных между этой и предыдущей дельтой.
- Запрос не обновляет материализованные представления, которые связаны с очищаемыми таблицами и находятся в других логических базах данных. Такие представления продолжают хранить данные, удаленные из таблиц.
- Удаленные данные невозможно восстановить средствами системы.
ERASE_WRITE_OPERATION
- Запрос не гарантирует отмену всех изменений, внесенных операцией обновления данных.
GET_CHANGES
- Для логических баз данных, созданных и измененных до версии 5.3, возвращается пустой объект ResultSet.
GET_ENTITY_DDL
- Запрос не возвращает информацию о внешних таблицах.
GET_ENTITY_STATISTICS
Общие ограничения
- Статистика сохраняется до рестарта системы, при рестарте все значения, кроме
ROWS_COUNT
иROWS_COUNT_DELTA
, обнуляются. - При удалении логической сущности или логической БД ее статистика не обнуляется.
- Статистика не ведется по внешним таблицам загрузки и выгрузки, а также системным представлениям.
Ограничения значений ROWS_COUNT и ROWS_COUNT_DELTA
- Расчет значений недоступен для сущностей, размещенных в датасорсах с СУБД ADG, а также для readable- и writable-таблиц.
- Значения обновляются только при закрытии дельты с номером
ROWS_COUNT_DELTA + 1
. Если номер последней закрытой дельты стал меньшеROWS_COUNT_DELTA
(например, после выполненияERASE DELTA
), значения перестают обновляться до момента закрытия дельты с номеромROWS_COUNT_DELTA + 1
. - После обнуления статистики значения остаются равными
null
до момента закрытия ближайшей дельты. - Значения для материализованного представления рассчитывается по исходному запросу представления, а не его текущему состоянию. Поэтому значения могут отличаться от фактических, если представление не успело синхронизироваться с источником.
GET_WRITE_OPERATIONS
- Запрос не возвращает информацию о завершенных операциях записи.
INSERT INTO download external table
- Имена и порядок следования столбцов должны совпадать в SELECT-подзапросе на выгрузку данных и во внешней таблице выгрузки.
INSERT SELECT FROM upload_external_table
- Выполнение запроса недоступно, если есть незавершенная операция по изменению схемы.
- Недоступна загрузка данных в логические и материализованные представления.
- Недоступна одновременная загрузка данных из одного топика Kafka в разные таблицы ADG.
INSERT SELECT
Ограничения выполнения
- Выполнение запроса недоступно, если есть незавершенная операция по изменению схемы.
- Не допускается параллельное выполнение идентичных запросов.
Ограничения сущностей
- Вставка данных в логические и материализованные представления недоступна.
- Если данные вставляются из standalone-таблицы в логическую таблицу, данные standalone-таблицы должны оставаться неизменными во время работы запроса.
Другие ограничения
- Недоступна вставка данных в датасорс с тем же типом СУБД, который указан в SELECT-подзапросе (например, вставка из
ADB
вADB2
). - Типы вставляемых значений должны соответствовать типам данных столбцов в целевой таблице.
- Ключевое слово
RETRY
недоступно в запросах к standalone-таблицам.
INSERT VALUES
- Выполнение запроса недоступно, если есть незавершенная операция по изменению схемы.
- Не допускается параллельное выполнение идентичных запросов.
- Вставка данных в логические и материализованные представления недоступна.
- Ключевое слово
RETRY
недоступно в запросах к standalone-таблицам.
RESET_STATISTICS
- Недоступно обнуление статистики по внешним таблицам загрузки и выгрузки, так как по таким таблицам статистика не ведется.
RESUME_WRITE_OPERATION
- Запрос не возобновляет обработку операций со статусом «Выполняется», запущенных запросами обновления данных.
ROLLBACK DELTA
- Выполнение запроса недоступно, если есть незавершенные операции записи или другой незавершенный запрос
ROLLBACK DELTA
. - После запуска запроса дельту невозможно закрыть, даже если запрос вернул ошибку.
- Запрос не отменяет незавершенные операции записи, запущенные запросами обновления данных, и операции записи, выполненные до дельты.
SELECT
Ограничения сущностей
- В запросе можно обращаться либо к логической БД, либо к сервисной БД (см. SELECT FROM INFORMATION_SCHEMA), но не к обеим одновременно.
- Не поддерживаются запросы к материализованным представлениям, содержащие ключевые слова
FOR SYSTEM_TIME
+DATASOURCE_TYPE
, если в представлении отсутствуют данные за момент времени, указанный с помощьюFOR SYSTEM_TIME
.
Ограничения ключевых слов
- Ключевое слово
LISTAGG
недоступно в запросах к датасорсам с СУБД ADQM и ADG. - Ключевое слово
ESTIMATE_ONLY
не возвращает план выполнения запроса для датасорсов с СУБД ADQM и ADG. - Ключевое слово
OFFSET
без ограничения количества строк не поддерживается. FOR SYSTEM_TIME
:- Запросы к standalone-таблицам с выражениями
FOR SYSTEM_TIME STARTED IN
иFOR SYSTEM_TIME FINISHED IN
всегда возвращают пустой результат; другие значенияFOR SYSTEM_TIME
в таких запросах игнорируются. - Выражение
FOR SYSTEM_TIME AS OF LATEST_UNCOMMITTED_DELTA
недоступно в запросах к логическим и материализованным представлениям. - Выражения
FOR SYSTEM_TIME STARTED IN
иFOR SYSTEM_TIME FINISHED IN
недоступны в запросе к логическому представлению, если запрос предназначен для СУБД ADQM или в представлении используется ключевое словоORDER BY
.
- Запросы к standalone-таблицам с выражениями
- Ключевое слово
ORDER BY
недоступно в SELECT-подзапросе в составе CREATE MATERIALIZED VIEW.
Ограничения соединений
- Не поддерживается соединение сущностей, данные которых размещены в разных датасорсах без какого-либо общего датасорса.
- Если ключами соединения в запросе выступают поля типа Nullable, то строки, где хотя бы один из ключей имеет значение
NULL
, не соединяются.
Другие ограничения
- Запрос без
FOR SYSTEM_TIME
не возвращает данные, которые не имеют метки времени или имеют метку времени, превышающую текущее время сервера. - Псевдонимы (алиасы) сущностей и столбцов должны начинаться с латинской буквы. После первого символа могут следовать латинские буквы, цифры и символы подчеркивания в любом порядке.
SELECT FROM INFORMATION_SCHEMA
- Не допускается комбинирование подзапросов к
INFORMATION_SCHEMA
с подзапросами к логическим базам данных. - Строковые значения столбцов в условии
WHERE
должны быть указаны в верхнем регистре или с использованием ключевого словаUPPER
.
TRUNCATE ACTUAL
Ограничения выполнения
- Во время работы запроса не допускается выполнение BEGIN DELTA.
Ограничения сущностей
- Недоступно удаление изменений данных из несинхронизированного материализованного представления.
- Когда изменения данных удаляются из таблицы, все связанные с ней материализованные представления остаются в прежнем состоянии и продолжают хранить данные, удаленные из таблицы.
Ограничения WHERE
- Условие
WHERE
не может содержать подзапросы, соединения и другие операции. Поддерживается только простой фильтр. - Выражение в условии
WHERE
может содержать только те столбцы, которые входят в первичный ключ таблицы (или представления).
Другие ограничения
- Удаленные данные невозможно восстановить средствами системы.
TRUNCATE_HISTORY
- Условие
WHERE
не может содержать подзапросы, соединения и другие операции. Поддерживается только простой фильтр. - Запрос не поддерживает удаление данных из материализованных представлений.
- Удаленные данные невозможно восстановить средствами системы.
UPSERT VALUES
Ограничения выполнения
- Выполнение запроса недоступно, если есть незавершенная операция по изменению схемы.
- Не допускается параллельное выполнение идентичных запросов.
Ограничения СУБД
- Запрос не поддерживает вставку данных в СУБД ADQM и ADG.
Ограничения сущностей
- Вставка данных в логические и материализованные представления недоступна.
Ограничения ключевых слов
- Ключевое слово
RETRY
недоступно в запросах к standalone-таблицам.