Det ser ud til, at en given opgave ikke kan løses i givne begrænsninger. Hvis jeg har forstået det rigtigt, er antallet af databaser og rækkens skema konstanter.
Så variabler, der forlod:
- Yderligere "injektioner" til databasen
- Tidlige tricks
- Udløser tricks
- "Sen binding" af ændringer, der blev replikeret ikke i tide
I øjeblikket har jeg kun fundet én idé, som ser ud til at virke:
- Tilføj en trigger på "Lines"-tabellen for at ændre "Order"-tidsstempel (last_line_time)
- I replika skal du vente, indtil en linje med tid, svarende til last_line_time, vises.
- Hvis max(lines.line_time)> order.last_line_time end ordren er forældet
- Hvis max(lines.line_time)
- Hvis max(lines.line_time) ==order.last_line_time end alt er OK, indtil videre :)
Men denne sag kan mislykkes i uendelig løkke, hvis linjer konstant ændres, og linjers tabel replika altid halter bagud.