def show(self, req, database_id, schema, body=None): body = body or {} database_id = int(database_id) kwargs = dict(req=req) kwargs.update(body) dbmanager = _impl(database_id) dbresult = dbmanager.show_schema(database_id, schema, **kwargs) return resultutils.results(result='show schema success', data=[ dbresult, ])
def slaves_address(databases): dbmanager = None databases = set(databases) for database_id in databases: _dbmanager = _impl(database_id) if dbmanager is None: dbmanager = _dbmanager continue if dbmanager.__class__ is not _dbmanager.__class__: raise InvalidArgument('Database impl not the same') return dbmanager.slaves_address(databases)
def status(self, req, database_id, body=None): body = body or {} database_id = int(database_id) kwargs = dict(req=req) kwargs.update(body) dbmanager = _impl(database_id) dbresult = dbmanager.status_database(database_id, **kwargs) return resultutils.results(result='status database success', data=[ dbresult, ])
def delete(self, req, database_id, schema, body=None): body = body or {} database_id = int(database_id) kwargs = dict(req=req) kwargs.update(body) dbmanager = _impl(database_id) LOG.info('Try delete schema %s from %d' % (schema, database_id)) dbresult = dbmanager.delete_schema(database_id, schema, **kwargs) return resultutils.results(result='delete schema success', data=[ dbresult, ])
def ready(self, req, database_id, body=None): body = body or {} jsonutils.schema_validate(body, self.SLAVEREADY) database_id = int(database_id) kwargs = dict(req=req) kwargs.update(body) dbmanager = _impl(database_id) dbresult = dbmanager.ready_relation(database_id, **kwargs) return resultutils.results(result='Set relation to ready success', data=[ dbresult, ])
def delete(self, req, database_id, body=None): body = body or {} master = body.pop('master', False) database_id = int(database_id) kwargs = dict(req=req) kwargs.update(body) dbmanager = _impl(database_id) dbresult = dbmanager.delete_database(database_id, master, **kwargs) return resultutils.results(result='delete database success', data=[ dbresult, ])
def slave(self, req, database_id, body=None): """master slave(bond) a slave database""" body = body or {} jsonutils.schema_validate(body, self.BONDSLAVE) database_id = int(database_id) kwargs = dict(req=req) kwargs.update(body) dbmanager = _impl(database_id) dbresult = dbmanager.slave_database(database_id, **kwargs) return resultutils.results(result='master bond slave database success', data=[ dbresult, ])
def unbond(self, req, database_id, body=None): """slave unbond master""" body = body or {} jsonutils.schema_validate(body, self.UNBONDMASTER) database_id = int(database_id) kwargs = dict(req=req) kwargs.update(body) dbmanager = _impl(database_id) dbresult = dbmanager.unbond_database(database_id, **kwargs) return resultutils.results(result='unbond slave database success', data=[ dbresult, ])
def copy(self, req, database_id, schema, body=None): body = body or {} database_id = int(database_id) target_database_id = body.pop('target.database_id') target_schema = body.pop('target.schema') auth = body.pop('auth') kwargs = dict(req=req) kwargs.update(body) dbmanager = _impl(database_id) dbresult = dbmanager.copy_schema(database_id, schema, target_database_id, target_schema, auth, **kwargs) return resultutils.results(result='copy schema from %d.%s success' % (database_id, schema), data=[ dbresult, ])
def create(self, req, database_id, body=None): """create schema in database with database_id """ body = body or {} database_id = int(database_id) jsonutils.schema_validate(body, self.CREATESCHEMA) auth = body.pop('auth', None) options = body.pop('options', None) schema = body.pop('schema', None) self._validate_schema(schema) kwargs = dict(req=req) kwargs.update(body) dbmanager = _impl(database_id) dbresult = dbmanager.create_schema(database_id, schema, auth, options, **kwargs) return resultutils.results(result='create empty schema success', data=[ dbresult, ])