///
import { Credentials } from "@dataform/api/commands/credentials";
import { IDbAdapter } from "@dataform/api/dbadapters/index";
import { dataform } from "@dataform/protos";
interface ISnowflakeConnection {
connect: (callback: (err: any, connection: ISnowflakeConnection) => void) => void;
execute: (options: {
sqlText: string;
streamResult?: boolean;
complete: (err: any, statement: ISnowflakeStatement, rows: any[]) => void;
}) => void;
destroy: (err: any) => void;
}
interface ISnowflakeStatement {
cancel: () => void;
streamRows: (options: {
start?: number;
end?: number;
}) => ISnowflakeResultStream;
}
interface ISnowflakeResultStream {
on: (event: "error" | "data" | "end", handler: (data: Error | any[]) => void) => this;
}
export declare class SnowflakeDbAdapter implements IDbAdapter {
private readonly connection;
static create(credentials: Credentials): Promise;
private pool;
constructor(connection: ISnowflakeConnection);
execute(statement: string, options?: {
maxResults?: number;
}): Promise<{
rows: any[];
metadata: {};
}>;
evaluate(statement: string): Promise;
tables(): Promise;
schemas(): Promise;
table(target: dataform.ITarget): Promise;
preview(target: dataform.ITarget, limitRows?: number): Promise;
prepareSchema(database: string, schema: string): Promise;
close(): Promise;
prepareStateMetadataTable(): Promise;
persistedStateMetadata(): Promise;
persistStateMetadata(actions: dataform.IExecutionAction[]): Promise;
setMetadata(action: dataform.IExecutionAction): Promise;
deleteStateMetadata(actions: dataform.IExecutionAction[]): Promise;
}
export {};