equal
deleted
inserted
replaced
172 """ |
172 """ |
173 # pool may be none if no operation has been done since last commit |
173 # pool may be none if no operation has been done since last commit |
174 # or rollback |
174 # or rollback |
175 if self.pool is not None and self.mode == 'read': |
175 if self.pool is not None and self.mode == 'read': |
176 # even in read mode, we must release the current transaction |
176 # even in read mode, we must release the current transaction |
|
177 pool = self.pool |
177 self._threads_in_transaction.remove(threading.currentThread()) |
178 self._threads_in_transaction.remove(threading.currentThread()) |
178 self.pool.pool_reset(self) |
179 pool.pool_reset(self) |
179 self._threaddata.pool = None |
180 self._threaddata.pool = None |
180 # free pool once everything is done to avoid race-condition |
181 # free pool once everything is done to avoid race-condition |
181 self.repo._free_pool(self.pool) |
182 self.repo._free_pool(pool) |
182 |
183 |
183 def system_sql(self, sql, args=None): |
184 def system_sql(self, sql, args=None): |
184 """return a sql cursor on the system database""" |
185 """return a sql cursor on the system database""" |
185 if not sql.split(None, 1)[0].upper() == 'SELECT': |
186 if not sql.split(None, 1)[0].upper() == 'SELECT': |
186 self.mode = 'write' |
187 self.mode = 'write' |