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

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

ALTER VIEW

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

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

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

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

Ограничения 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-подзапроса

  • Подзапрос не может содержать:
  • Если в подзапросе указана одна логическая таблица и нет группировки и агрегации данных, указанная логическая таблица должна находиться в той же логической БД, где находится представление.
  • Система не проверяет корректность подзапроса при создании представления.

Другие ограничения

  • Представления, построенные на соединении логических таблиц и 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-подзапрос не может содержать:
  • Ключевое слово 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

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

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

Ограничения на другие операции

Другие ограничения

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

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.
  • Ключевое слово 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-таблицам.