Sembra che un determinato compito non possa essere risolto con determinati vincoli. Se ho capito bene, il numero di database e lo schema di riga sono costanti.
Quindi, variabili che sono rimaste:
- Ulteriori "iniezioni" al database
- Trucchi temporali
- Trigger Trigger
- "Legatura tardiva" delle modifiche, replicate non in tempo
Al momento, ho trovato solo un'idea, che sembra funzionare:
- Aggiungi un trigger nella tabella "Righe", per modificare il timestamp del record "Ordine" (last_line_time)
- Nella replica, attendi che venga visualizzata una riga con tempo, uguale a last_line_time.
- Se max(lines.line_time)> order.last_line_time di order è obsoleto
- Se max(lines.line_time)
- Se max(lines.line_time) ==order.last_line_time allora va tutto bene, per ora :)
Ma questo caso può fallire in un ciclo infinito, se le linee vengono costantemente modificate e la replica della tabella delle linee è sempre in ritardo.