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

Our Partners
Electric
Subscribe to Bytes

Your weekly dose of JavaScript news. Delivered every Monday to over 100,000 devs, for free.

Bytes

No spam. Unsubscribe at any time.

Subscribe to Bytes

Your weekly dose of JavaScript news. Delivered every Monday to over 100,000 devs, for free.

Bytes

No spam. Unsubscribe at any time.