Ограничения системы

Содержание раздела
  1. ALLOW_CHANGES
  2. ALTER VIEW
    1. Ограничения выполнения
    2. Ограничения SELECT-подзапроса
  3. BEGIN DELTA
  4. CHECK_DATA
    1. Ограничения сущностей
    2. Ограничения точности
  5. CHECK_SUM
    1. Ограничения сущностей
    2. Ограничения точности
  6. CHECK_SUM_SNAPSHOT
    1. Ограничения СУБД
    2. Ограничения сущностей
    3. Ограничения точности
  7. COMMIT DELTA
  8. CREATE DATABASE
  9. CREATE DOWNLOAD EXTERNAL TABLE
  10. CREATE MATERIALIZED VIEW
    1. Ограничения выполнения
    2. Ограничения СУБД
    3. Ограничения имен
    4. Ограничения столбцов
    5. Ограничения SELECT-подзапроса
  11. CREATE READABLE EXTERNAL TABLE
  12. CREATE TABLE
    1. Ограничения выполнения
    2. Ограничения имен
    3. Ограничения столбцов
  13. CREATE UPLOAD EXTERNAL TABLE
  14. CREATE VIEW
    1. Ограничения выполнения
    2. Ограничения имен
    3. Ограничения SELECT-подзапроса
  15. CREATE WRITABLE EXTERNAL TABLE
  16. DELETE
    1. Ограничения выполнения
    2. Ограничения сущностей
    3. Ограничения ключевых слов
  17. DENY_CHANGES
  18. DROP DATABASE
  19. DROP DOWNLOAD_EXTERNAL_TABLE
  20. DROP MATERIALIZED VIEW
  21. DROP READABLE EXTERNAL TABLE
  22. DROP TABLE
  23. DROP UPLOAD EXTERNAL TABLE
  24. DROP_VIEW
  25. DROP WRITABLE EXTERNAL TABLE
  26. GET_CHANGES
  27. GET_ENTITY_DDL
  28. GET_WRITE_OPERATIONS
  29. INSERT INTO download external table
  30. INSERT SELECT FROM upload_external_table
  31. INSERT SELECT
    1. Ограничения выполнения
    2. Ограничения СУБД
    3. Ограничения сущностей
    4. Ограничения столбцов
    5. Ограничения ключевых слов
  32. INSERT VALUES
    1. Ограничения выполнения
    2. Ограничения СУБД
    3. Ограничения сущностей
    4. Ограничения ключевых слов
  33. RESUME_WRITE_OPERATION
  34. ROLLBACK DELTA
  35. SELECT
    1. Ограничения сущностей
    2. Ограничения ключевых слов
    3. Ограничения соединений
  36. SELECT FROM INFORMATION_SCHEMA
  37. TRUNCATE_HISTORY
  38. UPSERT VALUES
    1. Ограничения выполнения
    2. Ограничения СУБД
    3. Ограничения сущностей
    4. Ограничения ключевых слов

ALLOW_CHANGES

  • Выполнение запроса недоступно при наличии незавершенного запроса на создание, удаление или изменение таблицы или представления.

ALTER VIEW

Ограничения выполнения

  • Выполнение запроса недоступно при наличии любого из факторов:
    • горячей дельты,
    • запрета на изменение сущностей (см. раздел DENY_CHANGES).
  • Запрос не может быть выполнен в сервисной базе данных INFORMATION_SCHEMA.

Ограничения SELECT-подзапроса

BEGIN DELTA

  • Выполнение запроса невозможно при наличии незавершенного запроса на создание, удаление или изменение таблицы или представления.
  • Если в запросе указан номер открываемой дельты, он должен быть равен номеру последней закрытой дельты + 1.

CHECK_DATA

Ограничения сущностей

  • Проверка логических и материализованных представлений недоступна.
  • Максимальное количество проверяемых записей в одной сущности ограничено и регулируется коэффициентом нормализации.

Ограничения точности

  • Существует вероятность совпадения контрольных сумм для разных наборов записей, поэтому возможен ложноположительный результат проверки.
  • Значения типа FLOAT и DOUBLE могут приводить к расхождениям при проверке из-за разницы в точности типов.

CHECK_SUM

