UNPKG

target-clickhouse

Version:
38 lines (37 loc) 1.33 kB
/// <reference types="node" /> import { Writable } from "stream"; import { IConfig } from "./Config"; import { Either } from "./Either"; import TargetConnection, { IQueryResult } from "./TargetConnection"; export interface Column { name: string; type: string; is_in_sorting_key: boolean; } export default class ClickhouseConnection implements TargetConnection { private connInfo; static droppedTablePrefix: string; static archivedTablePrefix: string; private connection; constructor(connInfo: IConfig); getDatabase(): string; listTables(): Promise<string[]>; addColumn(table: string, newCol: Column): Promise<Either<{ new: Column; err: Error; }, boolean>>; renameObsoleteColumn(table: string): Promise<IQueryResult>; removeColumn(table: string, existing: Column): Promise<Either<{ existing: Column; err: Error; }, boolean>>; updateColumn(table: string, existing: Column, newCol: Column): Promise<Either<{ existing: Column; new: Column; err: Error; }, boolean>>; listColumns(table: string): Promise<Column[]>; createWriteStream(query: string, callback: (err: any, res: any) => void): Writable; runQuery(query: string, retries?: number): Promise<IQueryResult>; private getConnectionPooled; }