Изглежда, че дадена задача не може да бъде решена при дадени ограничения. Ако съм разбрал правилно, броят на базите данни и схемата на реда са константи.
И така, напусналите променливи:
- Допълнителни „инжекции“ към базата данни
- Временни трикове
- Трикове за задействане
- „Късно обвързване“ на промените, които не са репликирани навреме
В момента намерих само една идея, която изглежда работи:
- Добавете тригер към таблицата „Редове“, за да промените клеймото за време на запис на „Поръчка“ (last_line_time)
- В репликата изчакайте, докато се появи ред с време, равно на last_line_time.
- Ако max(lines.line_time)> order.last_line_time тогава поръчката е остаряла
- Ако max(lines.line_time)
- Ако max(lines.line_time) ==order.last_line_time тогава всичко е наред засега :)
Но този случай може да се провали в безкраен цикъл, ако редовете се променят постоянно и репликата на таблицата на редовете винаги изостава.