Ограничения системы
Содержание раздела
- ALLOW_CHANGES
- ALTER VIEW
- BEGIN DELTA
- CHECK_DATA
- CHECK_SUM
- COMMIT DELTA
- CREATE DATABASE
- CREATE DOWNLOAD EXTERNAL TABLE
- CREATE MATERIALIZED VIEW
- CREATE TABLE
- CREATE UPLOAD EXTERNAL TABLE
- CREATE VIEW
- DELETE
- DENY_CHANGES
- DROP DATABASE
- DROP DOWNLOAD_EXTERNAL_TABLE
- DROP MATERIALIZED VIEW
- DROP TABLE
- DROP UPLOAD EXTERNAL TABLE
- DROP_VIEW
- INSERT INTO download external table
- INSERT INTO logical table
- SELECT
- SELECT FROM INFORMATION_SCHEMA
- TRUNCATE_HISTORY
- UPSERT SELECT
- UPSERT VALUES
ALLOW_CHANGES
- Выполнение запроса недоступно при наличии незавершенного запроса на создание, удаление или изменение таблицы или представления.
ALTER VIEW
- Выполнение запроса недоступно при наличии любого из факторов:
- горячей дельты,
- незавершенного запроса на создание, удаление или изменение таблицы или представления,
- запрета на изменение сущностей (см. раздел DENY_CHANGES).
- Выполнение запроса недоступно в сервисной базе данных
INFORMATION_SCHEMA
. - Подзапрос
query
не может содержать:- логические представления,
- системные представления INFORMATION_SCHEMA,
- ключевое слово FOR SYSTEM_TIME,
- ключевое слово DATASOURCE_TYPE.
BEGIN DELTA
- Выполнение запроса невозможно при наличии незавершенного запроса на создание, удаление или изменение таблицы или представления.
- Если в запросе указан номер открываемой дельты, он должен быть равен номеру последней закрытой дельты + 1.
CHECK_DATA
- Существует математическая вероятность получения одинаковых контрольных сумм для разных наборов записей, поэтому возможен ложноположительный результат проверки.
- Максимальное количество записей в дельте, для которых контрольная сумма рассчитывается корректно, пропорционально коэффициенту нормализации. Если коэффициент не указан или равен 1, проверяемая дельта может содержать до
4'294'967'298
записей; при увеличении коэффициента допустимое количество записей также увеличивается.
CHECK_SUM
- Контрольная сумма логической базы данных рассчитывается только по данным логических таблиц и не учитывает данные материализованных представлений.
- Существует математическая вероятность получения одинаковых контрольных сумм для разных наборов данных.
- Максимально допустимое количество записей таблицы (или представления) в дельте, для которых контрольная сумма рассчитывается корректно, пропорционально коэффициенту нормализации. Если коэффициент не указан или равен 1, каждая из проверяемых таблиц или представлений может содержать до
4'294'967'298
записей в дельте; при увеличении коэффициента допустимое количество записей также увеличивается.
COMMIT DELTA
- Если в запросе указаны дата и время закрытия дельты, они должны быть больше, чем дата и время последней закрытой дельты. Дату и время последней закрытой дельты можно узнать, выполнив запрос GET_DELTA_OK.
CREATE DATABASE
- Недоступно создание логической базы данных с именем
INFORMATION_SCHEMA
, зарезервированным для сервисной БД.
CREATE DOWNLOAD EXTERNAL TABLE
- Выполнение запроса недоступно в сервисной базе данных
INFORMATION_SCHEMA
.
CREATE MATERIALIZED VIEW
- Выполнение запроса недоступно при наличии любого из факторов:
- горячей дельты,
- незавершенного запроса на создание, удаление или изменение таблицы или представления,
- запрета на изменение сущностей (см. раздел DENY_CHANGES).
- Выполнение запроса недоступно в сервисной базе данных
INFORMATION_SCHEMA
. - Имена столбцов должны быть уникальны в рамках представления.
- Столбцы не могут иметь имена, зарезервированные для служебного использования:
sys_op
,sys_from
,sys_to
,sys_close_date
,bucket_id
,sign
. - Имена, порядок и типы данных столбцов должны совпадать в SELECT-подзапросе и представлении.
- Первичный ключ должен включать все столбцы ключа шардирования.
- Подзапрос может обращаться только к логическим таблицам и только той логической базы данных, в которой находится материализованное представление.
- Подзапрос не может содержать:
- ключевое слово FOR SYSTEM_TIME,
- ключевое слово
ORDER BY
, - ключевое слово
LIMIT
.
CREATE TABLE
- Выполнение запроса недоступно при наличии любого из факторов:
- горячей дельты,
- незавершенного запроса на создание, удаление или изменение таблицы или представления,
- запрета на изменение сущностей (см. раздел DENY_CHANGES).
- Выполнение запроса недоступно в сервисной базе данных
INFORMATION_SCHEMA
. - Имена столбцов должны быть уникальны в рамках логической таблицы.
- Столбцы не могут иметь имена, зарезервированные для служебного использования:
sys_op
,sys_from
,sys_to
,sys_close_date
,bucket_id
,sign
. - Первичный ключ должен включать все столбцы ключа шардирования.
CREATE UPLOAD EXTERNAL TABLE
- Выполнение запроса недоступно в сервисной базе данных
INFORMATION_SCHEMA
.
CREATE VIEW
- Выполнение запроса недоступно при наличии любого из факторов:
- горячей дельты,
- незавершенного запроса на создание, удаление или изменение таблицы или представления,
- запрета на изменение сущностей (см. раздел DENY_CHANGES).
- Выполнение запроса недоступно в сервисной базе данных
INFORMATION_SCHEMA
. - В подзапросе
query
не допускается использование:- логических представлений,
- системных представлений
INFORMATION_SCHEMA
, - ключевого слова FOR SYSTEM_TIME.
- Ключевое слово
DATASOURCE_TYPE
, указанное в подзапросеquery
, игнорируется.
DELETE
- Выполнение запроса возможно только при наличии открытой дельты (см. BEGIN DELTA).
- Столбцы в условии запроса не могут иметь имена, зарезервированные для служебного использования:
sys_op
,sys_from
,sys_to
,sys_close_date
,bucket_id
,sign
. - В условии
WHERE
не допускается использование функций, результаты которых различаются в разных СУБД хранилища. Примерами таких функций служат операции с вещественными числами (числами с плавающей запятой): сравнение с вещественным числом, округление и т.д. - Не допускается выполнение идентичных параллельных запросов.
DENY_CHANGES
- Выполнение запроса недоступно при наличии другого запрета изменений или незавершенного запроса на создание, удаление или изменение таблицы или представления.
DROP DATABASE
- Недоступно удаление сервисной базы данных
INFORMATION_SCHEMA
.
DROP DOWNLOAD_EXTERNAL_TABLE
- Выполнение запроса недоступно в сервисной базе данных
INFORMATION_SCHEMA
.
DROP MATERIALIZED VIEW
- Выполнение запроса недоступно при наличии любого из факторов:
- горячей дельты,
- незавершенного запроса на создание, удаление или изменение таблицы или представления,
- запрета на изменение сущностей (см. раздел DENY_CHANGES).
- Выполнение запроса недоступно в сервисной базе данных
INFORMATION_SCHEMA
.
DROP TABLE
- Выполнение запроса недоступно при наличии любого из факторов:
- горячей дельты,
- незавершенного запроса на создание, удаление или изменение таблицы или представления,
- запрета на изменение сущностей (см. раздел DENY_CHANGES).
- Выполнение запроса недоступно в сервисной базе данных
INFORMATION_SCHEMA
.
DROP UPLOAD EXTERNAL TABLE
- Выполнение запроса недоступно в сервисной базе данных
INFORMATION_SCHEMA
.
DROP_VIEW
- Выполнение запроса недоступно при наличии любого из факторов:
- горячей дельты,
- незавершенного запроса на создание, удаление или изменение таблицы или представления,
- запрета на изменение сущностей (см. раздел DENY_CHANGES).
- Выполнение запроса недоступно в сервисной базе данных
INFORMATION_SCHEMA
.
INSERT INTO download external table
- Имена и порядок следования столбцов должны совпадать в SELECT-подзапросе на выгрузку данных и внешней таблице выгрузки.
- Выгрузка данных, выбранных с использованием агрегатных функций, из ADQM дает некорректные результаты. Ограничение связано с тем, что данные из сегментов кластера ADQM выгружаются параллельно и не объединяются.
INSERT INTO logical table
- Выполнение запроса возможно только при наличии открытой дельты (см. BEGIN DELTA).
SELECT
- Запрос может обращаться либо к логической БД, либо к сервисной БД (см. SELECT FROM INFORMATION_SCHEMA), но не к обеим одновременно.
- Если ключами соединения в запросе выступают поля типа Nullable, то строки, где хотя бы один из ключей имеет значение NULL, не соединяются.
- Ключевое слово
ORDER BY
не поддерживается для SELECT-подзапроса в составе запроса CREATE MATERIALIZED VIEW.
SELECT FROM INFORMATION_SCHEMA
- Не допускается комбинирование подзапросов к
INFORMATION_SCHEMA
с подзапросами к логическим базам данных.
TRUNCATE_HISTORY
- Выполнение запроса недоступно в сервисной базе данных
INFORMATION_SCHEMA
.
UPSERT SELECT
- Выполнение запроса возможно только при наличии открытой дельты (см. BEGIN DELTA).
- Столбцы в запросе не могут иметь имена, зарезервированные для служебного использования:
sys_op
,sys_from
,sys_to
,sys_close_date
,bucket_id
,sign
. - Типы вставляемых данных должны соответствовать типам данных столбцов целевой логической таблицы.
- Не допускается выполнение идентичных параллельных запросов.
UPSERT VALUES
- Выполнение запроса возможно только при наличии открытой дельты (см. BEGIN DELTA).
- Столбцы в запросе не могут иметь имена, зарезервированные для служебного использования:
sys_op
,sys_from
,sys_to
,sys_close_date
,bucket_id
,sign
. - Не допускается выполнение идентичных параллельных запросов.