Tampaknya, tugas yang diberikan tidak dapat diselesaikan dalam batasan yang diberikan. Jika saya mengerti dengan benar, jumlah database dan skema baris adalah konstanta.
Jadi, variabel yang tersisa:
- "Injeksi" tambahan ke database
- Trik Sementara
- Trik Pemicu
- "Pengikatan terlambat" dari perubahan, yang direplikasi tidak tepat waktu
Saat ini, saya hanya menemukan satu ide, yang tampaknya berhasil:
- Tambahkan pemicu pada tabel "Garis", untuk mengubah stempel waktu catatan "Pesanan" (waktu_baris terakhir)
- Dalam replika, tunggu sampai Garis dengan waktu, sama dengan last_line_time muncul.
- Jika max(lines.line_time)> order.last_line_time maka pesanan sudah usang
- Jika max(lines.line_time)
- Jika max(lines.line_time) ==order.last_line_time maka semuanya baik-baik saja, untuk saat ini :)
Namun, kasus ini dapat gagal menjadi infinite loop, jika Lines terus dimodifikasi, dan replika tabel Lines selalu tertinggal.