dbgate-tools
Version:
Auxiliary tools for other DbGate packages.
54 lines (53 loc) • 2.2 kB
TypeScript
import { DatabaseHandle, DatabaseInfo, DatabaseModification, EngineDriver, SqlDialect } from 'dbgate-types';
import { type Logger } from 'pinomin';
export declare class DatabaseAnalyser<TClient = any> {
dbhan: DatabaseHandle<TClient>;
driver: EngineDriver;
structure: DatabaseInfo;
modifications: DatabaseModification[];
singleObjectFilter: any;
singleObjectId: string;
dialect: SqlDialect;
logger: Logger;
constructor(dbhan: DatabaseHandle<TClient>, driver: EngineDriver, version: any);
_runAnalysis(): Promise<DatabaseInfo>;
_getFastSnapshot(): Promise<DatabaseInfo>;
_computeSingleObjectId(): Promise<void>;
addEngineField(db: DatabaseInfo): DatabaseInfo;
getLogDbInfo(): {
database?: string;
engine: string;
conid?: string;
};
fullAnalysis(): Promise<DatabaseInfo>;
singleObjectAnalysis(name: any, typeField: any): Promise<any>;
incrementalAnalysis(structure: any): Promise<DatabaseInfo>;
mergeAnalyseResult(newlyAnalysed: any): any;
getRequestedObjectPureNames(objectTypeField: any, allPureNames: any): any;
getDefaultSchemaNameCondition(): string;
createQuery(template: any, typeFields: any, replacements?: {}): any;
processQueryReplacements(query: any, replacements: any): any;
createQueryCore(template: any, typeFields: any): any;
getDeletedObjectsForField(snapshot: any, objectTypeField: any): any;
getDeletedObjects(snapshot: any): any[];
feedback(obj: any): void;
getModifications(): Promise<any[]>;
analyserQuery(template: any, typeFields: any, replacements?: {}): Promise<import("dbgate-types").QueryResult | {
rows: any[];
isError: boolean;
}>;
static createEmptyStructure(): DatabaseInfo;
static byTableFilter(table: any): (x: any) => boolean;
static extractPrimaryKeys(table: any, pkColumns: any): {
constraintType: string;
columns: any;
pureName: any;
schemaName: any;
constraintName: any;
};
static extractForeignKeys(table: any, fkColumns: any): {
columns: Pick<any, any>[];
constraintName: string;
constraintType: string;
}[];
}