pg-mem
Version:
A memory version of postgres
48 lines • 2.25 kB
TypeScript
import { IValue, _ITable, IndexKey, CreateIndexColDef, _Transaction, _Explainer, _IndexExplanation, IndexExpression, IndexOp, Stats, _INamedIndex, Reg, _ISchema, Row } from '../interfaces-private';
import { nil } from '../interfaces';
export declare class BIndex implements _INamedIndex {
readonly name: string;
readonly cols: readonly CreateIndexColDef[];
readonly onTable: _ITable;
readonly hash: string;
readonly unique: boolean;
readonly notNull: boolean;
readonly predicate: IValue | nil;
get type(): 'index';
readonly reg: Reg;
expressions: (IndexExpression & IValue)[];
private treeBinId;
private treeCountId;
get ownerSchema(): _ISchema;
constructor(t: _Transaction, name: string, cols: readonly CreateIndexColDef[], onTable: _ITable, hash: string, unique: boolean, notNull: boolean, predicate: IValue | nil);
drop(t: _Transaction): void;
compare(_a: any, _b: any): number;
buildKey(raw: any, t: _Transaction): any[];
truncate(t: _Transaction): void;
dropFromData(t: _Transaction): void;
private bin;
private setBin;
private setCount;
private getCount;
hasKey(key: IndexKey[], t: _Transaction): boolean;
add(raw: Row, t: _Transaction): void;
delete(raw: any, t: _Transaction): void;
eqFirst(rawKey: IndexKey, t: _Transaction): Row | null;
nin(rawKey: IndexKey[], t: _Transaction): Iterable<Row>;
entropy(op: IndexOp): number;
stats(t: _Transaction, key?: IndexKey): Stats;
iterateKeys(t: _Transaction): Iterable<IndexKey>;
private _keyCount;
enumerate(op: IndexOp): Iterable<Row>;
private _enumerate;
eq(key: IndexKey, t: _Transaction, matchNull: boolean): Iterable<Row>;
neq(key: IndexKey, t: _Transaction, matchNull: boolean): Iterable<Row>;
gt(key: IndexKey, t: _Transaction): Iterable<Row>;
ge(key: IndexKey, t: _Transaction): Iterable<Row>;
lt(key: IndexKey, t: _Transaction): Iterable<Row>;
le(key: IndexKey, t: _Transaction): Iterable<Row>;
outside(lo: IndexKey, hi: IndexKey, t: _Transaction): Iterable<Row>;
inside(lo: IndexKey, hi: IndexKey, t: _Transaction): Iterable<Row>;
explain(e: _Explainer): _IndexExplanation;
}
//# sourceMappingURL=btree-index.d.ts.map