GET_CHANGES

Содержание раздела
  1. Синтаксис
  2. Варианты ответа
    1. Параметры ответа
  3. Ограничения
  4. Примеры
    1. Запрос журнала без отмененных операций
    2. Запрос журнала с отмененными операциями

Поддерживается в версиях:  6.12 / 6.11 / 6.10 / 6.9 / 6.8 / 6.7 / 6.6 / 6.5 / 6.4 / 6.3 / 6.2 / 6.1 / 6.0 / 5.8 / 5.7 / 5.6 / 5.5 / 5.4 / 5.3.

Запрос возвращает содержимое журнала — список операций по изменению логической схемы данных.

По умолчанию запрос возвращает информацию об успешно завершенных и выполняемых операциях. Чтобы также включить в ответ отмененные операции, установите в запросе флаг show_cancelled_operations со значением true.

Журнал ведется в системе, начиная с версии 5.3. Изменения, выполненные в более ранних версиях, в журнале отсутствуют.

Незавершенную операцию (с пустым полем end_time) можно отменить запросом ERASE_CHANGE_OPERATION.

Синтаксис

GET_CHANGES([db_name,] [show_cancelled_operations])

Параметры:

db_name

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

show_cancelled_operations

Флаг, определяющий режим отображения операций, отмененных запросом ERASE_CHANGE_OPERATION, в ответе. Возможные значения:

  • false (по умолчанию) — отмененные операции включаются в ответ. Ответ содержит только успешно выполненные и выполняемые операции;
  • true — отмененные операции включаются в ответ.

Варианты ответа

Успешный ответ содержит объект ResultSet, где каждая строка соответствует одной операции, неуспешный ответ содержит исключение.

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

Параметры ответа

По каждой операции доступна информация:

  • change_num — номер операции. Нумерация ведется в рамках логической базы данных. Для отмененных операций указывается значение NULL;
  • entity_name — имя логической сущности;
  • change_query — содержимое запроса на изменение логической сущности;
  • start_time — дата и время начала выполнения запроса change_query;
  • end_time — дата и время окончания выполнения запроса change_query. Для незавершенных операций указывается значение NULL;
  • delta_num — последняя закрытая дельта в логической базе данных на момент запроса информации. Если закрытых дельт еще нет, поле имеет значение NULL.

Начиная с версии 6.1, в столбце change_query возвращается запрос, содержащий переносы строк. В предыдущих версиях запрос возвращался без переносов.

Ограничения

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

Примеры

Запрос журнала без отмененных операций

Запрос журнала указанной логической БД без отмененных операций:

GET_CHANGES(marketing)

На рисунке ниже показан пример ответа GET_CHANGES без вывода отмененных операций. Ответ содержит информацию о пяти созданных таблицах: первая создана до нулевой дельты, вторая — после нулевой дельты, остальные — после первой дельты.

Ответ GET_CHANGES

Запрос журнала с отмененными операциями

Запрос журнала логической базы данных, выбранной по умолчанию, с выводом отмененных операций:

-- выбор логической базы данных marketing в качестве базы данных по умолчанию
USE marketing;

-- запрос журнала для выбранной логической БД
GET_CHANGES(true);