@cubejs-backend/bigquery-driver 0.32.28 → 0.32.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,7 +6,7 @@
6
6
  import { Required } from '@cubejs-backend/shared';
7
7
  import { BigQuery, BigQueryOptions, Dataset, Job, QueryRowsResponse } from '@google-cloud/bigquery';
8
8
  import { Bucket, Storage } from '@google-cloud/storage';
9
- import { BaseDriver, DownloadTableCSVData, DriverInterface, QueryOptions, StreamTableData } from '@cubejs-backend/base-driver';
9
+ import { BaseDriver, DownloadTableCSVData, DriverInterface, QueryOptions, UnloadOptions, StreamTableDataWithTypes, DownloadQueryResultsOptions, DownloadQueryResultsResult, DownloadTableMemoryData, TableStructure, DriverCapabilities } from '@cubejs-backend/base-driver';
10
10
  import { Query } from '@google-cloud/bigquery/build/src/bigquery';
11
11
  interface BigQueryDriverOptions extends BigQueryOptions {
12
12
  readOnly?: boolean;
@@ -53,19 +53,79 @@ export declare class BigQueryDriver extends BaseDriver implements DriverInterfac
53
53
  testConnectionTimeout?: number;
54
54
  });
55
55
  static driverEnvVariables(): string[];
56
- testConnection(): Promise<void>;
56
+ /**
57
+ * Driver read-only flag.
58
+ */
57
59
  readOnly(): boolean;
60
+ /**
61
+ * Returns driver's capabilities object.
62
+ */
63
+ capabilities(): DriverCapabilities;
64
+ /**
65
+ * Test driver's connection.
66
+ */
67
+ testConnection(): Promise<void>;
68
+ /**
69
+ * Determines whether export bucket feature is configured or not.
70
+ */
71
+ isUnloadSupported(): Promise<boolean>;
72
+ /**
73
+ * Returns to the Cubestore an object with links to unloaded to the
74
+ * export bucket data.
75
+ */
76
+ unload(table: string, options: UnloadOptions): Promise<DownloadTableCSVData>;
77
+ /**
78
+ * Unload data from a SQL query to an export bucket.
79
+ */
80
+ private unloadWithSql;
81
+ /**
82
+ * Unload data from a temp table to an export bucket.
83
+ * : Promise<TableStructure>
84
+ */
85
+ private unloadWithTable;
86
+ /**
87
+ * Returns an array of signed URLs of the unloaded csv files.
88
+ */
89
+ private getCsvFiles;
90
+ /**
91
+ * Executes a query and returns either query result memory data or
92
+ * query result stream, depending on options.
93
+ */
94
+ downloadQueryResults(query: string, values: unknown[], options: DownloadQueryResultsOptions): Promise<DownloadQueryResultsResult>;
95
+ /**
96
+ * Executes query and returns table memory data that includes rows
97
+ * and queried fields types.
98
+ */
99
+ memory(query: string, values: unknown[]): Promise<DownloadTableMemoryData & {
100
+ types: TableStructure;
101
+ }>;
102
+ /**
103
+ * Returns stream table object that includes query result stream and
104
+ * queried fields types.
105
+ */
106
+ stream(query: string, values: unknown[]): Promise<StreamTableDataWithTypes>;
107
+ /**
108
+ * Returns an array of queried fields meta info.
109
+ */
110
+ queryColumnTypes(sql: string): Promise<TableStructure>;
111
+ /**
112
+ * Returns an array of table fields meta info.
113
+ */
114
+ tableColumnTypes(table: string): Promise<any>;
115
+ /**
116
+ * Returns generic type for the provided BQ type.
117
+ */
118
+ toGenericType(type: string): string;
119
+ /**
120
+ * Executes query and returns queried rows.
121
+ */
58
122
  query<R = unknown>(query: string, values: unknown[], options?: QueryOptions): Promise<R[]>;
59
123
  protected loadTablesForDataset(dataset: Dataset): Promise<{}>;
