Parece que esa tarea dada no se puede resolver con las restricciones dadas. Si lo entendí correctamente, la cantidad de bases de datos y el esquema de fila son constantes.
Entonces, variables que quedaron:
- "Inyecciones" adicionales a la base de datos
- Trucos temporales
- Trucos de disparadores
- "Enlace tardío" de cambios, que no se replicaron a tiempo
Actualmente, solo he encontrado una idea que parece funcionar:
- Agregue un disparador en la tabla "Líneas", para modificar la marca de tiempo del registro "Pedido" (last_line_time)
- En la réplica, espere hasta que aparezca una línea con tiempo igual a last_line_time.
- Si max(lines.line_time)> order.last_line_time entonces el pedido está obsoleto
- Si max(lines.line_time)
- Si max(lines.line_time) ==order.last_line_time entonces todo está bien, por ahora :)
Pero, este caso puede fallar en un bucle infinito, si las líneas se modifican constantemente y la réplica de la tabla de líneas siempre se queda atrás.