server/sources/native.py
changeset 4204 60256056bda6
parent 4181 c79135c217df
parent 4198 8d644eb862b9
child 4252 6c4f109c2b03
equal deleted inserted replaced
4192:8e2eaa6b3733 4204:60256056bda6
   213         try:
   213         try:
   214             self.backup_to_file(backupfile)
   214             self.backup_to_file(backupfile)
   215         finally:
   215         finally:
   216             self.open_pool_connections()
   216             self.open_pool_connections()
   217 
   217 
   218     def restore(self, backupfile, drop):
   218     def restore(self, backupfile, confirm, drop):
   219         """method called to restore a backup of source's data"""
   219         """method called to restore a backup of source's data"""
   220         if self.repo.config.open_connections_pools:
   220         if self.repo.config.open_connections_pools:
   221             self.close_pool_connections()
   221             self.close_pool_connections()
   222         try:
   222         try:
   223             self.restore_from_file(backupfile, drop)
   223             self.restore_from_file(backupfile, confirm, drop=drop)
   224         finally:
   224         finally:
   225             if self.repo.config.open_connections_pools:
   225             if self.repo.config.open_connections_pools:
   226                 self.open_pool_connections()
   226                 self.open_pool_connections()
   227 
   227 
   228     def init(self):
   228     def init(self):
   577         return modentities, delentities
   577         return modentities, delentities
   578 
   578 
   579 
   579 
   580 def sql_schema(driver):
   580 def sql_schema(driver):
   581     helper = get_adv_func_helper(driver)
   581     helper = get_adv_func_helper(driver)
   582     tstamp_col_type = helper.TYPE_MAPPING.get('TIMESTAMP', 'TIMESTAMP')
   582     tstamp_col_type = helper.TYPE_MAPPING['Datetime']
   583     schema = """
   583     schema = """
   584 /* Create the repository's system database */
   584 /* Create the repository's system database */
   585 
   585 
   586 %s
   586 %s
   587 
   587 
   666                 pwd = rset[0][0]
   666                 pwd = rset[0][0]
   667             except IndexError:
   667             except IndexError:
   668                 raise AuthenticationError('bad login')
   668                 raise AuthenticationError('bad login')
   669             # passwords are stored using the Bytes type, so we get a StringIO
   669             # passwords are stored using the Bytes type, so we get a StringIO
   670             if pwd is not None:
   670             if pwd is not None:
   671                 args['pwd'] = crypt_password(password, pwd.getvalue()[:2])
   671                 args['pwd'] = Binary(crypt_password(password, pwd.getvalue()[:2]))
   672         # get eid from login and (crypted) password
   672         # get eid from login and (crypted) password
   673         rset = self.source.syntax_tree_search(session, self._auth_rqlst, args)
   673         rset = self.source.syntax_tree_search(session, self._auth_rqlst, args)
   674         try:
   674         try:
   675             return rset[0][0]
   675             return rset[0][0]
   676         except IndexError:
   676         except IndexError: