GET_CHANGES

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

Поддерживается в версиях:  6.1 / 6.0 / 5.8 / 5.7 / 5.6.1 / 5.5 / 5.4 / 5.3.

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

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

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

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

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

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

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

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

Синтаксис

GET_CHANGES([db_name,] [true | false])

Параметры:

db_name

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

Флаг включения отмененных операций

Флаг со значением true позволяет включить в ответ операции, отмененные запросом ERASE_CHANGE_OPERATION.

Если флаг не указан или имеет значение false, в ответе возвращается информация об успешно выполненных и выполняемых операциях, но не отмененных.

Ограничения

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

Примеры

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

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

GET_CHANGES(marketing)

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

Ответ GET_CHANGES

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

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

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

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