pg-mem
Version:
A memory version of postgres
62 lines • 2.89 kB
TypeScript
import { _ITable, _ISelection, _ISchema, _Transaction, _IIndex, IValue, _Column, SchemaField, IndexDef, _Explainer, _SelectExplanation, ChangeHandler, Stats, DropHandler, IndexHandler, Reg, _IConstraint, TruncateHandler, Row } from '../interfaces-private';
import { CreateColumnDef, ExprRef, TableConstraint } from 'pgsql-ast-parser';
import { DataSourceBase } from '../transforms/transform-base';
import { Schema, nil, ISubscription, ColumnDef } from '../interfaces';
export declare abstract class ReadOnlyTable extends DataSourceBase implements _ITable, _ISelection {
private schema;
get isExecutionWithNoResult(): boolean;
get primaryIndex(): nil | IndexDef;
getColumns(): Iterable<ColumnDef>;
abstract entropy(t: _Transaction): number;
abstract enumerate(t: _Transaction): Iterable<Row>;
abstract hasItem(value: Row, t: _Transaction): boolean;
abstract readonly _schema: Schema;
reg: Reg;
readonly selection: _ISelection;
readonly hidden = true;
isOriginOf(v: IValue): boolean;
get type(): "table";
constructor(schema: _ISchema);
get name(): string;
register(): void;
private columnsById;
private _columns?;
private build;
protected buildColumnEvaluator(_col: SchemaField, idx: number): IValue;
get columns(): ReadonlyArray<IValue>;
getColumn(column: string | ExprRef): IValue;
getColumn(column: string | ExprRef, nullIfNotFound?: boolean): IValue | nil;
explain(e: _Explainer): _SelectExplanation;
listIndices(): IndexDef[];
stats(t: _Transaction): Stats | null;
rename(to: string): this;
update(t: _Transaction, toUpdate: any): never;
addColumn(column: SchemaField | CreateColumnDef): _Column;
getColumnRef(column: string, nullIfNotFound?: boolean): _Column;
getConstraint(constraint: string): _IConstraint | nil;
addConstraint(constraint: TableConstraint, t: _Transaction): _IConstraint;
insert(item: any): void;
doInsert(toInsert: any): void;
delete(t: _Transaction, toDelete: Row): void;
truncate(t: _Transaction): void;
createIndex(): _IConstraint;
dropIndex(t: _Transaction, name: string): void;
setHidden(): this;
drop(t: _Transaction): void;
setReadonly(): this;
getIndex(...forValue: IValue[]): _IIndex | nil;
on(): any;
onBeforeChange(columns: string[], check: ChangeHandler): {
unsubscribe(): void;
};
onCheckChange(columns: string[], check: ChangeHandler): {
unsubscribe(): void;
};
onTruncate(sub: TruncateHandler): ISubscription;
onDrop(sub: DropHandler): ISubscription;
onIndex(sub: IndexHandler): ISubscription;
find(template?: Row, columns?: (keyof Row)[]): Row[];
make(table: _ITable, i: number, t: IValue): any;
itemsByTable(table: string | _ITable, t: _Transaction): IterableIterator<any>;
}
//# sourceMappingURL=readonly-table.d.ts.map