Ограничения сущностей

  • Контрольная сумма по всей логической базе данных рассчитывается только по данным логических таблиц. Данные логических и материализованных представлений не учитываются.
  • Расчет контрольной суммы недоступен для логических представлений, содержащих данные ADQM и (или) ADG.
  • Расчет контрольной суммы недоступен для логических представлений, основанных на standalone-таблицах.
  • Максимальное количество записей в одной сущности, для которого можно рассчитать контрольную сумму, ограничено и регулируется коэффициентом нормализации.

Ограничения точности

  • Существует вероятность совпадения контрольных сумм для разных наборов данных.
  • Значения типа FLOAT и DOUBLE могут приводить к расхождениям в контрольных суммах из-за разницы в точности типов.

CHECK_SUM_SNAPSHOT

Ограничения СУБД

  • Запрос не поддерживается для ADG.

Ограничения сущностей

  • Контрольная сумма логической базы данных рассчитывается только по данным логических таблиц и не учитывает данные логических и материализованных представлений.
  • Расчет контрольной суммы недоступен для логических представлений, основанных на standalone-таблицах.
  • Количество записей в одной сущности, для которого можно рассчитать контрольную сумму, ограничено и регулируется коэффициентом нормализации.

Ограничения точности

  • Существует вероятность совпадения контрольных сумм для разных наборов данных.
  • Значения типа FLOAT и DOUBLE могут приводить к расхождениям в контрольных суммах из-за разницы в точности типов.

COMMIT DELTA

  • Если в запросе указаны дата и время закрытия дельты, они должны быть больше, чем дата и время последней закрытой дельты логической базы данных.
  • Минимально допустимая разница во времени между закрытием дельт — 1 секунда.
  • Дельту невозможно закрыть, пока в ней есть незавершенные операции записи.

CREATE DATABASE

  • Имя логической базы данных должно начинаться с латинской буквы, после первого символа могут следовать латинские буквы, цифры и символы подчеркивания в любом порядке.
  • Логическая БД не может иметь имя INFORMATION_SCHEMA, а также имена, перечисленные в разделе Зарезервированные слова.

CREATE DOWNLOAD EXTERNAL TABLE

  • Имена таблицы и ее столбцов должны начинаться с латинской буквы. После первого символа могут следовать латинские буквы, цифры и символы подчеркивания в любом порядке.
  • Таблица и ее столбцы не могут иметь имена из числа зарезервированных слов.
  • Запрос не может быть выполнен в сервисной базе данных INFORMATION_SCHEMA.

CREATE MATERIALIZED VIEW

Ограничения выполнения

  • Выполнение запроса недоступно при наличии любого из факторов:
    • горячей дельты,
    • запрета на изменение сущностей (см. раздел DENY_CHANGES).
  • Запрос не может быть выполнен в сервисной базе данных INFORMATION_SCHEMA.

Ограничения СУБД

  • Данные материализованных представлений не могут размещаться в ADB и ADP.
  • Источником данных для материализованного представления не могут быть ADQM, ADG и ADP.

Ограничения имен

  • Имена представления и его столбцов должны начинаться с латинской буквы. После первого символа могут следовать латинские буквы, цифры и символы подчеркивания в любом порядке.
  • Имена представления и его столбцов не могут быть из числа зарезервированных слов.
  • Имена столбцов не могут быть равны или начинаться со следующих служебных слов: sys_op, sys_from, sys_to, sys_close_date, bucket_id, sign.
  • Имена столбцов должны быть уникальны в рамках представления.

Ограничения столбцов

  • Порядок столбцов и их типы данных должны совпадать в SELECT-подзапросе и представлении.
  • Первичный ключ должен включать все столбцы ключа шардирования.

Ограничения SELECT-подзапроса

  • Подзапрос не может содержать:
  • Система не проверяет корректность подзапроса при создании представления.

CREATE READABLE EXTERNAL TABLE

  • Имена таблицы и ее столбцов не могут быть из числа зарезервированных слов и должны начинаться с латинской буквы. После первого символа могут следовать латинские буквы, цифры и символы подчеркивания.
  • Имена и порядок столбцов должны совпадать во внешней таблице и связанной standalone-таблице.
  • Запрос не может быть выполнен в сервисной базе данных INFORMATION_SCHEMA.

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.

