324 |
324 |
325 def sqlexec(self, session, sql, args=None): |
325 def sqlexec(self, session, sql, args=None): |
326 """execute the query and return its result""" |
326 """execute the query and return its result""" |
327 return self.process_result(self.doexec(session, sql, args)) |
327 return self.process_result(self.doexec(session, sql, args)) |
328 |
328 |
329 def init_creating(self): |
329 def init_creating(self, pool=None): |
330 pool = self.repo._get_pool() |
|
331 pool.pool_set() |
|
332 # check full text index availibility |
330 # check full text index availibility |
333 if self.do_fti: |
331 if self.do_fti: |
334 if not self.dbhelper.has_fti_table(pool['system']): |
332 if pool is None: |
|
333 _pool = self.repo._get_pool() |
|
334 _pool.pool_set() |
|
335 else: |
|
336 _pool = pool |
|
337 if not self.dbhelper.has_fti_table(_pool['system']): |
335 if not self.repo.config.creating: |
338 if not self.repo.config.creating: |
336 self.critical('no text index table') |
339 self.critical('no text index table') |
337 self.do_fti = False |
340 self.do_fti = False |
338 pool.pool_reset() |
341 if pool is None: |
339 self.repo._free_pool(pool) |
342 _pool.pool_reset() |
|
343 self.repo._free_pool(_pool) |
340 |
344 |
341 def backup(self, backupfile, confirm): |
345 def backup(self, backupfile, confirm): |
342 """method called to create a backup of the source's data""" |
346 """method called to create a backup of the source's data""" |
343 self.close_pool_connections() |
347 self.close_pool_connections() |
344 try: |
348 try: |
354 self.restore_from_file(backupfile, confirm, drop=drop) |
358 self.restore_from_file(backupfile, confirm, drop=drop) |
355 finally: |
359 finally: |
356 if self.repo.config.open_connections_pools: |
360 if self.repo.config.open_connections_pools: |
357 self.open_pool_connections() |
361 self.open_pool_connections() |
358 |
362 |
359 def init(self): |
363 def init(self, activated, session=None): |
360 self.init_creating() |
364 self.init_creating(session and session.pool) |
361 |
365 |
362 def shutdown(self): |
366 def shutdown(self): |
363 if self._eid_creation_cnx: |
367 if self._eid_creation_cnx: |
364 self._eid_creation_cnx.close() |
368 self._eid_creation_cnx.close() |
365 self._eid_creation_cnx = None |
369 self._eid_creation_cnx = None |