BTreeIndex

Class: BTreeIndex<TKey>

Defined in: packages/db/src/indexes/btree-index.ts:28

B+Tree index for sorted data with range queries This maintains items in sorted order and provides efficient range operations

Extends

Type Parameters

• TKey extends string | number = string | number

Constructors

new BTreeIndex()

ts
new BTreeIndex<TKey>(
   id, 
   expression, 
   name?, 
options?): BTreeIndex<TKey>
new BTreeIndex<TKey>(
   id, 
   expression, 
   name?, 
options?): BTreeIndex<TKey>

Defined in: packages/db/src/indexes/btree-index.ts:48

Parameters

id

number

expression

BasicExpression

name?

string

options?

any

Returns

BTreeIndex<TKey>

Overrides

BaseIndex.constructor

Properties

expression

ts
readonly expression: BasicExpression;
readonly expression: BasicExpression;

Defined in: packages/db/src/indexes/base-index.ts:33

Inherited from

BaseIndex.expression


id

ts
readonly id: number;
readonly id: number;

Defined in: packages/db/src/indexes/base-index.ts:31

Inherited from

BaseIndex.id


lastUpdated

ts
protected lastUpdated: Date;
protected lastUpdated: Date;

Defined in: packages/db/src/indexes/base-index.ts:38

Inherited from

BaseIndex.lastUpdated


lookupCount

ts
protected lookupCount: number = 0;
protected lookupCount: number = 0;

Defined in: packages/db/src/indexes/base-index.ts:36

Inherited from

BaseIndex.lookupCount


name?

ts
readonly optional name: string;
readonly optional name: string;

Defined in: packages/db/src/indexes/base-index.ts:32

Inherited from

BaseIndex.name


supportedOperations

ts
readonly supportedOperations: Set<"eq" | "gt" | "gte" | "lt" | "lte" | "in" | "like" | "ilike">;
readonly supportedOperations: Set<"eq" | "gt" | "gte" | "lt" | "lte" | "in" | "like" | "ilike">;

Defined in: packages/db/src/indexes/btree-index.ts:31

Overrides

BaseIndex.supportedOperations


totalLookupTime

ts
protected totalLookupTime: number = 0;
protected totalLookupTime: number = 0;

Defined in: packages/db/src/indexes/base-index.ts:37

Inherited from

BaseIndex.totalLookupTime

Accessors

indexedKeysSet

Get Signature

ts
get indexedKeysSet(): Set<TKey>
get indexedKeysSet(): Set<TKey>

Defined in: packages/db/src/indexes/btree-index.ts:250

Returns

Set<TKey>


keyCount

Get Signature

ts
get keyCount(): number
get keyCount(): number

Defined in: packages/db/src/indexes/btree-index.ts:188

Gets the number of indexed keys

Returns

number

Overrides

BaseIndex.keyCount


orderedEntriesArray

Get Signature

ts
get orderedEntriesArray(): [any, Set<TKey>][]
get orderedEntriesArray(): [any, Set<TKey>][]

Defined in: packages/db/src/indexes/btree-index.ts:254

Returns

[any, Set<TKey>][]


valueMapData

Get Signature

ts
get valueMapData(): Map<any, Set<TKey>>
get valueMapData(): Map<any, Set<TKey>>

Defined in: packages/db/src/indexes/btree-index.ts:260

Returns

Map<any, Set<TKey>>

Methods

add()

ts
add(key, item): void
add(key, item): void

Defined in: packages/db/src/indexes/btree-index.ts:64

Adds a value to the index

Parameters

key

TKey

item

any

Returns

void

Overrides

BaseIndex.add


build()

ts
build(entries): void
build(entries): void

Defined in: packages/db/src/indexes/btree-index.ts:132

Builds the index from a collection of entries

Parameters

entries

Iterable<[TKey, any]>

Returns

void

Overrides

BaseIndex.build


clear()

ts
clear(): void
clear(): void

Defined in: packages/db/src/indexes/btree-index.ts:143

Clears all data from the index

Returns

void

Overrides

BaseIndex.clear


equalityLookup()

ts
equalityLookup(value): Set<TKey>
equalityLookup(value): Set<TKey>

Defined in: packages/db/src/indexes/btree-index.ts:197

Performs an equality lookup

Parameters

value

any

Returns

Set<TKey>


evaluateIndexExpression()

ts
protected evaluateIndexExpression(item): any
protected evaluateIndexExpression(item): any

Defined in: packages/db/src/indexes/base-index.ts:87

Parameters

item

any

Returns

any

Inherited from

BaseIndex.evaluateIndexExpression


getStats()

ts
getStats(): IndexStats
getStats(): IndexStats

Defined in: packages/db/src/indexes/base-index.ts:74

Returns

IndexStats

Inherited from

BaseIndex.getStats


inArrayLookup()

ts
inArrayLookup(values): Set<TKey>
inArrayLookup(values): Set<TKey>

Defined in: packages/db/src/indexes/btree-index.ts:236

Performs an IN array lookup

Parameters

values

any[]

Returns

Set<TKey>


initialize()

ts
protected initialize(_options?): void
protected initialize(_options?): void

Defined in: packages/db/src/indexes/btree-index.ts:59

Parameters

_options?

BTreeIndexOptions

Returns

void

Overrides

BaseIndex.initialize


lookup()

ts
lookup(operation, value): Set<TKey>
lookup(operation, value): Set<TKey>

Defined in: packages/db/src/indexes/btree-index.ts:153

Performs a lookup operation

Parameters

operation

"eq" | "gt" | "gte" | "lt" | "lte" | "in" | "like" | "ilike"

value

any

Returns

Set<TKey>

Overrides

BaseIndex.lookup


matchesField()

ts
matchesField(fieldPath): boolean
matchesField(fieldPath): boolean

Defined in: packages/db/src/indexes/base-index.ts:66

Parameters

fieldPath

string[]

Returns

boolean

Inherited from

BaseIndex.matchesField


rangeQuery()

ts
rangeQuery(options): Set<TKey>
rangeQuery(options): Set<TKey>

Defined in: packages/db/src/indexes/btree-index.ts:205

Performs a range query with options This is more efficient for compound queries like "WHERE a > 5 AND a < 10"

Parameters

options

RangeQueryOptions = {}

Returns

Set<TKey>


remove()

ts
remove(key, item): void
remove(key, item): void

Defined in: packages/db/src/indexes/btree-index.ts:92

Removes a value from the index

Parameters

key

TKey

item

any

Returns

void

Overrides

BaseIndex.remove


supports()

ts
supports(operation): boolean
supports(operation): boolean

Defined in: packages/db/src/indexes/base-index.ts:62

Parameters

operation

"eq" | "gt" | "gte" | "lt" | "lte" | "in" | "like" | "ilike"

Returns

boolean

Inherited from

BaseIndex.supports


trackLookup()

ts
protected trackLookup(startTime): void
protected trackLookup(startTime): void

Defined in: packages/db/src/indexes/base-index.ts:92

Parameters

startTime

number

Returns

void

Inherited from

BaseIndex.trackLookup


update()

ts
update(
   key, 
   oldItem, 
   newItem): void
update(
   key, 
   oldItem, 
   newItem): void

Defined in: packages/db/src/indexes/btree-index.ts:124

Updates a value in the index

Parameters

key

TKey

oldItem

any

newItem

any

Returns

void

Overrides

BaseIndex.update


updateTimestamp()

ts
protected updateTimestamp(): void
protected updateTimestamp(): void

Defined in: packages/db/src/indexes/base-index.ts:98

Returns

void

Inherited from

BaseIndex.updateTimestamp