Ограничения имен

  • Имена представления и его столбцов должны начинаться с латинской буквы. После первого символа могут следовать латинские буквы, цифры и символы подчеркивания в любом порядке.
  • Имена представления и его столбцов не могут быть из числа зарезервированных слов.

Ограничения SELECT-подзапроса

  • SELECT-подзапрос не может содержать:
  • логические и материализованные представления,
  • системные представления INFORMATION_SCHEMA,
  • ключевое слово FOR SYSTEM_TIME.
  • Ключевое слово DATASOURCE_TYPE, указанное в подзапросе query, игнорируется.

CREATE WRITABLE EXTERNAL TABLE

  • Имена таблицы и ее столбцов не могут быть из числа зарезервированных слов и должны начинаться с латинской буквы. После первого символа могут следовать латинские буквы, цифры и символы подчеркивания.
  • Имена и порядок столбцов должны совпадать во внешней таблице и связанной standalone-таблице.
  • Запрос не может быть выполнен в сервисной базе данных INFORMATION_SCHEMA.

DELETE

Ограничения выполнения

  • Не допускается параллельное выполнение идентичных запросов.

Ограничения сущностей

  • Удаление записей из логических таблиц возможно только при наличии открытой дельты (см. BEGIN DELTA).
  • Удаление записей логических таблиц из ADG недоступно.
  • Удаление записей standalone-таблиц из ADG и ADQM недоступно.
  • Удаление записей из логических и материализованных представлений недоступно.

Ограничения ключевых слов

  • В условии WHERE не допускается использование функций, которые приводят к разным результатам в разных СУБД хранилища. Примеры таких функций — это операции над числами с плавающей запятой: сравнение с ними, округление и т.д.
  • Ключевое слово RETRY недоступно в запросах к standalone-таблицам.

DENY_CHANGES

  • Выполнение запроса недоступно при наличии другого запрета изменений или незавершенного запроса на создание, удаление или изменение таблицы или представления.

DROP DATABASE

  • Недоступно удаление сервисной базы данных INFORMATION_SCHEMA.
  • Запрос не может быть выполнен в сервисной базе данных INFORMATION_SCHEMA.

DROP MATERIALIZED VIEW

  • Выполнение запроса недоступно при наличии любого из факторов:
    • горячей дельты,
    • запрета на изменение сущностей (см. раздел DENY_CHANGES).
  • Запрос не может быть выполнен в сервисной базе данных INFORMATION_SCHEMA.

DROP READABLE EXTERNAL TABLE

  • Запрос не может быть выполнен в сервисной базе данных INFORMATION_SCHEMA.

DROP TABLE

  • Выполнение запроса недоступно при наличии любого из факторов:
    • горячей дельты,
    • запрета на изменение сущностей (см. раздел DENY_CHANGES).
  • Запрос не может быть выполнен в сервисной базе данных INFORMATION_SCHEMA.

DROP UPLOAD EXTERNAL TABLE

  • Запрос не может быть выполнен в сервисной базе данных INFORMATION_SCHEMA.

DROP_VIEW

  • Выполнение запроса недоступно при наличии любого из факторов:
    • горячей дельты,
    • запрета на изменение сущностей (см. раздел DENY_CHANGES).
  • Запрос не может быть выполнен в сервисной базе данных INFORMATION_SCHEMA.

DROP WRITABLE EXTERNAL TABLE

  • Запрос не может быть выполнен в сервисной базе данных INFORMATION_SCHEMA.

GET_CHANGES

  • Для логических баз данных, созданных и измененных до версии 5.3, возвращается пустой объект ResultSet.

GET_ENTITY_DDL

  • Запрос не возвращает информацию о внешних таблицах.

GET_WRITE_OPERATIONS

  • Запрос не возвращает информацию о завершенных операциях записи.

INSERT INTO download external table

  • Имена и порядок следования столбцов должны совпадать в SELECT-подзапросе на выгрузку данных и внешней таблице выгрузки.

INSERT SELECT FROM upload_external_table

  • Загрузка данных в логическую таблицу возможна только при наличии открытой дельты (см. BEGIN DELTA).
  • Загрузка данных в логические и материализованные представления недоступна.

INSERT SELECT

Ограничения выполнения

  • Не допускается параллельное выполнение идентичных запросов.

Ограничения СУБД

  • Вставка данных в ADG недоступна.

