Spec-Zone .ru
спецификации, руководства, описания, API
|
Функции, описанные в этом разделе, используются с GTID-на-основе репликацией. Для получения дополнительной информации о GTIDs и как эти функции используются, см. Раздел 16.1.3, "Репликация с Глобальными Идентификаторами транзакции".
Объединение двух наборов GTID является просто их строковыми представлениями, объединенными со вставленной запятой. Другими словами можно определить очень простую функцию для того, чтобы получить объединение двух наборов GTID как это:
CREATE FUNCTION GTID_UNION(g1 TEXT, g2 TEXT) RETURNS TEXT DETERMINISTICRETURN CONCAT(g1,',',g2);
Таблица 12.19. Функции GTID
Имя | Описание |
---|---|
GTID_SUBSET()
|
Возвратите true, если все GTIDs в подмножестве находятся также в наборе; иначе ложь. |
GTID_SUBTRACT()
|
Возвратите все GTIDs в наборе, которые не находятся в подмножестве. |
WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS() |
Ожидайте, пока ведомый поток SQL не выполнил весь данный GTIDs. Возвраты: число событий, которые выполнялись (или НУЛЬ, если режим GTID не включается). |
Учитывая два набора глобальных ID транзакции subset
и set
, возвращает true если весь GTIDs в subset
находятся также в set
. Возвращает false иначе.
Учитывая два набора глобальных ID транзакции subset
и set
, возвраты только те GTIDs от set
это не находится в subset
.
WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS(
gtid_set
[, timeout
])
Ожидайте, пока ведомый поток SQL не выполнил все транзакции, глобальные идентификаторы транзакции
которых содержатся в gtid_set
(см. Раздел
16.1.3.1, "Понятия GTID", для определения "GTID устанавливает"), или до timeout
секунды протекли, какой бы ни происходит сначала. timeout
является дополнительным; тайм-аут значения по умолчанию составляет 0 секунд, когда ведущее
устройство просто ожидает, пока все транзакции в наборе GTID не были выполнены.
Для получения дополнительной информации см. Раздел 16.1.3, "Репликация с Глобальными Идентификаторами транзакции".
mysql> SELECT
WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS('3E11FA47-71CA-11E1-9E33-C80AA9429562:1-5');
-> 5
Возвращаемое значение является числом транзакционных событий, которые выполнялись. Если
GTID-на-основе репликация не является активной (то есть, если значение gtid_mode
переменная OFF
), тогда это
значение неопределено и таким образом WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS()
возвраты NULL
.