docs / it.uniroma3.dbtree / DBTree

DBTree

class DBTree<K, V : Serializable, A : Serializable, D> where K : Comparable<K>, K : Serializable (source)

The DBTree class.

Parameters

K - the key for the DB nodes.

V - the values associated with the keys.

A - the partial result of the aggregation function.

D - the definitive result of the aggregation function.

Types

BatchNode

Auxiliary node type, dedicated to the insertBatch algorithm.

inner class BatchNode<K, V : Serializable, A : Serializable, D> where K : Comparable<K>, K : Serializable

Constructors

<init>

The DBTree class.

DBTree(f: Function<V, A, D>, c: Connector<K>)

Functions

authenticatedQuery

Algorithm for performing an authenticated query on a DB-tree T.

fun authenticatedQuery(k: K): Pair<V?, MutableList<LinkedList<String>>>

close

fun close(): Unit

delete

Algorithm for deleting a key k (and the corresponding value) from the DB-tree T, supposing the key is contained in T.

fun delete(k: K): Unit

groupBy

Algorithm for performing a group-by range query on a DB-tree T.

fun groupBy(range: Pair<List<Any>, List<Any>>): List<Pair<List<Any>, D?>>

insert

Algorithm for inserting a new key-value pair into the DB-tree T, supposing the key is not yet contained in T.

fun insert(p: Pair<K, V>): Unit

insertBatch

Algorithm for inserting a batch of new key-value pairs into an empty DB-tree.

fun insertBatch(list: List<Pair<K, V>>): Unit

rangeQuery

Algorithm for performing an aggregate range query on the DB-tree.

fun rangeQuery(range: Pair<K, K>): D?

update

Algorithm for updating a key k in the DB-tree T with a new value v assuming that k is already present in T.

fun update(p: Pair<K, V>): Unit