BTreeIndex

Class: BTreeIndex<TKey>

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

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

Extends

Type Parameters

TKey

TKey extends string | number = string | number

Constructors

Constructor

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:50

Parameters

id

number

expression

BasicExpression

name?

string

options?

any

Returns

BTreeIndex<TKey>

Overrides

BaseIndex.constructor

Properties

compareOptions

ts
protected compareOptions: CompareOptions;
protected compareOptions: CompareOptions;

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

Inherited from

BaseIndex.compareOptions


expression

ts
readonly expression: BasicExpression;
readonly expression: BasicExpression;

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

Inherited from

BaseIndex.expression


id

ts
readonly id: number;
readonly id: number;

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

Inherited from

BaseIndex.id


lastUpdated

ts
protected lastUpdated: Date;
protected lastUpdated: Date;

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

Inherited from

BaseIndex.lastUpdated


lookupCount

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

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

Inherited from

BaseIndex.lookupCount


name?

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

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

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:33

Overrides

BaseIndex.supportedOperations


totalLookupTime

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

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

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:333

Returns

Set<TKey>

Overrides

BaseIndex.indexedKeysSet


keyCount

Get Signature

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

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

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:337

Returns

[any, Set<TKey>][]

Overrides

BaseIndex.orderedEntriesArray


orderedEntriesArrayReversed

Get Signature

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

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

Returns

[any, Set<TKey>][]

Overrides

BaseIndex.orderedEntriesArrayReversed


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:350

Returns

Map<any, Set<TKey>>

Overrides

BaseIndex.valueMapData

Methods

add()

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

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

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:143

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:154

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:208

Performs an equality lookup

Parameters

value

any

Returns

Set<TKey>

Overrides

BaseIndex.equalityLookup


evaluateIndexExpression()

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

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

Parameters

item

any

Returns

any

Inherited from

BaseIndex.evaluateIndexExpression


getStats()

ts
getStats(): IndexStats;
getStats(): IndexStats;

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

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:318

Performs an IN array lookup

Parameters

values

any[]

Returns

Set<TKey>

Overrides

BaseIndex.inArrayLookup


initialize()

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

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

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:164

Performs a lookup operation

Parameters

operation

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

value

any

Returns

Set<TKey>

Overrides

BaseIndex.lookup


matchesCompareOptions()

ts
matchesCompareOptions(compareOptions): boolean;
matchesCompareOptions(compareOptions): boolean;

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

Checks if the compare options match the index's compare options. The direction is ignored because the index can be reversed if the direction is different.

Parameters

compareOptions

CompareOptions

Returns

boolean

Inherited from

BaseIndex.matchesCompareOptions


matchesDirection()

ts
matchesDirection(direction): boolean;
matchesDirection(direction): boolean;

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

Checks if the index matches the provided direction.

Parameters

direction

OrderByDirection

Returns

boolean

Inherited from

BaseIndex.matchesDirection


matchesField()

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

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

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:217

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>

Overrides

BaseIndex.rangeQuery


rangeQueryReversed()

ts
rangeQueryReversed(options): Set<TKey>;
rangeQueryReversed(options): Set<TKey>;

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

Performs a reversed range query

Parameters

options

RangeQueryOptions = {}

Returns

Set<TKey>

Overrides

BaseIndex.rangeQueryReversed


remove()

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

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

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:130

Parameters

operation

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

Returns

boolean

Inherited from

BaseIndex.supports


take()

ts
take(
   n, 
   from?, 
   filterFn?): TKey[];
take(
   n, 
   from?, 
   filterFn?): TKey[];

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

Returns the next n items after the provided item or the first n items if no from item is provided.

Parameters

n

number

The number of items to return

from?

any

The item to start from (exclusive). Starts from the smallest item (inclusive) if not provided.

filterFn?

(key) => boolean

Returns

TKey[]

The next n items after the provided key. Returns the first n items if no from item is provided.

Overrides

BaseIndex.take


takeReversed()

ts
takeReversed(
   n, 
   from?, 
   filterFn?): TKey[];
takeReversed(
   n, 
   from?, 
   filterFn?): TKey[];

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

Returns the next n items before the provided item (in descending order) or the last n items if no from item is provided.

Parameters

n

number

The number of items to return

from?

any

The item to start from (exclusive). Starts from the largest item (inclusive) if not provided.

filterFn?

(key) => boolean

Returns

TKey[]

The next n items before the provided key. Returns the last n items if no from item is provided.

Overrides

BaseIndex.takeReversed


trackLookup()

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

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

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:135

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:193

Returns

void

Inherited from

BaseIndex.updateTimestamp

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.