ऐसा लगता है, दिए गए कार्य को दी गई बाधाओं में हल नहीं किया जा सकता है। अगर मैं सही ढंग से समझूं, तो डेटाबेस की संख्या और पंक्ति की स्कीमा स्थिरांक हैं।
तो, जो वेरिएबल बचे हैं:
- डेटाबेस में अतिरिक्त "इंजेक्शन"
- अस्थायी ट्रिक्स
- ट्रिगर ट्रिक्स
- परिवर्तनों का "देर से बाध्यकारी", जो समय पर दोहराया नहीं गया
वर्तमान में, मुझे केवल एक ही विचार मिला है, जो काम करता प्रतीत होता है:
- "लाइन्स" टेबल पर एक ट्रिगर जोड़ें, "ऑर्डर" रिकॉर्ड टाइम-स्टैम्प (last_line_time) को संशोधित करने के लिए
- प्रतिकृति में, समय के साथ एक लाइन तक प्रतीक्षा करें, जो last_line_time के प्रदर्शित होने के बराबर है।
- यदि max(lines.line_time)> order.last_line_time से ऑर्डर अप्रचलित है
- यदि max(lines.line_time)
- अगर मैक्स (लाइन्स.लाइन_टाइम) ==ऑर्डर। लास्ट_लाइन_टाइम सब कुछ ठीक है, तो अभी के लिए :)
लेकिन, यह मामला अनंत लूप में विफल हो सकता है, यदि लाइन्स को लगातार संशोधित किया जाता है, और लाइन्स टेबल प्रतिकृति हमेशा पीछे रहती है।