server/sources/native.py
changeset 2759 23d7a75693f8
parent 2638 cda0be2e2c3f
child 2955 6bb5025c9fc7
child 2959 daabb9bc5233
equal deleted inserted replaced
2758:8a54f91a43e1 2759:23d7a75693f8
    23 
    23 
    24 from indexer import get_indexer
    24 from indexer import get_indexer
    25 
    25 
    26 from cubicweb import UnknownEid, AuthenticationError, Binary, server
    26 from cubicweb import UnknownEid, AuthenticationError, Binary, server
    27 from cubicweb.server.utils import crypt_password
    27 from cubicweb.server.utils import crypt_password
    28 from cubicweb.server.sqlutils import (SQL_PREFIX, SQLAdapterMixIn,
    28 from cubicweb.server.sqlutils import SQL_PREFIX, SQLAdapterMixIn
    29                                       sql_source_backup, sql_source_restore)
       
    30 from cubicweb.server.rqlannotation import set_qdata
    29 from cubicweb.server.rqlannotation import set_qdata
    31 from cubicweb.server.sources import AbstractSource, dbg_st_search, dbg_results
    30 from cubicweb.server.sources import AbstractSource, dbg_st_search, dbg_results
    32 from cubicweb.server.sources.rql2sql import SQLGenerator
    31 from cubicweb.server.sources.rql2sql import SQLGenerator
    33 
    32 
    34 
    33 
   205             self.error('no text index table')
   204             self.error('no text index table')
   206             self.indexer = None
   205             self.indexer = None
   207         pool.pool_reset()
   206         pool.pool_reset()
   208         self.repo._free_pool(pool)
   207         self.repo._free_pool(pool)
   209 
   208 
   210     def backup(self, confirm, backupfile=None, timestamp=None,
   209     def backup(self, backupfile):
   211                askconfirm=False):
   210         """method called to create a backup of the source's data"""
   212         """method called to create a backup of source's data"""
   211         self.close_pool_connections()
   213         backupfile = self.backup_file(backupfile, timestamp)
   212         try:
   214         sql_source_backup(self, self, confirm, backupfile, askconfirm)
   213             self.backup_to_file(backupfile)
   215 
   214         finally:
   216     def restore(self, confirm, backupfile=None, timestamp=None, drop=True,
   215             self.open_pool_connections()
   217                askconfirm=False):
   216 
       
   217     def restore(self, backupfile, drop):
   218         """method called to restore a backup of source's data"""
   218         """method called to restore a backup of source's data"""
   219         backupfile = self.backup_file(backupfile, timestamp)
   219         self.close_pool_connections()
   220         sql_source_restore(self, self, confirm, backupfile, drop, askconfirm)
   220         try:
       
   221             self.restore_from_file(backupfile, drop)
       
   222         finally:
       
   223             self.open_pool_connections()
   221 
   224 
   222     def init(self):
   225     def init(self):
   223         self.init_creating()
   226         self.init_creating()
   224         pool = self.repo._get_pool()
   227         pool = self.repo._get_pool()
   225         pool.pool_set()
   228         pool.pool_set()