इस विशेष उपयोग के मामले को "ऑटोकॉमिट को समझना" में अलग किया गया है:
<ब्लॉकक्वॉट>
जनरेटिव Connection.execution_options()
का उपयोग करके "autocommit" व्यवहार का पूर्ण नियंत्रण उपलब्ध है Connection
पर उपलब्ध कराई गई विधि , Engine
, Executable
, "ऑटोकॉमिट" ध्वज का उपयोग करते हुए, जो चयनित दायरे के लिए ऑटोकॉमिट को चालू या बंद कर देगा। उदाहरण के लिए, एक text()
एक संग्रहित प्रक्रिया का प्रतिनिधित्व करने वाला निर्माण जो कमिट करता है उसका उपयोग कर सकता है ताकि एक SELECT स्टेटमेंट एक COMMIT जारी करे:
engine.execute(text("SELECT my_mutating_procedure()").execution_options(autocommit=True))
जिस तरह से SQLAlchemy ऑटोकॉमिट डेटा बदलने के संचालन का पता लगाता है, वह एक पैटर्न के खिलाफ बयान से मेल खाता है, UPDATE, DELETE, और इसी तरह की चीजों की तलाश में है। इसके लिए यह पता लगाना असंभव है कि कोई संग्रहीत कार्य/प्रक्रिया उत्परिवर्तन करती है या नहीं, और ऑटोोकॉमिट पर इतना स्पष्ट नियंत्रण प्रदान किया जाता है।
असफलता पर भी क्रम बढ़ा दिया जाता है क्योंकि nextval()
और setval()
कॉल कभी वापस नहीं ली जाती हैं।