Defined in: packages/db/src/indexes/btree-index.ts:35
B+Tree index for sorted data with range queries This maintains items in sorted order and provides efficient range operations
TKey extends string | number | undefined = string | number | undefined
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:55
number
string
any
BTreeIndex<TKey>
protected compareOptions: CompareOptions;
protected compareOptions: CompareOptions;
Defined in: packages/db/src/indexes/base-index.ts:92
readonly expression: BasicExpression;
readonly expression: BasicExpression;
Defined in: packages/db/src/indexes/base-index.ts:86
readonly id: number;
readonly id: number;
Defined in: packages/db/src/indexes/base-index.ts:84
protected lastUpdated: Date;
protected lastUpdated: Date;
Defined in: packages/db/src/indexes/base-index.ts:91
protected lookupCount: number = 0;
protected lookupCount: number = 0;
Defined in: packages/db/src/indexes/base-index.ts:89
readonly optional name: string;
readonly optional name: string;
Defined in: packages/db/src/indexes/base-index.ts:85
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:38
protected totalLookupTime: number = 0;
protected totalLookupTime: number = 0;
Defined in: packages/db/src/indexes/base-index.ts:90
get indexedKeysSet(): Set<TKey>;
get indexedKeysSet(): Set<TKey>;
Defined in: packages/db/src/indexes/btree-index.ts:400
Set<TKey>
get keyCount(): number;
get keyCount(): number;
Defined in: packages/db/src/indexes/btree-index.ts:213
Gets the number of indexed keys
number
get orderedEntriesArray(): [any, Set<TKey>][];
get orderedEntriesArray(): [any, Set<TKey>][];
Defined in: packages/db/src/indexes/btree-index.ts:404
[any, Set<TKey>][]
get orderedEntriesArrayReversed(): [any, Set<TKey>][];
get orderedEntriesArrayReversed(): [any, Set<TKey>][];
Defined in: packages/db/src/indexes/btree-index.ts:413
[any, Set<TKey>][]
BaseIndex.orderedEntriesArrayReversed
get valueMapData(): Map<any, Set<TKey>>;
get valueMapData(): Map<any, Set<TKey>>;
Defined in: packages/db/src/indexes/btree-index.ts:420
Map<any, Set<TKey>>
add(key, item): void;
add(key, item): void;
Defined in: packages/db/src/indexes/btree-index.ts:83
Adds a value to the index
TKey
any
void
build(entries): void;
build(entries): void;
Defined in: packages/db/src/indexes/btree-index.ts:157
Builds the index from a collection of entries
Iterable<[TKey, any]>
void
clear(): void;
clear(): void;
Defined in: packages/db/src/indexes/btree-index.ts:168
Clears all data from the index
void
equalityLookup(value): Set<TKey>;
equalityLookup(value): Set<TKey>;
Defined in: packages/db/src/indexes/btree-index.ts:222
Performs an equality lookup
any
Set<TKey>
protected evaluateIndexExpression(item): any;
protected evaluateIndexExpression(item): any;
Defined in: packages/db/src/indexes/base-index.ts:195
any
any
BaseIndex.evaluateIndexExpression
getStats(): IndexStats;
getStats(): IndexStats;
Defined in: packages/db/src/indexes/base-index.ts:182
inArrayLookup(values): Set<TKey>;
inArrayLookup(values): Set<TKey>;
Defined in: packages/db/src/indexes/btree-index.ts:385
Performs an IN array lookup
any[]
Set<TKey>
protected initialize(_options?): void;
protected initialize(_options?): void;
Defined in: packages/db/src/indexes/btree-index.ts:78
void
lookup(operation, value): Set<TKey>;
lookup(operation, value): Set<TKey>;
Defined in: packages/db/src/indexes/btree-index.ts:178
Performs a lookup operation
"eq" | "gt" | "gte" | "lt" | "lte" | "in" | "like" | "ilike"
any
Set<TKey>
matchesCompareOptions(compareOptions): boolean;
matchesCompareOptions(compareOptions): boolean;
Defined in: packages/db/src/indexes/base-index.ts:159
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.
CompareOptions
boolean
BaseIndex.matchesCompareOptions
matchesDirection(direction): boolean;
matchesDirection(direction): boolean;
Defined in: packages/db/src/indexes/base-index.ts:178
Checks if the index matches the provided direction.
boolean
matchesField(fieldPath): boolean;
matchesField(fieldPath): boolean;
Defined in: packages/db/src/indexes/base-index.ts:147
string[]
boolean
rangeQuery(options): Set<TKey>;
rangeQuery(options): Set<TKey>;
Defined in: packages/db/src/indexes/btree-index.ts:231
Performs a range query with options This is more efficient for compound queries like "WHERE a > 5 AND a < 10"
RangeQueryOptions = {}
Set<TKey>
rangeQueryReversed(options): Set<TKey>;
rangeQueryReversed(options): Set<TKey>;
Defined in: packages/db/src/indexes/btree-index.ts:269
Performs a reversed range query
RangeQueryOptions = {}
Set<TKey>
remove(key, item): void;
remove(key, item): void;
Defined in: packages/db/src/indexes/btree-index.ts:114
Removes a value from the index
TKey
any
void
supports(operation): boolean;
supports(operation): boolean;
Defined in: packages/db/src/indexes/base-index.ts:143
"eq" | "gt" | "gte" | "lt" | "lte" | "in" | "like" | "ilike"
boolean
take(
n,
from,
filterFn?): TKey[];
take(
n,
from,
filterFn?): TKey[];
Defined in: packages/db/src/indexes/btree-index.ts:331
Returns the next n items after the provided item.
number
The number of items to return
any
The item to start from (exclusive).
(key) => boolean
TKey[]
The next n items after the provided key.
takeFromStart(n, filterFn?): TKey[];
takeFromStart(n, filterFn?): TKey[];
Defined in: packages/db/src/indexes/btree-index.ts:344
Returns the first n items from the beginning.
number
The number of items to return
(key) => boolean
Optional filter function
TKey[]
The first n items
takeReversed(
n,
from,
filterFn?): TKey[];
takeReversed(
n,
from,
filterFn?): TKey[];
Defined in: packages/db/src/indexes/btree-index.ts:356
Returns the next n items before the provided item (in descending order).
number
The number of items to return
any
The item to start from (exclusive). Required.
(key) => boolean
TKey[]
The next n items before the provided key.
takeReversedFromEnd(n, filterFn?): TKey[];
takeReversedFromEnd(n, filterFn?): TKey[];
Defined in: packages/db/src/indexes/btree-index.ts:373
Returns the last n items from the end.
number
The number of items to return
(key) => boolean
Optional filter function
TKey[]
The last n items
protected trackLookup(startTime): void;
protected trackLookup(startTime): void;
Defined in: packages/db/src/indexes/base-index.ts:200
number
void
update(
key,
oldItem,
newItem): void;
update(
key,
oldItem,
newItem): void;
Defined in: packages/db/src/indexes/btree-index.ts:149
Updates a value in the index
TKey
any
any
void
protected updateTimestamp(): void;
protected updateTimestamp(): void;
Defined in: packages/db/src/indexes/base-index.ts:206
void
