UNPKG

@vulcan-sql/extension-driver-bq

Version:

BigQuery driver for Vulcan SQL

28 lines (27 loc) 1.17 kB
import { DataResult, DataSource, ExecuteOptions, RequestParameter, ExportOptions } from '@vulcan-sql/core'; import { Query, Job, BigQueryOptions } from '@google-cloud/bigquery'; import bigquery from '@google-cloud/bigquery/build/src/types'; export interface BQCache { bucketName: string; } export interface BQOptions extends BigQueryOptions { chunkSize?: number; location?: string; cache?: BQCache; } export declare class BQDataSource extends DataSource<any, BQOptions> { private logger; private bqMapping; onActivate(): Promise<void>; export({ sql: statement, profileName, directory, }: ExportOptions): Promise<void>; execute({ statement: sql, bindParams, profileName, operations, }: ExecuteOptions): Promise<DataResult>; prepare({ parameterIndex }: RequestParameter): Promise<string>; private getResultFromQueryJob; fetchJobResult(queryJob: Job, chunkSize: number, nextQuery?: Query | null | undefined): Promise<{ rows: any[]; nextQuery: Query | null | undefined; apiResponse: bigquery.IGetQueryResultsResponse | null | undefined; }>; private checkProfileExist; private runJobAndWait; }