Ограничения системы
Содержание раздела
- 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
- 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 VIEW
Ограничения выполнения
- Выполнение запроса недоступно при наличии любого из факторов:
- горячей дельты,
- запрета на изменение сущностей (см. раздел DENY_CHANGES).
Ограничения имен
- Псевдонимы (алиасы) в 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
- Имя логической базы данных должно начинаться с латинской буквы, после первого символа могут следовать латинские буквы, цифры и символы подчеркивания в любом порядке.
- Имя логической БД не может содержать два и более символа подчеркивания (
_
) подряд, если в инсталляции есть ADG. - Логическая БД не может иметь имя
INFORMATION_SCHEMA
, а также имена, перечисленные в разделе Зарезервированные слова.
CREATE DOWNLOAD EXTERNAL TABLE
- Имена таблицы и ее столбцов должны начинаться с латинской буквы. После первого символа могут следовать латинские буквы, цифры и символы подчеркивания в любом порядке.
- Таблица и ее столбцы не могут иметь имена из числа зарезервированных слов.
CREATE MATERIALIZED VIEW
Ограничения выполнения
- Выполнение запроса недоступно при наличии любого из факторов:
- горячей дельты,
- запрета на изменение сущностей (см. раздел DENY_CHANGES).
Ограничения СУБД
- Данные материализованных представлений не могут размещаться в ADB.
- Источником данных для материализованного представления не могут быть ADQM, ADG и ADP.
Ограничения имен
- Имя представления, имена столбцов и псевдонимы (алиасы) должны начинаться с латинской буквы. После первого символа могут следовать латинские буквы, цифры и символы подчеркивания в любом порядке.
- Имена представления и его столбцов не могут быть из числа зарезервированных слов.
- Имена столбцов должны быть уникальны в рамках представления.
- Имена столбцов представления, размещаемого в ADQM, не могут начинаться со следующих служебных слов:
sys_op
,sys_from
,sys_to
,sys_close_date
,sign
.
Ограничения столбцов
- Порядок столбцов и их типы данных должны совпадать в SELECT-подзапросе и представлении.
- Первичный ключ должен включать все столбцы ключа шардирования.
Ограничения SELECT-подзапроса
- Подзапрос не может содержать:
- логические и материализованные представления,
- системные представления
INFORMATION_SCHEMA
, - ключевое слово FOR SYSTEM_TIME,
- ключевое слово
ORDER BY
, - ключевое слово
LIMIT
.
- Если в подзапросе указана одна логическая таблица и нет группировки и агрегации данных, указанная логическая таблица должна находиться в той же логической БД, где находится представление.
- Система не проверяет корректность подзапроса при создании представления.
Другие ограничения
- Представления, построенные на соединении логических таблиц и standalone-таблиц, могут содержать не все изменения standalone-таблиц из-за того, что такие таблицы не поддерживают версионирование данных.
- Информационная схема обновляется асинхронно, поэтому созданное представление может не сразу появиться в информационной схеме.
CREATE READABLE EXTERNAL TABLE
- Имена таблицы и ее столбцов не могут быть из числа зарезервированных слов и должны начинаться с латинской буквы. После первого символа могут следовать латинские буквы, цифры и символы подчеркивания.
- Имена и порядок столбцов должны совпадать во внешней таблице и связанной standalone-таблице.
- Информационная схема обновляется асинхронно, поэтому созданная таблица может не сразу появиться в информационной схеме.
CREATE TABLE
Ограничения выполнения
- Выполнение запроса недоступно при наличии любого из факторов:
- горячей дельты,
- запрета на изменение сущностей (см. раздел DENY_CHANGES).
Ограничения имен
- Имена таблицы и ее столбцов должны начинаться с латинской буквы. После первого символа могут следовать латинские буквы, цифры и символы подчеркивания в любом порядке.
- Имена таблицы и ее столбцов не могут быть из числа зарезервированных слов.
- Имена столбцов должны быть уникальны в рамках логической таблицы.
- Имена столбцов таблицы, размещаемой в ADQM, не могут начинаться со следующих служебных слов:
sys_op
,sys_from
,sys_to
,sys_close_date
,sign
.
Ограничения столбцов
- Первичный ключ должен включать все столбцы ключа шардирования.
Другие ограничения
- Информационная схема обновляется асинхронно, поэтому созданная таблица может не сразу появиться в информационной схеме.
CREATE UPLOAD EXTERNAL TABLE
- Имена таблицы и ее столбцов должны начинаться с латинской буквы, после первого символа могут следовать латинские буквы, цифры и символы подчеркивания в любом порядке.
- Таблица и ее столбцы не могут иметь имена из числа зарезервированных слов.
CREATE VIEW
Ограничения выполнения
- Выполнение запроса недоступно при наличии любого из факторов:
- горячей дельты,
- запрета на изменение сущностей (см. раздел DENY_CHANGES).
Ограничения имен
- Имя представления, имена столбцов и псевдонимы (алиасы) должны начинаться с латинской буквы. После первого символа могут следовать латинские буквы, цифры и символы подчеркивания в любом порядке.
- Имена представления и его столбцов не могут быть из числа зарезервированных слов.
Ограничения SELECT-подзапроса
- SELECT-подзапрос не может содержать:
- логические и материализованные представления,
- системные представления
INFORMATION_SCHEMA
, - ключевое слово FOR SYSTEM_TIME.
- Ключевое слово
DATASOURCE_TYPE
, указанное в подзапросеquery
, игнорируется.
Другие ограничения
- Информационная схема обновляется асинхронно, поэтому созданное представление может не сразу появиться в информационной схеме.
CREATE WRITABLE EXTERNAL TABLE
- Имена таблицы и ее столбцов не могут быть из числа зарезервированных слов и должны начинаться с латинской буквы. После первого символа могут следовать латинские буквы, цифры и символы подчеркивания.
- Имена и порядок столбцов должны совпадать во внешней таблице и связанной standalone-таблице.
- Информационная схема обновляется асинхронно, поэтому созданная таблица может не сразу появиться в информационной схеме.
DELETE
Ограничения выполнения
- Не допускается параллельное выполнение идентичных запросов.
Ограничения сущностей
- Удаление записей из логических таблиц возможно только при наличии открытой дельты (см. BEGIN DELTA).
- Удаление записей standalone-таблиц из ADQM и ADG недоступно.
- Удаление записей из логических и материализованных представлений недоступно.
Ограничения ключевых слов
- В условии
WHERE
не допускается использование функций, которые приводят к разным результатам в разных СУБД хранилища. Примеры таких функций — это операции над числами с плавающей запятой: сравнение с ними, округление и т.д. - Ключевое слово
RETRY
недоступно в запросах к standalone-таблицам.
DENY_CHANGES
- Выполнение запроса недоступно при наличии другого запрета изменений или незавершенного запроса на создание, удаление или изменение таблицы или представления.
DROP DATABASE
- Не допускается удаление логической БД, имя которой содержит два и более символа подчеркивания (
_
) подряд, если в инсталляции есть ADG. - Недоступно удаление сервисной базы данных
INFORMATION_SCHEMA
.
DROP MATERIALIZED VIEW
- Выполнение запроса недоступно при наличии любого из факторов:
- горячей дельты,
- запрета на изменение сущностей (см. раздел DENY_CHANGES).
DROP TABLE
- Выполнение запроса недоступно при наличии любого из факторов:
- горячей дельты,
- запрета на изменение сущностей (см. раздел DENY_CHANGES).
DROP_VIEW
- Выполнение запроса недоступно при наличии любого из факторов:
- горячей дельты,
- запрета на изменение сущностей (см. раздел DENY_CHANGES).
ERASE DELTA
Ограничения выполнения
- Запрос не может быть выполнен при наличии открытой дельты.
- Запрос не может быть выполнен в логической базе данных, в которой есть несинхронизированные материализованные представления.
Ограничения на другие операции
- Во время работы запроса недоступно выполнение запросов BEGIN DELTA, изменение логической схемы данных, а также загрузка и обновление данных.
Другие ограничения
- Запрос не обновляет материализованные представления, которые связаны с очищаемыми таблицами и находятся в других логических базах данных. Такие представления продолжают хранить данные, удаленные из таблиц.
- Удаление данных происходит вне механизма дельт и не может быть отменено.
GET_CHANGES
- Для логических баз данных, созданных и измененных до версии 5.3, возвращается пустой объект ResultSet.
GET_ENTITY_DDL
- Запрос не возвращает информацию о внешних таблицах.
GET_ENTITY_STATISTICS
Общие ограничения
- Статистика сохраняется до рестарта системы, при рестарте все значения обнуляются.
- При удалении и пересоздании логической сущности статистика по ней остается.
- Статистика не ведется по внешним таблицам загрузки и выгрузки.
Ограничения значений 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
- Загрузка данных в логическую таблицу возможна только при наличии открытой дельты (см. BEGIN DELTA).
- Загрузка данных в логические и материализованные представления недоступна.
INSERT SELECT
Ограничения выполнения
- Не допускается параллельное выполнение идентичных запросов.
Ограничения сущностей
- Вставка данных в логические и материализованные представления недоступна.
- Вставка данных в логическую таблицу возможна только при наличии открытой дельты (см. BEGIN DELTA).
- Если данные вставляются из standalone-таблицы в логическую таблицу, данные standalone-таблицы должны оставаться неизменными во время работы запроса.
Ограничения столбцов
- Типы вставляемых значений должны соответствовать типам данных столбцов в целевой таблице.
Ограничения ключевых слов
- Ключевое слово
RETRY
недоступно в запросах к standalone-таблицам.
INSERT VALUES
Ограничения выполнения
- Не допускается параллельное выполнение идентичных запросов.
Ограничения сущностей
- Вставка данных в логические и материализованные представления недоступна.
- Вставка данных в логическую таблицу возможна только при наличии открытой дельты (см. BEGIN DELTA).
Ограничения ключевых слов
- Ключевое слово
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.
Ограничения сущностей
- Недоступно удаление данных из несинхронизированного материализованного представления.
- Недоступно удаление данных из логической таблицы, с которой связано несинхронизированное материализованное представление.
- При удалении данных из таблицы все связанные с ней материализованные представления остаются в прежнем состоянии и продолжают хранить данные, удаленные из таблицы.
Другие ограничения
- Запрос не поддерживает удаление данных из ADG.
- Удаление данных происходит вне механизма дельт и не может быть отменено.
- Условие
WHERE
не может содержать подзапросы, соединения и другие операции. Поддерживается только plain-условие. - Выражение в условии
WHERE
может содержать только те столбцы, которые входят в первичный ключ таблицы (представления).
TRUNCATE_HISTORY
- Удаление данных происходит вне механизма дельт и не может быть отменено.
- Условие
WHERE
не может содержать подзапросы, соединения и другие операции. Поддерживается только plain-условие. - Запрос не поддерживает удаление данных из материализованных представлений.
UPSERT VALUES
Ограничения выполнения
- Не допускается параллельное выполнение идентичных запросов.
Ограничения СУБД
- Запрос не поддерживает вставку данных в ADQM и ADG.
Ограничения сущностей
- Вставка данных в логические и материализованные представления недоступна.
- Вставка данных в логическую таблицу возможна только при наличии открытой дельты (см. BEGIN DELTA).
Ограничения ключевых слов
- Ключевое слово
RETRY
недоступно в запросах к standalone-таблицам.