knex-dialect-athena
Version:
A Knex dialect for AWS Athena
26 lines (23 loc) • 966 B
TypeScript
import { AthenaClientConfig } from '@aws-sdk/client-athena';
interface AthenaConnectionConfig extends AthenaClientConfig {
database: string;
outputLocation: string;
workGroup?: string;
maxTimeoutMilliseconds?: number;
}
declare class AthenaConnection {
private readonly client;
private readonly database;
private readonly outputLocation;
private readonly workGroup?;
private readonly maxTimeoutMilliseconds;
constructor({ database, outputLocation, workGroup, maxTimeoutMilliseconds, ...config }: AthenaConnectionConfig);
private startQueryExecutionCommand;
private getQueryExecutionCommand;
private getQueryResultsCommand;
private isQueryExecutionUnfinished;
private waitForQueryExecution;
private mapQueryResults;
query<T extends Record<string, unknown>>(queryString: string, parameters?: string[]): Promise<number | T[] | undefined>;
}
export { AthenaConnection, type AthenaConnectionConfig };