def object_delete(self, obj_type, obj_uuid):
    obj_class = self._get_resource_class(obj_type)
    fq_name = self._cassandra_driver.get_one_col(datastore_api.OBJ_UUID_CF_NAME, obj_uuid, 'fq_name')
    bch = self._cassandra_driver.get_cf_batch(datastore_api.OBJ_UUID_CF_NAME)
    col_start = 'parent:'
    col_fin = 'parent;'
    col_name_iter = self._cassandra_driver.xget(datastore_api.OBJ_UUID_CF_NAME, obj_uuid, start=col_start, finish=col_fin)
    for (col_name, col_val) in col_name_iter:
        (_, parent_type, parent_uuid) = col_name.split(':')
        self._delete_child(bch, parent_type, parent_uuid, obj_type, obj_uuid)
    col_start = 'ref:'
    col_fin = 'ref;'
    col_name_iter = self._cassandra_driver.xget(datastore_api.OBJ_UUID_CF_NAME, obj_uuid, start=col_start, finish=col_fin)
    symmetric_ref_updates = []
    for (col_name, col_val) in col_name_iter:
        (_, ref_type, ref_uuid) = col_name.split(':')
        ret = self._delete_ref(bch, obj_type, obj_uuid, ref_type, ref_uuid)
        symmetric_ref_updates.extend(ret)
    col_start = 'relaxbackref:'
    col_fin = 'relaxbackref;'
    col_name_iter = self._cassandra_driver.xget(datastore_api.OBJ_UUID_CF_NAME, obj_uuid, start=col_start, finish=col_fin)
    for (col_name, col_val) in col_name_iter:
        (_, backref_uuid) = col_name.split(':')
        self._delete_ref(bch, None, backref_uuid, obj_type, obj_uuid)
    self._cassandra_driver.remove(obj_uuid, batch=bch)
    try:
        bch.send()
    finally:
        self._obj_cache_mgr.evict(obj_type, [obj_uuid])
    fq_name_str = ':'.join(fq_name)
    fq_name_col = ((utils.encode_string(fq_name_str) + ':') + obj_uuid)
    self._cassandra_driver.remove(cf_name=datastore_api.OBJ_FQ_NAME_CF_NAME, key=obj_type, columns=[fq_name_col])
    self.cache_uuid_to_fq_name_del(obj_uuid)
    return (True, symmetric_ref_updates)
def object_delete(self, obj_type, obj_uuid):
    obj_class = self._get_resource_class(obj_type)
    fq_name = self._cassandra_driver.get_one_col(datastore_api.OBJ_UUID_CF_NAME, obj_uuid, 'fq_name')
    bch = self._cassandra_driver.get_cf_batch(datastore_api.OBJ_UUID_CF_NAME)
    col_start = 'parent:'
    col_fin = 'parent;'
    col_name_iter = self._cassandra_driver.xget(datastore_api.OBJ_UUID_CF_NAME, obj_uuid, start=col_start, finish=col_fin)
    for (col_name, col_val) in col_name_iter:
        (_, parent_type, parent_uuid) = col_name.split(':')
        self._delete_child(bch, parent_type, parent_uuid, obj_type, obj_uuid)
    col_start = 'ref:'
    col_fin = 'ref;'
    col_name_iter = self._cassandra_driver.xget(datastore_api.OBJ_UUID_CF_NAME, obj_uuid, start=col_start, finish=col_fin)
    symmetric_ref_updates = []
    for (col_name, col_val) in col_name_iter:
        (_, ref_type, ref_uuid) = col_name.split(':')
        ret = self._delete_ref(bch, obj_type, obj_uuid, ref_type, ref_uuid)
        symmetric_ref_updates.extend(ret)
    col_start = 'relaxbackref:'
    col_fin = 'relaxbackref;'
    col_name_iter = self._cassandra_driver.xget(datastore_api.OBJ_UUID_CF_NAME, obj_uuid, start=col_start, finish=col_fin)
    for (col_name, col_val) in col_name_iter:
        (_, backref_uuid) = col_name.split(':')
        self._delete_ref(bch, None, backref_uuid, obj_type, obj_uuid)
    self._cassandra_driver.remove(obj_uuid, batch=bch)
    try:
        bch.send()
    finally:
        self._obj_cache_mgr.evict(obj_type, [obj_uuid])
    fq_name_str = ':'.join(fq_name)
    fq_name_col = ((utils.encode_string(fq_name_str) + ':') + obj_uuid)
    self._cassandra_driver.remove(cf_name=datastore_api.OBJ_FQ_NAME_CF_NAME, key=obj_type, columns=[fq_name_col])
    self.cache_uuid_to_fq_name_del(obj_uuid)
    return (True, symmetric_ref_updates)