def __add_transaction_support(self):
"Add attributes so database can support transactions."
self.__lock = _thread.allocate_lock()
self.__extend_data()
self.__locked = _View(None, lambda _: self.__data \
.select('name', (lambda lock: lock.locked, 'lock')) \
.as_(('<lambda>(lock)', 'locked')))
self.__view = _View(None, lambda _: self._Database__view.value \
.left_join(self.__locked.value, 'Lock', ROW.name == ROW.Lock.name) \
.select('name', 'type', 'size', 'Lock.locked'), \
('Lock.locked', 'locked'))
评论列表
文章目录