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

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

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

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

CREATE DOWNLOAD EXTERNAL TABLE

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

CREATE MATERIALIZED VIEW

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

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

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

  • Данные материализованных представлений не могут размещаться в ADB.
  • Источником данных для материализованного представления не могут быть 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

  • Не допускается удаление логической БД, имя которой содержит два и более символа подчеркивания (_) подряд, если в инсталляции есть ADG.
  • Недоступно удаление сервисной базы данных 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.

ERASE DELTA

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

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

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

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

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

GET_CHANGES

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

GET_ENTITY_DDL

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

GET_ENTITY_STATISTICS

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

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), но не к обеим одновременно.
  • Не поддерживаются запросы к материализованным представлениям, содержащие ключевые слова FOR SYSTEM_TIME + DATASOURCE_TYPE, если в представлении отсутствуют данные за момент времени, заданный с помощью FOR SYSTEM_TIME.

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

  • Ключевое слово LISTAGG недоступно в запросах к ADQM и ADG.
  • Ключевое слово COLLATE недоступно в запросах к ADB, ADP и ADQM.
  • Ключевое слово 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, не соединяются.

SELECT FROM INFORMATION_SCHEMA

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

TRUNCATE ACTUAL

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

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

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

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

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

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

TRUNCATE_HISTORY

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

UPSERT VALUES

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

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

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

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

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

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

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

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