Tento konkrétní případ použití je uveden v části „Porozumění automatickému potvrzení“:
Plná kontrola nad chováním „autocommit“ je dostupná pomocí generativního
Connection.execution_options()
metoda uvedená vConnection
,Engine
,Executable
, pomocí příznaku „autocommit“, který zapne nebo vypne automatické potvrzení pro vybraný rozsah. Napříkladtext()
konstrukt představující uloženou proceduru, která provádí potvrzení, ji může použít, takže příkaz SELECT vydá COMMIT:engine.execute(text("SELECT my_mutating_procedure()").execution_options(autocommit=True))
Autocommit SQLAlchemy detekuje operace změny dat tak, že porovnává příkaz se vzorem a hledá věci jako UPDATE, DELETE a podobně. Není pro něj možné zjistit, zda uložená funkce/procedura provádí mutace, a proto je poskytována explicitní kontrola nad automatickým potvrzením.
Sekvence se zvýší i při selhání, protože nextval()
a setval()
hovory nejsou nikdy vráceny zpět.