GET_CHANGES
Запрос позволяет получить содержимое журнала — список всех операций по изменению сущностей в логической базе данных.
Журнал ведется в системе, начиная с версии 5.3. Изменения, выполненные в более ранних версиях, в журнале отсутствуют.
Для логических базы данных, которые создавались и изменялись только до версии 5.3, запрос GET_CHANGES
возвращает пустой объект ResultSet`.
По каждой операции доступна следующая информация:
change_num
— номер операции. Нумерация ведется в рамках логической базы данных;entity_name
— имя логической сущности;change_query
— содержимое запроса на изменение логической сущности;start_time
— дата и время начала выполнения запросаchange_query
;end_time
— дата и время окончания выполнения запросаchange_query
. Если поле пустое, это означает, что операция еще не завершена;delta_num
— последняя закрытая дельта в логической базе данных на момент запроса информации. Если закрытых дельт еще нет, поле имеет пустое значение.
Успешный ответ содержит объект ResultSet, где каждая строка соответствует одной операции, неуспешный ответ содержит исключение.
Незавершенную операцию (с пустым полем end_time
) можно отменить запросом ERASE_CHANGE_OPERATION.
Синтаксис
GET_CHANGES([db_name])
Параметры:
db_name
-
Имя логической базы данных, для которой запрашивается журнал. Опционально, если выбрана логическая БД, используемая по умолчанию.
Примеры
Запрос журнала для указанной логической базы данных:
GET_CHANGES(marketing)
Запрос журнала для логической базы данных, выбранной по умолчанию:
-- выбор логической базы данных marketing в качестве базы данных по умолчанию
USE marketing;
-- запрос журнала для marketing
GET_CHANGES();
На рисунке ниже показан пример ответа на запрос GET_CHANGES
. Ответ содержит информацию о пяти созданных таблицах: первая была создана до всех дельт, вторая — после нулевой дельты, остальные — после первой дельты.