Source code for relstorage.adapters.sqlite.txncontrol

# -*- coding: utf-8 -*-
##############################################################################
#
# Copyright (c) 2019 Zope Foundation and Contributors.
# All Rights Reserved.
#
# This software is subject to the provisions of the Zope Public License,
# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
# FOR A PARTICULAR PURPOSE.
#
##############################################################################

from __future__ import absolute_import
from __future__ import division
from __future__ import print_function

from ..txncontrol import GenericTransactionControl


[docs] class Sqlite3TransactionControl(GenericTransactionControl): def commit_phase2(self, store_connection, txn, load_connection): # When committing, terminate the load connection's transaction now. # This allows any actions taken on commit, such as SQLite's auto-checkpoint, # to see a state where this reader is not holding open old MVCC resources. # See https://github.com/zodb/relstorage/issues/401 load_connection.rollback_quietly() GenericTransactionControl.commit_phase2(self, store_connection, txn, load_connection)