GET_CHANGES
Содержание раздела
Поддерживается в версиях: 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
без вывода отмененных операций. Ответ содержит информацию о пяти созданных таблицах: первая создана до нулевой дельты, вторая — после нулевой дельты, остальные — после первой дельты.
Запрос журнала с отмененными операциями
Запрос журнала логической базы данных, выбранной по умолчанию, с выводом отмененных операций:
-- выбор логической базы данных marketing в качестве базы данных по умолчанию
USE marketing;
-- запрос журнала для выбранной логической БД
GET_CHANGES(true);