SystΘmovΘ sloupce zabezpeΦujφcφ replikace

_W5_ZCR

Zvolenφ vlastnosti Umo₧nit replikaci zm∞n p°idß do tabulky skryt² sloupec _W5_ZCR. Na serveru existuje globßlnφ ΦφtaΦ zm∞n, kter² se inkrementuje p°i ka₧dΘ zm∞n∞ v replikovatelnΘ tabulce (i pokud zm∞nu vyvolß doÜl² replikaΦnφ paket). Aktußlnφ hodnota ΦφtaΦe se zapφÜe do sloupce _W5_ZCR v modifikovanΘm zßznamu. V tabulce REPLTAB se udr₧uje pro danou aplikaci a cφlov² server hodnota globßlnφho ΦφtaΦe p°i poslednφ replikaci. Kdy₧ server obdr₧φ po₧adavek na replikaci ven, p°eΦte si z tabulky REPLTAB minulou hodnotu citace, ze sdφlen²ch tabulek vybere zßznamy, kterΘ majφ hodnotu _W5_ZCR mezi minulou a aktußlnφ hodnotou globßlnφho ΦφtaΦe, zßznamy odeÜle na cφlov² server a do tabulky REPLTAB zapφÜe aktußlnφ hodnotu globßlnφho ΦφtaΦe.

_W5_UNIKEY

Zvolenφ vlastnosti Umo₧nit replikaci zm∞n p°idß do tabulky skryt² sloupec _W5_UNIKEY. P°i ka₧dΘm vlo₧enφ novΘho zßznamu do tabulky se do n∞j zapφÜe hodnota, kterß se sklßdß z UUID domovskΘho serveru a hodnoty ΦφtaΦe pro danou tabulku. Pokud zßznam p°iÜel v rßmci replikace z jinΘho serveru, p°epφÜe se hodnotou klφΦe ze zdrojovΘho serveru. Jako unikßtnφ klφΦ pro replikace lze takΘ pou₧φt primßrnφ klφΦ. Pokud tabulka nemß ani _W5_UNIKEY ani primßrnφ klφΦ, skonΦφ pokus o replikaci takovΘto tabulky chybou.

_W5_LUO

Zvolenφ vlastnosti Brßnit vzniku ozv∞n p°idß do tabulky skryt² sloupec _W5_LUO. P°i ka₧dΘ zm∞n∞ v zßznamu se do n∞j zapφÜe UUID domovskΘho serveru. Pokud byla zm∞na vyvolßna replikacφ zßznamu z jinΘho serveru, p°epφÜe se hodnotou UUID serveru, ze kterΘho zßznam p°iÜel. P°i replikaci ven se zßznamy, kterΘ majφ hodnotu sloupce shodnou s UUID cφlovΘho serveru neposφlajφ.

_W5_TOKEN

Zvolenφ vlastnosti P°edßvat editaΦnφho peÜka p°idß do tabulky skryt² sloupec _W5_TOKEN. Hodnotu sloupce tvo°φ ΦφtaΦ a t°i p°φznaky:

TOKEN_HAVE (0x8000) mßm peÜka
TOKEN_HOLDED (0x4000) peÜka n∞kdo dr₧φ
TOKEN_REQUESTED (0x2000) po₧ßdal jsem sprßvce o peÜka

Mo₧nΘ stavy p°φznak∙ jsou:

TOKEN_HAVE Mßm peÜka, nedr₧φm ho
TOKEN_HAVE + TOKEN_HOLDED Mßm peÜka, dr₧φm ho
0 Nemßm peÜka
TOKEN_REQUESTED Nemßm peÜka, sprßvce dosud neodpov∞d∞l na ₧ßdost
TOKEN_HOLDED Nemßm peÜka, dr₧φ ho sprßvce
TOKEN_HOLDED + TOKEN_REQUESTED Nemßm peÜka, sprßvce ho takΘ nemß

Implicitnφ hodnota p°i vytvo°enφ novΘho zßznamu je TOKEN_HAVE. Pokud nenφ tento p°φznak nastaven, nelze do zßznamu zapsat ₧ßdnΘ zm∞ny. Po₧ßdat o peÜka znamenß odeslat ₧ßdost o replikaci zßznamu s danou hodnotou _W5_UNIKEY. Server, kter² nenφ sprßvcem peÜk∙, posφlß tuto ₧ßdost sprßvci peÜk∙, sprßvce peÜk∙ posφlß tuto ₧ßdost vÜem ostatnφm server∙m.

_W5_DETECT1

Zvolenφ vlastnosti Detekovat replikaΦnφ konflikty p°idß do tabulky skryt² sloupec _W5_DETECT1. P°i vytvo°enφ novΘho zßznamu se jeho hodnota vynuluje. Pokud zßznam p°ijde od serveru, kter² je otcem pro detekci replikaΦnφch konflikt∙, zapφÜe se do sloupce aktußlnφ hodnota globßlnφho ΦφtaΦe zm∞n (_W5_DETECT1[0] û slou₧φ k detekci, zda v zßznamu doÜlo od poslednφ replikace ke zm∞n∞) a hodnota ΦφtaΦe zm∞n z otcovskΘho serveru (_W5_DETECT1[1] û p°edstavuje Φφslo verze zßznamu podle otcovskΘho serveru). P°i replikaci ven se zapisuje do paketu pro ka₧d² zßznam vedle replikovan²ch atribut∙ takΘ Φφslo verze podle otce, otec zapisuje aktußlnφ hodnotu _W5_ZCR, syn hodnotu _W5_DETECT[1].