system.interfaces.DBMS module

Abstract interface for a DBMS.

class system.interfaces.DBMS.DBMS(QEP_queryable_indexed_ACID_store: QEPQueryableIndexedACIDStore, persistence_layer: KeyValueStore, query_optimizer: QueryOptimizer)[source]

Bases: IndexedACIDStore, QueryableComponent, ABC

DataBase Management System interface (DBMS)

A DBMS is a decorator for an indexed ACID store that adds query processing capabilities (cf. decorator design pattern).

A DBMS may use a persistence layer different from the one used in the QEP_queryable_indexed_ACID_store. This may be useful for persisting data temporarily outside MVCC, e.g. for query processing to store temporary data/intermediate results.

create_index(index_name: str, attribute: str, operator: str) → None[source]

See IndexedACIDStore.create_index().

Delegates to the wrapped QEP-queryable indexed ACID store.

drop_index(index_name: str) → None[source]

See IndexedACIDStore.drop_index().

Delegates to the wrapped QEP-queryable indexed ACID store.

get_suitable_indexes(attribute: str, operator: str) → Iterator[IndexProperties][source]

See IndexedACIDStore.get_suitable_indexes().

Delegates to the wrapped QEP-queryable indexed ACID store.