60
124
  tablesSchema(): Promise<{}>;
61
125
  getTablesQuery(schemaName: string): Promise<{
62
126
  table_name: string | undefined;
63
127
  }[]>;
64
- tableColumnTypes(table: string): Promise<any>;
65
128
  createSchemaIfNotExists(schemaName: string): Promise<void>;
66
- isUnloadSupported(): Promise<boolean>;
67
- stream(query: string, values: unknown[]): Promise<StreamTableData>;
68
- unload(table: string): Promise<DownloadTableCSVData>;
69
129
  loadPreAggregationIntoTable(preAggregationTableName: string, loadSql: string, params: any, options: any): Promise<any>;
70
130
  protected awaitForJobStatus(job: Job, options: any, withResults: boolean): Promise<true | QueryRowsResponse | null>;
71
131
  protected runQueryJob<T = QueryRowsResponse>(bigQueryQuery: Query, options: any, withResults?: boolean): Promise<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"BigQueryDriver.d.ts","sourceRoot":"","sources":["../../src/BigQueryDriver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BigQueryDriver.d.ts","sourceRoot":"","sources":["../../src/BigQueryDriver.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,24 @@ const bigquery_1 = require("@google-cloud/bigquery");
15
15
  const storage_1 = require("@google-cloud/storage");
16
16
  const base_driver_1 = require("@cubejs-backend/base-driver");
17
17
  const HydrationStream_1 = require("./HydrationStream");
18
+ const BQTypeToGenericType = {
19
+ array: 'text',
20
+ bignumeric: 'double',
21
+ bool: 'boolean',
22
+ bytes: 'text',
23
+ date: 'date',
24
+ datetime: 'timestamp',
25
+ float64: 'double',
26
+ geography: 'text',
27
+ int64: 'bigint',
28
+ interval: 'text',
29
+ json: 'text',
30
+ numeric: 'double',
31
+ string: 'text',
32
+ struct: 'text',
33
+ time: 'timestamp',
34
+ timestamp: 'timestamp',
35
+ };
18
36
  /**
19
37
  * BigQuery driver.
20
38
  */
@@ -49,6 +67,7 @@ class BigQueryDriver extends base_driver_1.BaseDriver {
49
67
  exportBucket: (0, shared_1.getEnv)('dbExportBucket', { dataSource }) ||
50
68
  (0, shared_1.getEnv)('bigqueryExportBucket', { dataSource }),
51
69
  location: (0, shared_1.getEnv)('bigqueryLocation', { dataSource }),
70
+ readOnly: true,
52
71
  ...config,
53
72
  pollTimeout: (config.pollTimeout ||
54
73
  (0, shared_1.getEnv)('dbPollTimeout', { dataSource }) ||
@@ -75,14 +94,208 @@ class BigQueryDriver extends base_driver_1.BaseDriver {
75
94
  'CUBEJS_DB_BQ_KEY_FILE',
76
95
  ];
77
96
  }
97
+ /**
98
+ * Driver read-only flag.
99
+ */
100
+ readOnly() {
101
+ return !!this.options.readOnly;
102
+ }
103
+ /**
104
+ * Returns driver's capabilities object.
105
+ */
106
+ capabilities() {
107
+ return { unloadWithoutTempTable: true };
108
+ }
109
+ /**
110
+ * Test driver's connection.
111
+ */
78
112
  async testConnection() {
79
113
  await this.bigquery.query({
80
114
  query: 'SELECT ? AS number', params: ['1']
81
115
  });
82
116
  }
83
- readOnly() {
84
- return !!this.options.readOnly;
117
+ /**
118
+ * Determines whether export bucket feature is configured or not.
119
+ */
120
+ async isUnloadSupported() {
121
+ return this.bucket !== null;
122
+ }
123
+ /**
124
+ * Returns to the Cubestore an object with links to unloaded to the
125
+ * export bucket data.
126
+ */
127
+ async unload(table, options) {
128
+ if (!this.bucket) {
129
+ throw new Error('Export bucket misconfigured.');
130
+ }
131
+ const types = options.query
132
+ ? await this.unloadWithSql(table, options)
133
+ : await this.unloadWithTable(table);
134
+ const csvFile = await this.getCsvFiles(table);
135
+ return {
136
+ types,
137
+ csvFile,
138
+ csvNoHeader: false,
139
+ exportBucketCsvEscapeSymbol: this.options.exportBucketCsvEscapeSymbol,
140
+ };
141
+ }
142
+ /**
143
+ * Unload data from a SQL query to an export bucket.
144
+ */
145
+ async unloadWithSql(table, options) {
146
+ if (!this.bucket) {
147
+ throw new Error('Export bucket misconfigured.');
148
+ }
149
+ if (!options.query) {
150
+ throw new Error('Unload query is missed.');
151
+ }
152
+ const types = await this.queryColumnTypes(options.query.sql);
153
+ const unloadSql = `
154
+ EXPORT DATA
155
+ OPTIONS (
156
+ uri='gs://${this.options.exportBucket}/${table}/*.csv.gz',
157
+ format='CSV',
158
+ overwrite=true,
159
+ header=true,
160
+ field_delimiter=',',
161
+ compression='GZIP'
162
+ ) AS
163
+ ${options.query.sql}`;
164
+ await this.query(unloadSql, []);
165
+ return types;
166
+ }
167
+ /**
168
+ * Unload data from a temp table to an export bucket.
169
+ * : Promise<TableStructure>
170
+ */
171
+ async unloadWithTable(table) {
172
+ if (!this.bucket) {
173
+ throw new Error('Export bucket misconfigured.');
174
+ }
175
+ const types = await this.tableColumnTypes(table);
176
+ const [schema, tableName] = table.split('.');
177
+ const bigQueryTable = this.bigquery
178
+ .dataset(schema)
179
+ .table(tableName);
180
+ const [job] = await bigQueryTable.createExtractJob(this.bucket.file(`${table}/*.csv.gz`), { format: 'CSV', gzip: true });
181
+ await this.waitForJobResult(job, { table }, false);
182
+ return types;
183
+ }
184
+ /**
185
+ * Returns an array of signed URLs of the unloaded csv files.
186
+ */
187
+ async getCsvFiles(table) {
188
+ if (!this.bucket) {
189
+ throw new Error('Export bucket misconfigured.');
190
+ }
191
+ const [files] = await this.bucket.getFiles({
192
+ prefix: `${table}/`,
193
+ });
194
+ const csvFiles = await Promise.all(files.map(async (file) => {
195
+ const [url] = await file.getSignedUrl({
196
+ action: 'read',
197
+ expires: new Date(new Date().getTime() + 60 * 60 * 1000),
198
+ });
199
+ return url;
200
+ }));
201
+ return csvFiles;
202
+ }
203
+ /**
204
+ * Executes a query and returns either query result memory data or
205
+ * query result stream, depending on options.
206
+ */
207
+ async downloadQueryResults(query, values, options) {
208
+ if (!options.streamImport) {
209
+ return this.memory(query, values);
210
+ }
211
+ else {
212
+ return this.stream(query, values);
213
+ }
85
214
  }
215
+ /**
216
+ * Executes query and returns table memory data that includes rows
217
+ * and queried fields types.
218
+ */
219
+ async memory(query, values) {
220
+ const types = await this.queryColumnTypes(query);
221
+ const rows = await this.query(query, values);
222
+ return { types, rows };
223
+ }
224
+ /**
225
+ * Returns stream table object that includes query result stream and
226
+ * queried fields types.
227
+ */
228
+ async stream(query, values) {
229
+ const types = await this.queryColumnTypes(query);
230
+ const stream = await this.bigquery.createQueryStream({
231
+ query,
232
+ params: values,
233
+ parameterMode: 'positional',
234
+ useLegacySql: false
235
+ });
236
+ const rowStream = new HydrationStream_1.HydrationStream();
237
+ stream.pipe(rowStream);
238
+ return {
239
+ rowStream,
240
+ types,
241
+ release: async () => {
242
+ //
243
+ }
244
+ };
245
+ }
246
+ /**
247
+ * Returns an array of queried fields meta info.
248
+ */
249
+ async queryColumnTypes(sql) {
250
+ const rowSql = `${sql} LIMIT 1`;
251
+ const row = (await this.runQueryJob({
252
+ query: rowSql,
253
+ params: [],
254
+ parameterMode: 'positional',
255
+ useLegacySql: false
256
+ }, {}))[0][0];
257
+ const cols = Object.keys(row)
258
+ .map((f) => (`bqutil.fn.typeof(${f}) AS ${f}`))
259
+ .join(', ');
260
+ const typesSql = `
261
+ WITH ORIGIN AS (${rowSql})
262
+ SELECT ${cols}
263
+ FROM ORIGIN`;
264
+ const types = (await this.runQueryJob({
265
+ query: typesSql,
266
+ params: [],
267
+ parameterMode: 'positional',
268
+ useLegacySql: false
269
+ }, {}))[0][0];
270
+ return Object.keys(types).map((f) => ({
271
+ name: f,
272
+ type: this.toGenericType(types[f]),
273
+ }));
274
+ }
275
+ /**
276
+ * Returns an array of table fields meta info.
277
+ */
278
+ async tableColumnTypes(table) {
279
+ const [schema, name] = table.split('.');
280
+ const [bigQueryTable] = await this.bigquery
281
+ .dataset(schema)
282
+ .table(name)
283
+ .getMetadata();
284
+ return bigQueryTable.schema.fields.map((c) => ({
285
+ name: c.name,
286
+ type: this.toGenericType(c.type),
287
+ }));
288
+ }
289
+ /**
290
+ * Returns generic type for the provided BQ type.
291
+ */
292
+ toGenericType(type) {
293
+ return BQTypeToGenericType[type.toLowerCase()] ||
294
+ super.toGenericType(type.toLowerCase());
295
+ }
296
+ /**
297
+ * Executes query and returns queried rows.
298
+ */
86
299
  async query(query, values, options) {
87
300
  const data = await this.runQueryJob({
88
301
  query,
@@ -90,7 +303,9 @@ class BigQueryDriver extends base_driver_1.BaseDriver {
90
303
  parameterMode: 'positional',
91
304
  useLegacySql: false
92
305
  }, options);
93
- return (data[0] && data[0].map(row => ramda_1.default.map(value => (value && value.value && typeof value.value === 'string' ? value.value : value), row)));
306
+ return (data[0] && data[0].map(row => ramda_1.default.map(value => (value && value.value && typeof value.value === 'string'
307
+ ? value.value
308
+ : value), row)));
94
309
  }
95
310
  async loadTablesForDataset(dataset) {
96
311
  try {
@@ -137,52 +352,9 @@ class BigQueryDriver extends base_driver_1.BaseDriver {
137
352
  throw e;
138
353
  }
139
354
  }
140
- async tableColumnTypes(table) {
141
- const [schema, name] = table.split('.');
142
- const [bigQueryTable] = await this.bigquery.dataset(schema).table(name).getMetadata();
143
- return bigQueryTable.schema.fields.map((c) => ({ name: c.name, type: this.toGenericType(c.type) }));
144
- }
145
355
  async createSchemaIfNotExists(schemaName) {
146
356
  await this.bigquery.dataset(schemaName).get({ autoCreate: true });
147
357
  }
148
- async isUnloadSupported() {
149
- return this.bucket !== null;
150
- }
151
- async stream(query, values) {
152
- const stream = await this.bigquery.createQueryStream({
153
- query,
154
- params: values,
155
- parameterMode: 'positional',
156
- useLegacySql: false
157
- });
158
- const rowStream = new HydrationStream_1.HydrationStream();
159
- stream.pipe(rowStream);
160
- return {
161
- rowStream,
162
- };
163
- }
164
- async unload(table) {
165
- if (!this.bucket) {
166
- throw new Error('Unload is not configured');
167
- }
168
- const destination = this.bucket.file(`${table}-*.csv.gz`);
169
- const [schema, tableName] = table.split('.');
170
- const bigQueryTable = this.bigquery.dataset(schema).table(tableName);
171
- const [job] = await bigQueryTable.createExtractJob(destination, { format: 'CSV', gzip: true });
172
- await this.waitForJobResult(job, { table }, false);
173
- const [files] = await this.bucket.getFiles({ prefix: `${table}-` });
174
- const urls = await Promise.all(files.map(async (file) => {
175
- const [url] = await file.getSignedUrl({
176
- action: 'read',
177
- expires: new Date(new Date().getTime() + 60 * 60 * 1000),
178
- });
179
- return url;
180
- }));
181
- return {
182
- exportBucketCsvEscapeSymbol: this.options.exportBucketCsvEscapeSymbol,
183
- csvFile: urls,
184
- };
185
- }
186
358
  async loadPreAggregationIntoTable(preAggregationTableName, loadSql, params, options) {
187
359
  const [dataSet, tableName] = preAggregationTableName.split('.');
188
360
  const bigQueryQuery = {
@@ -1 +1 @@
1
- {"version":3,"file":"BigQueryDriver.js","sourceRoot":"","sources":["../../src/BigQueryDriver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BigQueryDriver.js","sourceRoot":"","sources":["../../src/BigQueryDriver.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;AAEH,mDAKgC;AAChC,kDAAsB;AACtB,qDAMgC;AAChC,mDAAwD;AACxD,6DAaqC;AAErC,uDAAoD;AAEpD,MAAM,mBAAmB,GAA2B;IAClD,KAAK,EAAE,MAAM;IACb,UAAU,EAAE,QAAQ;IACpB,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,WAAW;IACrB,OAAO,EAAE,QAAQ;IACjB,SAAS,EAAE,MAAM;IACjB,KAAK,EAAE,QAAQ;IACf,QAAQ,EAAE,MAAM;IAChB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,MAAM;IACd,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,WAAW;IACjB,SAAS,EAAE,WAAW;CACvB,CAAC;AAoBF;;GAEG;AACH,MAAa,cAAe,SAAQ,wBAAU;IAC5C;;OAEG;IACI,MAAM,CAAC,qBAAqB;QACjC,OAAO,EAAE,CAAC;IACZ,CAAC;IAUD;;OAEG;IACH,YACE,SAgBI,EAAE;QAEN,KAAK,CAAC;YACJ,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;SACpD,CAAC,CAAC;QA5Bc,YAAO,GAAmB,IAAI,CAAC;QAE/B,WAAM,GAAkB,IAAI,CAAC;QA4B9C,MAAM,UAAU,GACd,MAAM,CAAC,UAAU;YACjB,IAAA,yBAAgB,EAAC,SAAS,CAAC,CAAC;QAE9B,IAAI,CAAC,OAAO,GAAG;YACb,MAAM,EAAE;gBACN,0CAA0C;gBAC1C,uCAAuC;aACxC;YACD,SAAS,EAAE,IAAA,eAAM,EAAC,mBAAmB,EAAE,EAAE,UAAU,EAAE,CAAC;YACtD,WAAW,EAAE,IAAA,eAAM,EAAC,iBAAiB,EAAE,EAAE,UAAU,EAAE,CAAC;YACtD,WAAW,EAAE,IAAA,eAAM,EAAC,qBAAqB,EAAE,EAAE,UAAU,EAAE,CAAC;gBACxD,CAAC,CAAC,IAAI,CAAC,KAAK,CACV,MAAM,CAAC,IAAI,CACT,IAAA,eAAM,EAAC,qBAAqB,EAAE,EAAE,UAAU,EAAE,CAAC,EAC7C,QAAQ,CACT,CAAC,QAAQ,CAAC,MAAM,CAAC,CACnB;gBACD,CAAC,CAAC,SAAS;YACb,YAAY,EACV,IAAA,eAAM,EAAC,gBAAgB,EAAE,EAAE,UAAU,EAAE,CAAC;gBACxC,IAAA,eAAM,EAAC,sBAAsB,EAAE,EAAE,UAAU,EAAE,CAAC;YAChD,QAAQ,EAAE,IAAA,eAAM,EAAC,kBAAkB,EAAE,EAAE,UAAU,EAAE,CAAC;YACpD,QAAQ,EAAE,IAAI;YAEd,GAAG,MAAM;YAET,WAAW,EAAE,CACX,MAAM,CAAC,WAAW;gBAClB,IAAA,eAAM,EAAC,eAAe,EAAE,EAAE,UAAU,EAAE,CAAC;gBACvC,IAAA,eAAM,EAAC,gBAAgB,EAAE,EAAE,UAAU,EAAE,CAAC,CACzC,GAAG,IAAI;YACR,eAAe,EAAE,CACf,MAAM,CAAC,eAAe;gBACtB,IAAA,eAAM,EAAC,mBAAmB,EAAE,EAAE,UAAU,EAAE,CAAC,CAC5C,GAAG,IAAI;YACR,2BAA2B,EACzB,IAAA,eAAM,EAAC,+BAA+B,EAAE,EAAE,UAAU,EAAE,CAAC;SAC1D,CAAC;QAEF,IAAA,eAAM,EAAC,oBAAoB,EAAE;YAC3B,UAAU;YACV,SAAS,EAAE,CAAC,KAAK,CAAC;SACnB,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,GAAG,IAAI,mBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;YAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;SAC9D;IACH,CAAC;IAEM,MAAM,CAAC,kBAAkB;QAC9B,oEAAoE;QACpE,4BAA4B;QAC5B,OAAO;YACL,yBAAyB;YACzB,uBAAuB;SACxB,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,QAAQ;QACb,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;IACjC,CAAC;IAED;;OAEG;IACI,YAAY;QACjB,OAAO,EAAE,sBAAsB,EAAE,IAAI,EAAE,CAAC;IAC1C,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,cAAc;QACzB,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YACxB,KAAK,EAAE,oBAAoB,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC;SAC3C,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,iBAAiB;QAC5B,OAAO,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,MAAM,CACjB,KAAa,EACb,OAAsB;QAEtB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;SACjD;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK;YACzB,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC;YAC1C,CAAC,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC9C,OAAO;YACL,KAAK;YACL,OAAO;YACP,WAAW,EAAE,KAAK;YAClB,2BAA2B,EACzB,IAAI,CAAC,OAAO,CAAC,2BAA2B;SAC3C,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,aAAa,CACzB,KAAa,EACb,OAAsB;QAEtB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;SACjD;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;SAC5C;QACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7D,MAAM,SAAS,GAAG;;;kBAGJ,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,KAAK;;;;;;;MAO9C,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QACtB,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAChC,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,eAAe,CAAC,KAAa;QACzC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;SACjD;QACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ;aAChC,OAAO,CAAC,MAAM,CAAC;aACf,KAAK,CAAC,SAAS,CAAC,CAAC;QACpB,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,aAAa,CAAC,gBAAgB,CAChD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,WAAW,CAAC,EACrC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAC9B,CAAC;QACF,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC;QACnD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW,CAAC,KAAa;QACrC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;SACjD;QACD,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YACzC,MAAM,EAAE,GAAG,KAAK,GAAG;SACpB,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE;YACxD,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC;gBACpC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;aACzD,CAAC,CAAC;YACH,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,CAAC,CAAC;QACJ,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,oBAAoB,CAC/B,KAAa,EACb,MAAiB,EACjB,OAAoC;QAEpC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;YACzB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;SACnC;aAAM;YACL,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;SACnC;IACH,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,MAAM,CACjB,KAAa,EACb,MAAiB;QAEjB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,IAAI,GAAU,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACpD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,MAAM,CACjB,KAAa,EACb,MAAiB;QAEjB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YACnD,KAAK;YACL,MAAM,EAAE,MAAM;YACd,aAAa,EAAE,YAAY;YAC3B,YAAY,EAAE,KAAK;SACpB,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,iCAAe,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,OAAO;YACL,SAAS;YACT,KAAK;YACL,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,EAAE;YACJ,CAAC;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,gBAAgB,CAAC,GAAW;QACvC,MAAM,MAAM,GAAG,GAAG,GAAG,UAAU,CAAC;QAChC,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC;YAClC,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,EAAE;YACV,aAAa,EAAE,YAAY;YAC3B,YAAY,EAAE,KAAK;SACpB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACd,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;aAC1B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;aAC9C,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,QAAQ,GAAG;wBACG,MAAM;eACf,IAAI;kBACD,CAAC;QACf,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC;YACpC,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,EAAE;YACV,aAAa,EAAE,YAAY;YAC3B,YAAY,EAAE,KAAK;SACpB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACd,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACpC,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACnC,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,gBAAgB,CAAC,KAAa;QACzC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,IAAI,CAAC,QAAQ;aACxC,OAAO,CAAC,MAAM,CAAC;aACf,KAAK,CAAC,IAAI,CAAC;aACX,WAAW,EAAE,CAAC;QACjB,OAAO,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;YAClD,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;SACjC,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;OAEG;IACI,aAAa,CAAC,IAAY;QAC/B,OAAO,mBAAmB,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC5C,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,KAAK,CAChB,KAAa,EACb,MAAiB,EACjB,OAAsB;QAEtB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC;YAClC,KAAK;YACL,MAAM,EAAE,MAAM;YACd,aAAa,EAAE,YAAY;YAC3B,YAAY,EAAE,KAAK;SACpB,EAAE,OAAO,CAAC,CAAC;QACZ,OAAY,CACV,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CACpB,GAAG,CAAC,EAAE,CAAC,eAAC,CAAC,GAAG,CACV,KAAK,CAAC,EAAE,CAAC,CACP,KAAK,IAAI,KAAK,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;YACrD,CAAC,CAAC,KAAK,CAAC,KAAK;YACb,CAAC,CAAC,KAAK,CACV,EACD,GAAG,CACJ,CACF,CACF,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,oBAAoB,CAAC,OAAgB;QACnD,IAAI;YACF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC;gBACjC,KAAK,EAAE;;mCAEoB,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC;kCACpC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC;oCAChC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC;iCACvC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC;;OAE3D;aACA,CAAC,CAAC;YAEH,IAAI,MAAM,CAAC,MAAM,EAAE;gBACjB,OAAO,eAAC,CAAC,MAAM,CACb,IAAI,CAAC,+BAA+B,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CACpD,CAAC;aACH;YAED,OAAO,EAAE,CAAC;SACX;QAAC,OAAO,CAAC,EAAE;YACV,IAAU,CAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,gDAAgD,CAAC,EAAE;gBAC/E,OAAO,EAAE,CAAC;aACX;YAED,MAAM,CAAC,CAAC;SACT;IACH,CAAC;IAEM,KAAK,CAAC,YAAY;QACvB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QACnD,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,GAAG,CACvC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CACjE,CAAC;QAEF,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IACrF,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,UAAkB;QAC5C,IAAI;YACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACxD,IAAI,CAAC,OAAO,EAAE;gBACZ,OAAO,EAAE,CAAC;aACX;YACD,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,EAAE,CAAC;YACrE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;SAChD;QAAC,OAAO,CAAC,EAAE;YACV,IAAU,CAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;gBAC5C,OAAO,EAAE,CAAC;aACX;YACD,MAAM,CAAC,CAAC;SACT;IACH,CAAC;IAEM,KAAK,CAAC,uBAAuB,CAAC,UAAkB;QACrD,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IACpE,CAAC;IAEM,KAAK,CAAC,2BAA2B,CACtC,uBAA+B,EAC/B,OAAe,EACf,MAAW,EACX,OAAY;QAEZ,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,uBAAuB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEhE,MAAM,aAAa,GAAU;YAC3B,KAAK,EAAE,OAAO;YACd,MAAM;YACN,aAAa,EAAE,YAAY;YAC3B,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;YAC5D,iBAAiB,EAAE,kBAAkB;YACrC,YAAY,EAAE,KAAK;SACpB,CAAC;QAEF,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;IAES,KAAK,CAAC,iBAAiB,CAAC,GAAQ,EAAE,OAAY,EAAE,WAAoB;QAC5E,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC;QACzC,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,KAAK,MAAM,EAAE;YACnD,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE;gBAC7B,MAAM,IAAI,KAAK,CACb,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;oBACjC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;oBACnC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAC5C,CAAC;aACH;YACD,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;SACnD;aAAM;YACL,OAAO,IAAI,CAAC;SACb;QAED,OAAO,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACpD,CAAC;IAES,KAAK,CAAC,WAAW,CACzB,aAAoB,EACpB,OAAY,EACZ,cAAuB,IAAI;QAE3B,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QAChE,OAAa,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAChE,CAAC;IAES,KAAK,CAAC,gBAAgB,CAAC,GAAQ,EAAE,OAAY,EAAE,WAAoB;QAC3E,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE;YACzE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;YACvE,IAAI,MAAM,EAAE;gBACV,OAAO,MAAM,CAAC;aACf;YAED,MAAM,IAAA,qBAAY,EAChB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,GAAG,CAAC,CAAC,CAChD,CAAC;SACH;QAED,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC;QAEnB,MAAM,IAAI,KAAK,CACb,gCAAgC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAC7D,CAAC;IACJ,CAAC;IAEM,eAAe,CAAC,UAAkB;QACvC,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3C,OAAO,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAC7B,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE;gBAC9B,OAAO,IAAI,CAAC;aACb;YACD,OAAO,KAAK,UAAU,IAAI,CAAC;QAC7B,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;CACF;AAlfD,wCAkfC"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@cubejs-backend/bigquery-driver",
3
3
  "description": "Cube.js BigQuery database driver",
4
4
  "author": "Cube Dev, Inc.",
5
- "version": "0.32.28",
5
+ "version": "0.32.30",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "https://github.com/cube-js/cube.git",
@@ -28,15 +28,15 @@
28
28
  "main": "index.js",
29
29
  "types": "dist/src/index.d.ts",
30
30
  "dependencies": {
31
- "@cubejs-backend/base-driver": "^0.32.28",
31
+ "@cubejs-backend/base-driver": "^0.32.30",
32
32
  "@cubejs-backend/dotenv": "^9.0.2",
33
- "@cubejs-backend/shared": "^0.32.28",
33
+ "@cubejs-backend/shared": "^0.32.30",
34
34
  "@google-cloud/bigquery": "^5.6.0",
35
35
  "@google-cloud/storage": "^5.7.2",
36
36
  "ramda": "^0.27.2"
37
37
  },
38
38
  "devDependencies": {
39
- "@cubejs-backend/testing-shared": "^0.32.28",
39
+ "@cubejs-backend/testing-shared": "^0.32.30",
40
40
  "@types/dedent": "^0.7.0",
41
41
  "@types/ramda": "^0.27.40",
42
42
  "typescript": "~4.9.5"
@@ -48,5 +48,5 @@
48
48
  "eslintConfig": {
49
49
  "extends": "../cubejs-linter"
50
50
  },
51
- "gitHead": "31282a6fd5adfbbcb27cb1b25db30b6e4c5cf687"
51
+ "gitHead": "71afde6187516487d1c38294aae9f494c140fb4a"
52
52
  }