def delete_item(namespace, item_def): """ Delete item from namespace """ db, namespace_name = namespace log_operation.info(f"Delete item: {item_def} from namespace {namespace_name}") db.item_delete(namespace_name, item_def)
def update_item(namespace, item_def): """ Update item to namespace """ db, namespace_name = namespace log_operation.info(f"Update item: {item_def} to namespace {namespace_name}") db.item_upsert(namespace_name, item_def)
def insert_item(namespace, item_def): """ Insert item to namespace """ db, namespace_name = namespace log_operation.info(f"Insert item: {item_def} to namespace {namespace_name}") db.item_insert(namespace_name, item_def)
def drop_namespace(database, namespace_name): """ Drop a namespace """ db, db_name = database log_operation.info(f"Drop a namespace with name '{namespace_name}' on database '{db_name}'") db.namespace_drop(namespace_name)
def create_index(namespace, index_def): """ Create an index """ db, namespace_name = namespace log_operation.info( f"Create an index to namespace '{namespace_name}', index={index_def}") db.index_add(namespace_name, index_def)
def get_namespace_list(database): """ Get list of namespaces in database """ log_operation.info("Get list of namespaces in database") db, db_name = database namespace_list = db.namespaces_enum() return namespace_list
def drop_index(namespace, index_name): """ Drop index from namespace """ db, namespace_name = namespace log_operation.info( f"Drop index from namespace '{namespace_name}', index name = '{index_name}'" ) db.index_drop(namespace_name, index_name)
def update_index(namespace, index_def): """ Update an index """ db, namespace_name = namespace log_operation.info( f"Update an index to namespace '{namespace_name}', new index={index_def}" ) db.index_update(namespace_name, index_def)
def get_ns_description(database, namespace): """ Get information about namespace in database """ db, namespace_name = namespace namespace_list = get_namespace_list(database) log_operation.info(f"Get information about namespace {namespace_name} in database") ns_entry = list(filter(lambda ns: ns['name'] == namespace_name, namespace_list)) return ns_entry
def create_namespace(database, namespace_name): """ Create a namespace """ db, db_name = database log_operation.info(f"Create a namespace with name '{namespace_name}' on database '{db_name}'") try: db.namespace_open(namespace_name) except Exception as e: logging.error(e)
def sql_query(namespace, query): db, namespace_name = namespace item_list = list(db.select(query)) log_operation.info(f"Execute SQL query: {query}, got result: {item_list}") return item_list
def put_metadata(namespace, key, value): db, namespace_name = namespace log_operation.info( f"Put metadata '{key}: {value}' to namespace '{namespace_name}'") db.meta_put(namespace_name, key, value) return key, value
def get_metadata_by_key(namespace, key): db, namespace_name = namespace value = db.meta_get(namespace_name, key) log_operation.info(f"Get metadata value by key: '{key}: {value}'") return value
def get_metadata_keys(namespace): db, namespace_name = namespace log_operation.info("Get list of metadata keys") meta_list = db.meta_enum(namespace_name) return meta_list