Ограничения сущностей

  • Вставка данных в логические и материализованные представления недоступна.
  • Вставка данных в логическую таблицу возможна только при наличии открытой дельты (см. BEGIN DELTA).
  • Если данные вставляются из standalone-таблицы в логическую таблицу, данные standalone-таблицы должны оставаться неизменными во время работы запроса.

Ограничения столбцов

  • Типы вставляемых значений должны соответствовать типам данных столбцов в целевой таблице.

Ограничения ключевых слов

  • Ключевое слово RETRY недоступно в запросах к standalone-таблицам.

INSERT VALUES

Ограничения выполнения

  • Не допускается параллельное выполнение идентичных запросов.

Ограничения СУБД

  • Запрос не поддерживает вставку данных в ADG.

Ограничения сущностей

  • Вставка данных в логические и материализованные представления недоступна.
  • Вставка данных в логическую таблицу возможна только при наличии открытой дельты (см. BEGIN DELTA).

Ограничения ключевых слов

  • Ключевое слово RETRY недоступно в запросах к standalone-таблицам.

RESUME_WRITE_OPERATION

  • Запрос не возобновляет обработку операций со статусом «Выполняется», запущенных запросами обновления данных.

ROLLBACK DELTA

  • Дельту невозможно откатить, пока в ней есть незавершенные операции записи.
  • Запрос не отменяет незавершенные операции записи, запущенные запросами обновления данных.
  • Запрос не гарантирует остановку и отмену всех операций за один вызов.
  • После выполнения запроса невозможно закрыть дельту, даже если попытка была неуспешной и запрос вернул исключение.

SELECT

Ограничения сущностей

  • В запросе можно обращаться либо к логической БД, либо к сервисной БД (см. SELECT FROM INFORMATION_SCHEMA), но не к обеим одновременно.

Ограничения ключевых слов

  • Ключевое слово LISTAGG недоступно в запросах к ADQM и ADG.
  • Ключевое слово COLLATE недоступно в запросах к ADB, ADP и ADQM.
  • Ключевое слово ESTIMATE_ONLY не возвращает план выполнения запроса для ADQM и ADG.
  • Ключевое слово OFFSET без ограничения количества строк не поддерживается.
  • FOR SYSTEM_TIME:
    • Ключевое слово FOR SYSTEM_TIME, указанное для standalone-таблиц, игнорируется.
    • Выражение FOR SYSTEM_TIME AS OF LATEST_UNCOMMITTED_DELTA недоступно в запросах к логическим и материализованным представлениям.
    • Выражения FOR SYSTEM_TIME STARTED IN и FOR SYSTEM_TIME FINISHED IN недоступны в запросе к логическому представлению, если запрос предназначен для ADQM или в представлении используется ключевое слово ORDER BY.
  • Ключевое слово ORDER BY недоступно в SELECT-подзапросе в составе CREATE MATERIALIZED VIEW.

Ограничения соединений

  • Не поддерживается соединение сущностей, данные которых размещены в разных СУБД хранилища без какой-либо общей СУБД.
  • Если ключами соединения в запросе выступают поля типа Nullable, то строки, где хотя бы один из ключей имеет значение NULL, не соединяются.

SELECT FROM INFORMATION_SCHEMA

  • Не допускается комбинирование подзапросов к INFORMATION_SCHEMA с подзапросами к логическим базам данных.
  • Строковые значения столбцов в условии WHERE должны быть указаны в верхнем регистре или с использованием ключевого слова UPPER.

TRUNCATE_HISTORY

  • Удаление данных происходит вне механизма дельт и не может быть отменено.
  • Условие WHERE не может содержать подзапросы, соединения и другие операции. Поддерживается только plain-условие.
  • Запрос не может быть выполнен в сервисной базе данных INFORMATION_SCHEMA.

UPSERT VALUES

Ограничения выполнения

  • Не допускается параллельное выполнение идентичных запросов.

Ограничения СУБД

  • Запрос не поддерживает вставку данных в ADQM и ADG.

Ограничения сущностей

  • Вставка данных в логические и материализованные представления недоступна.
  • Вставка данных в логическую таблицу возможна только при наличии открытой дельты (см. BEGIN DELTA).

Ограничения ключевых слов

  • Ключевое слово RETRY недоступно в запросах к standalone-таблицам.