target-clickhouse
Version:
A Singer target for Clickhouse
25 lines (24 loc) • 1.09 kB
TypeScript
import ClickhouseConnection from "./ClickhouseConnection";
import { ISourceMeta } from "./jsonSchemaInspector";
import { Config } from "./Config";
export default class StreamProcessor {
private readonly clickhouse;
private readonly meta;
private readonly startedClean;
private maxVer;
private recordProcessor;
private deletedRecordProcessor;
private noPendingRows;
private readonly cleaningValues;
private constructor();
static createStreamProcessor(ch: ClickhouseConnection, meta: ISourceMeta, config: Config, cleanFirst: boolean, existingTables: string[]): Promise<StreamProcessor>;
clearTables(): Promise<void>;
processRecord(record: Record<string, any>, messageCount: number, abort: (err: Error) => void): Promise<void>;
processDeletedRecord(record: Record<string, any>): Promise<void>;
commitPendingChanges(): Promise<void>;
finalizeProcessing(): Promise<void>;
protected deleteCleaningValue(value: string): Promise<void>;
private deleteChildDuplicates;
private isReplacingMergeTree;
private assertPKIntegrity;
}