@cubejs-backend/query-orchestrator 0.30.46 → 0.30.47
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.
- package/CHANGELOG.md +11 -0
- package/dist/src/driver/driver.interface.d.ts +12 -2
- package/dist/src/driver/driver.interface.d.ts.map +1 -1
- package/dist/src/orchestrator/PreAggregations.d.ts +29 -6
- package/dist/src/orchestrator/PreAggregations.d.ts.map +1 -1
- package/dist/src/orchestrator/PreAggregations.js +118 -51
- package/dist/src/orchestrator/PreAggregations.js.map +1 -1
- package/dist/src/orchestrator/QueryCache.d.ts +7 -2
- package/dist/src/orchestrator/QueryCache.d.ts.map +1 -1
- package/dist/src/orchestrator/QueryCache.js +48 -8
- package/dist/src/orchestrator/QueryCache.js.map +1 -1
- package/dist/src/orchestrator/QueryOrchestrator.d.ts.map +1 -1
- package/dist/src/orchestrator/QueryOrchestrator.js +5 -1
- package/dist/src/orchestrator/QueryOrchestrator.js.map +1 -1
- package/dist/src/orchestrator/QueryQueue.js +1 -1
- package/package.json +6 -4
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [0.30.47](https://github.com/cube-js/cube.js/compare/v0.30.46...v0.30.47) (2022-08-12)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* **cubejs:** LambdaView: hybrid query of source tables and pre-aggregation tables. ([#4718](https://github.com/cube-js/cube.js/issues/4718)) ([4ae826b](https://github.com/cube-js/cube.js/commit/4ae826b4d27afbfce366830150e130f29c7fcbbf))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
## [0.30.46](https://github.com/cube-js/cube.js/compare/v0.30.45...v0.30.46) (2022-08-10)
|
|
7
18
|
|
|
8
19
|
**Note:** Version bump only for package @cubejs-backend/query-orchestrator
|
|
@@ -8,6 +8,13 @@ export interface TableColumn {
|
|
|
8
8
|
export declare type TableStructure = TableColumn[];
|
|
9
9
|
export declare type SchemaStructure = Record<string, TableStructure>;
|
|
10
10
|
export declare type DatabaseStructure = Record<string, SchemaStructure>;
|
|
11
|
+
export declare type Rows = Record<string, unknown>[];
|
|
12
|
+
export interface InlineTable {
|
|
13
|
+
name: string;
|
|
14
|
+
columns: TableStructure;
|
|
15
|
+
csvRows: string;
|
|
16
|
+
}
|
|
17
|
+
export declare type InlineTables = InlineTable[];
|
|
11
18
|
export interface DownloadTableBase {
|
|
12
19
|
/**
|
|
13
20
|
* Optional function to release stream/cursor/connection
|
|
@@ -15,7 +22,7 @@ export interface DownloadTableBase {
|
|
|
15
22
|
release?: () => Promise<void>;
|
|
16
23
|
}
|
|
17
24
|
export interface DownloadTableMemoryData extends DownloadTableBase {
|
|
18
|
-
rows:
|
|
25
|
+
rows: Rows;
|
|
19
26
|
/**
|
|
20
27
|
* Some drivers know types of response
|
|
21
28
|
*/
|
|
@@ -75,7 +82,10 @@ export declare type IndexesSQL = {
|
|
|
75
82
|
export declare type UnloadOptions = {
|
|
76
83
|
maxFileSize: number;
|
|
77
84
|
};
|
|
78
|
-
export declare type QueryOptions = {
|
|
85
|
+
export declare type QueryOptions = {
|
|
86
|
+
inlineTables?: InlineTables;
|
|
87
|
+
[key: string]: any;
|
|
88
|
+
};
|
|
79
89
|
export declare type DownloadQueryResultsResult = DownloadQueryResultsBase & (DownloadTableMemoryData | DownloadTableCSVData | StreamTableData | StreamingSourceTableData);
|
|
80
90
|
export interface DriverInterface {
|
|
81
91
|
createSchemaIfNotExists(schemaName: string): Promise<any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.interface.d.ts","sourceRoot":"","sources":["../../../src/driver/driver.interface.ts"],"names":[],"mappings":";AACA,oBAAY,mBAAmB,GAAG,MAAM,CAAC;AAEzC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,mBAAmB,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CACtB;AACD,oBAAY,cAAc,GAAG,WAAW,EAAE,CAAC;AAC3C,oBAAY,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAC7D,oBAAY,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"driver.interface.d.ts","sourceRoot":"","sources":["../../../src/driver/driver.interface.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import { SaveCancelFn } from '../driver/utils';
|
|
2
2
|
import { Query, QueryCache, QueryWithParams } from './QueryCache';
|
|
3
3
|
import { DriverFactory, DriverFactoryByDataSource } from './DriverFactory';
|
|
4
|
-
import { DownloadTableData, StreamOptions, UnloadOptions } from '../driver';
|
|
4
|
+
import { DownloadTableData, InlineTable, StreamOptions, UnloadOptions } from '../driver';
|
|
5
5
|
import { QueryQueue } from './QueryQueue';
|
|
6
6
|
import { DriverInterface } from '../driver/driver.interface';
|
|
7
|
+
export declare const LAMBDA_TABLE_PREFIX = "lambda";
|
|
7
8
|
export declare function getLastUpdatedAtTimestamp(timestamps: (number | undefined)[]): number | undefined;
|
|
8
9
|
declare type VersionEntry = {
|
|
9
10
|
table_name: string;
|
|
10
11
|
content_version: string;
|
|
11
12
|
structure_version: string;
|
|
12
13
|
last_updated_at: number;
|
|
14
|
+
build_range_end?: string;
|
|
13
15
|
naming_version?: number;
|
|
14
16
|
};
|
|
15
17
|
declare type QueryDateRange = [string, string];
|
|
@@ -17,6 +19,13 @@ declare type IndexDescription = {
|
|
|
17
19
|
sql: QueryWithParams;
|
|
18
20
|
indexName: string;
|
|
19
21
|
};
|
|
22
|
+
export declare type LambdaOptions = {
|
|
23
|
+
maxSourceRows: number;
|
|
24
|
+
};
|
|
25
|
+
export declare type LambdaQuery = {
|
|
26
|
+
sqlAndParams: QueryWithParams;
|
|
27
|
+
cacheKeyQueries: any[];
|
|
28
|
+
};
|
|
20
29
|
export declare type PreAggregationDescription = {
|
|
21
30
|
preAggregationsSchema: string;
|
|
22
31
|
type: 'rollup' | 'originalSql';
|
|
@@ -37,11 +46,15 @@ export declare type PreAggregationDescription = {
|
|
|
37
46
|
preAggregationStartEndQueries: [QueryWithParams, QueryWithParams];
|
|
38
47
|
timestampFormat: string;
|
|
39
48
|
expandedPartition: boolean;
|
|
49
|
+
unionWithSourceData: LambdaOptions;
|
|
50
|
+
buildRangeEnd?: string;
|
|
40
51
|
};
|
|
41
52
|
declare type LoadPreAggregationResult = {
|
|
42
53
|
targetTableName: string;
|
|
43
54
|
refreshKeyValues: any[];
|
|
44
55
|
lastUpdatedAt: number;
|
|
56
|
+
buildRangeEnd?: string;
|
|
57
|
+
lambdaTable?: InlineTable;
|
|
45
58
|
};
|
|
46
59
|
export declare class PreAggregationLoader {
|
|
47
60
|
private readonly redisPrefix;
|
|
@@ -70,7 +83,7 @@ export declare class PreAggregationLoader {
|
|
|
70
83
|
protected executeInQueue(invalidationKeys: any, priority: any, newVersionEntry: any): Promise<any>;
|
|
71
84
|
protected preAggregationQueryKey(invalidationKeys: any): any[];
|
|
72
85
|
protected targetTableName(versionEntry: any): string;
|
|
73
|
-
refresh(
|
|
86
|
+
refresh(newVersionEntry: any, invalidationKeys: any, client: any): any;
|
|
74
87
|
protected logExecutingSql(payload: any): void;
|
|
75
88
|
protected queryOptions(invalidationKeys: any, query: any, params: any, targetTableName: any, newVersionEntry: any): {
|
|
76
89
|
queryKey: any[];
|
|
@@ -79,22 +92,23 @@ export declare class PreAggregationLoader {
|
|
|
79
92
|
targetTableName: any;
|
|
80
93
|
requestId: string;
|
|
81
94
|
newVersionEntry: any;
|
|
95
|
+
buildRangeEnd: any;
|
|
82
96
|
};
|
|
83
|
-
protected refreshImplStoreInSourceStrategy(client: DriverInterface, newVersionEntry: any, saveCancelFn: SaveCancelFn,
|
|
97
|
+
protected refreshImplStoreInSourceStrategy(client: DriverInterface, newVersionEntry: any, saveCancelFn: SaveCancelFn, invalidationKeys: any): Promise<void>;
|
|
84
98
|
/**
|
|
85
99
|
* Strategy to copy pre-aggregation from source db (with write permissions) to external data
|
|
86
100
|
*/
|
|
87
|
-
protected refreshImplTempTableExternalStrategy(client: DriverInterface, newVersionEntry: VersionEntry, saveCancelFn: SaveCancelFn,
|
|
101
|
+
protected refreshImplTempTableExternalStrategy(client: DriverInterface, newVersionEntry: VersionEntry, saveCancelFn: SaveCancelFn, invalidationKeys: any): Promise<void>;
|
|
88
102
|
/**
|
|
89
103
|
* Strategy to copy pre-aggregation from source db (for read-only permissions) to external data
|
|
90
104
|
*/
|
|
91
|
-
protected refreshImplStreamExternalStrategy(client: DriverInterface, newVersionEntry: VersionEntry, saveCancelFn: any,
|
|
105
|
+
protected refreshImplStreamExternalStrategy(client: DriverInterface, newVersionEntry: VersionEntry, saveCancelFn: any, invalidationKeys: any): Promise<void>;
|
|
92
106
|
protected getUnloadOptions(): UnloadOptions;
|
|
93
107
|
protected getStreamingOptions(): StreamOptions;
|
|
94
108
|
/**
|
|
95
109
|
* Create table (for db with write permissions) and extract data via memory/stream/unload
|
|
96
110
|
*/
|
|
97
|
-
protected downloadTempExternalPreAggregation(client: DriverInterface, newVersionEntry: any,
|
|
111
|
+
protected downloadTempExternalPreAggregation(client: DriverInterface, newVersionEntry: any, saveCancelFn: SaveCancelFn, queryOptions: any): Promise<DownloadTableData>;
|
|
98
112
|
protected uploadExternalPreAggregation(tableData: DownloadTableData, newVersionEntry: VersionEntry, saveCancelFn: SaveCancelFn, queryOptions: any): Promise<void>;
|
|
99
113
|
protected createIndexes(driver: any, newVersionEntry: any, saveCancelFn: any, queryOptions: any): Promise<void>;
|
|
100
114
|
protected prepareIndexesSql(newVersionEntry: any, queryOptions: any): any;
|
|
@@ -102,12 +116,14 @@ export declare class PreAggregationLoader {
|
|
|
102
116
|
}
|
|
103
117
|
interface PreAggsPartiotionRangeLoaderOpts {
|
|
104
118
|
maxPartitions: number;
|
|
119
|
+
maxSourceRowLimit: number;
|
|
105
120
|
waitForRenew?: boolean;
|
|
106
121
|
requestId?: string;
|
|
107
122
|
externalRefresh?: boolean;
|
|
108
123
|
forceBuild?: boolean;
|
|
109
124
|
metadata?: any;
|
|
110
125
|
orphanedTimeout?: number;
|
|
126
|
+
lambdaQuery?: LambdaQuery;
|
|
111
127
|
}
|
|
112
128
|
export declare class PreAggregationPartitionRangeLoader {
|
|
113
129
|
private readonly redisPrefix;
|
|
@@ -121,6 +137,7 @@ export declare class PreAggregationPartitionRangeLoader {
|
|
|
121
137
|
private readonly options;
|
|
122
138
|
protected waitForRenew: boolean;
|
|
123
139
|
protected requestId: string;
|
|
140
|
+
protected lambdaQuery: LambdaQuery;
|
|
124
141
|
protected dataSource: string;
|
|
125
142
|
constructor(redisPrefix: string, driverFactory: DriverFactory, logger: any, queryCache: QueryCache, preAggregations: PreAggregations, preAggregation: PreAggregationDescription, preAggregationsTablesToTempTables: any, loadCache: any, options?: PreAggsPartiotionRangeLoaderOpts);
|
|
126
143
|
private loadRangeQuery;
|
|
@@ -130,9 +147,14 @@ export declare class PreAggregationPartitionRangeLoader {
|
|
|
130
147
|
private replacePartitionSqlAndParams;
|
|
131
148
|
private partitionPreAggregationDescription;
|
|
132
149
|
loadPreAggregations(): Promise<LoadPreAggregationResult>;
|
|
150
|
+
/**
|
|
151
|
+
* Downloads the lambda table from the source DB.
|
|
152
|
+
*/
|
|
153
|
+
private downloadLambdaTable;
|
|
133
154
|
partitionPreAggregations(): Promise<PreAggregationDescription[]>;
|
|
134
155
|
private partitionRanges;
|
|
135
156
|
loadBuildRange(): Promise<QueryDateRange>;
|
|
157
|
+
private now;
|
|
136
158
|
private orNowIfEmpty;
|
|
137
159
|
private static checkDataRangeType;
|
|
138
160
|
static intersectDateRanges(rangeA: QueryDateRange | null, rangeB: QueryDateRange | null): QueryDateRange;
|
|
@@ -145,6 +167,7 @@ export declare class PreAggregationPartitionRangeLoader {
|
|
|
145
167
|
}
|
|
146
168
|
declare type PreAggregationsOptions = {
|
|
147
169
|
maxPartitions: number;
|
|
170
|
+
maxSourceRowLimit: number;
|
|
148
171
|
preAggregationsSchemaCacheExpire?: number;
|
|
149
172
|
loadCacheQueueOptions?: any;
|
|
150
173
|
queueOptions?: (dataSource: string) => Promise<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PreAggregations.d.ts","sourceRoot":"","sources":["../../../src/orchestrator/PreAggregations.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PreAggregations.d.ts","sourceRoot":"","sources":["../../../src/orchestrator/PreAggregations.ts"],"names":[],"mappings":"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"}
|