Spec-Zone .ru
спецификации, руководства, описания, API
|
Функции, описанные в этом разделе, используются с GTID-на-основе репликацией (доступный в MySQL 5.6.5 и позже). Для получения дополнительной информации о 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 в наборе, которые не находятся в подмножестве. |
SQL_THREAD_WAIT_AFTER_GTIDS() (осуждаемый 5.6.9)
|
УСТАРЕВШИЙ: Замененный WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS () |
WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS() |
Ожидайте, пока ведомый поток SQL не выполнил весь данный GTIDs. Возвраты: число событий, которые выполнялись (или НУЛЬ, если режим GTID не включается). |
Учитывая два набора глобальных ID транзакции subset
и set
, возвращает true если весь GTIDs в subset
находятся также в set
. Возвращает false иначе.
Эта функция была добавлена в MySQL 5.6.5.
Учитывая два набора глобальных ID транзакции subset
и set
, возвраты только те GTIDs от set
это не находится в subset
.
Эта функция была добавлена в MySQL 5.6.5.
SQL_THREAD_WAIT_AFTER_GTIDS(
gtid_set
[, timeout
])
SQL_THREAD_WAIT_AFTER_GTIDS()
был добавлен в MySQL 5.6.5, и заменен WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS()
в MySQL 5.6.9. (Ошибка #14775984)
Для получения дополнительной информации см. Раздел 16.1.3, "Репликация с Глобальными Идентификаторами транзакции".
WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS(
gtid_set
[, timeout
])
Ожидайте, пока ведомый поток SQL не выполнил все транзакции, глобальные идентификаторы транзакции
которых содержатся в gtid_set
(см. Раздел
16.1.3.1, "Понятия GTID", для определения "GTID устанавливает"), или до timeout
секунды протекли, какой бы ни происходит сначала. timeout
является дополнительным; тайм-аут значения по умолчанию составляет 0 секунд, когда ведущее
устройство просто ожидает, пока все транзакции в наборе GTID не были выполнены.
До MySQL 5.6.9, WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS()
был назван SQL_THREAD_WAIT_AFTER_GTIDS()
.
(Ошибка #14775984)
Для получения дополнительной информации см. Раздел 16.1.3, "Репликация с Глобальными Идентификаторами транзакции".
mysql> SELECT
WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS('3E11FA47-71CA-11E1-9E33-C80AA9429562:1-5');
-> 5
Возвращаемое значение является числом транзакционных событий, которые выполнялись. До MySQL 5.6.8
эта функция вела себя непредсказуемо, если никакой тайм-аут не был установлен, и это было вызвано, в
то время как GTID-на-основе репликация не была активной; в MySQL 5.6.8 и позже, функциональные
возвраты NULL
всякий раз, когда gtid_mode
OFF
. (Ошибка #14640065)