@finos/legend-application-data-cube 0.2.0 → 0.2.1
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/lib/__lib__/LegendDataCubeNavigation.d.ts +1 -1
- package/lib/__lib__/LegendDataCubeNavigation.d.ts.map +1 -1
- package/lib/components/LegendDataCubeWebApplication.d.ts.map +1 -1
- package/lib/components/LegendDataCubeWebApplication.js +1 -14
- package/lib/components/LegendDataCubeWebApplication.js.map +1 -1
- package/lib/components/query-builder/LegendDataCubeQueryBuilder.d.ts.map +1 -1
- package/lib/components/query-builder/LegendDataCubeQueryBuilder.js +23 -23
- package/lib/components/query-builder/LegendDataCubeQueryBuilder.js.map +1 -1
- package/lib/components/query-builder/source-builder/LegendQueryDataCubeSourceBuilder.d.ts.map +1 -1
- package/lib/components/query-builder/source-builder/LegendQueryDataCubeSourceBuilder.js +8 -1
- package/lib/components/query-builder/source-builder/LegendQueryDataCubeSourceBuilder.js.map +1 -1
- package/lib/index.css +1 -1
- package/lib/package.json +2 -2
- package/lib/stores/LegendDataCubeCacheManager.d.ts +15 -6
- package/lib/stores/LegendDataCubeCacheManager.d.ts.map +1 -1
- package/lib/stores/LegendDataCubeCacheManager.js +68 -41
- package/lib/stores/LegendDataCubeCacheManager.js.map +1 -1
- package/lib/stores/LegendDataCubeDataCubeEngine.d.ts +5 -7
- package/lib/stores/LegendDataCubeDataCubeEngine.d.ts.map +1 -1
- package/lib/stores/LegendDataCubeDataCubeEngine.js +79 -100
- package/lib/stores/LegendDataCubeDataCubeEngine.js.map +1 -1
- package/lib/stores/query-builder/LegendDataCubeNewQueryState.d.ts.map +1 -1
- package/lib/stores/query-builder/LegendDataCubeNewQueryState.js +10 -10
- package/lib/stores/query-builder/LegendDataCubeNewQueryState.js.map +1 -1
- package/lib/stores/query-builder/LegendDataCubeQueryBuilderStore.d.ts +0 -1
- package/lib/stores/query-builder/LegendDataCubeQueryBuilderStore.d.ts.map +1 -1
- package/lib/stores/query-builder/LegendDataCubeQueryBuilderStore.js +18 -9
- package/lib/stores/query-builder/LegendDataCubeQueryBuilderStore.js.map +1 -1
- package/lib/stores/query-builder/source-builder/AdhocQueryDataCubeSourceBuilderState.d.ts +1 -1
- package/lib/stores/query-builder/source-builder/AdhocQueryDataCubeSourceBuilderState.d.ts.map +1 -1
- package/lib/stores/query-builder/source-builder/AdhocQueryDataCubeSourceBuilderState.js +1 -1
- package/lib/stores/query-builder/source-builder/AdhocQueryDataCubeSourceBuilderState.js.map +1 -1
- package/lib/stores/query-builder/source-builder/LegendDataCubeSourceBuilderState.d.ts +4 -3
- package/lib/stores/query-builder/source-builder/LegendDataCubeSourceBuilderState.d.ts.map +1 -1
- package/lib/stores/query-builder/source-builder/LegendDataCubeSourceBuilderState.js +5 -2
- package/lib/stores/query-builder/source-builder/LegendDataCubeSourceBuilderState.js.map +1 -1
- package/lib/stores/query-builder/source-builder/LegendQueryDataCubeSourceBuilderState.d.ts +3 -2
- package/lib/stores/query-builder/source-builder/LegendQueryDataCubeSourceBuilderState.d.ts.map +1 -1
- package/lib/stores/query-builder/source-builder/LegendQueryDataCubeSourceBuilderState.js +6 -1
- package/lib/stores/query-builder/source-builder/LegendQueryDataCubeSourceBuilderState.js.map +1 -1
- package/package.json +11 -11
- package/src/__lib__/LegendDataCubeNavigation.ts +1 -1
- package/src/components/LegendDataCubeWebApplication.tsx +1 -25
- package/src/components/query-builder/LegendDataCubeQueryBuilder.tsx +26 -27
- package/src/components/query-builder/source-builder/LegendQueryDataCubeSourceBuilder.tsx +17 -1
- package/src/stores/LegendDataCubeCacheManager.ts +82 -44
- package/src/stores/LegendDataCubeDataCubeEngine.ts +115 -136
- package/src/stores/query-builder/LegendDataCubeNewQueryState.tsx +12 -18
- package/src/stores/query-builder/LegendDataCubeQueryBuilderStore.tsx +26 -10
- package/src/stores/query-builder/source-builder/AdhocQueryDataCubeSourceBuilderState.ts +1 -1
- package/src/stores/query-builder/source-builder/LegendDataCubeSourceBuilderState.ts +8 -4
- package/src/stores/query-builder/source-builder/LegendQueryDataCubeSourceBuilderState.ts +11 -2
|
@@ -20,7 +20,7 @@ export declare enum LEGEND_DATA_CUBE_ROUTE_PATTERN_TOKEN {
|
|
|
20
20
|
export declare const LEGEND_DATA_CUBE_ROUTE_PATTERN: Readonly<{
|
|
21
21
|
QUERY_BUILDER: "/:queryId?";
|
|
22
22
|
}>;
|
|
23
|
-
export type
|
|
23
|
+
export type LegendDataCubeQueryBuilderPathParams = {
|
|
24
24
|
[LEGEND_DATA_CUBE_ROUTE_PATTERN_TOKEN.QUERY_ID]: string;
|
|
25
25
|
};
|
|
26
26
|
export declare const generateQueryBuilderRoute: (queryId: string | null) => string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendDataCubeNavigation.d.ts","sourceRoot":"","sources":["../../src/__lib__/LegendDataCubeNavigation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,oBAAY,oCAAoC;IAC9C,QAAQ,YAAY;IACpB,WAAW,eAAe;CAC3B;AAED,eAAO,MAAM,8BAA8B;;EAEzC,CAAC;AAEH,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"LegendDataCubeNavigation.d.ts","sourceRoot":"","sources":["../../src/__lib__/LegendDataCubeNavigation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,oBAAY,oCAAoC;IAC9C,QAAQ,YAAY;IACpB,WAAW,eAAe;CAC3B;AAED,eAAO,MAAM,8BAA8B;;EAEzC,CAAC;AAEH,MAAM,MAAM,oCAAoC,GAAG;IACjD,CAAC,oCAAoC,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACzD,CAAC;AAEF,eAAO,MAAM,yBAAyB,YAAa,MAAM,GAAG,IAAI,KAAG,MAIlE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendDataCubeWebApplication.d.ts","sourceRoot":"","sources":["../../src/components/LegendDataCubeWebApplication.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"LegendDataCubeWebApplication.d.ts","sourceRoot":"","sources":["../../src/components/LegendDataCubeWebApplication.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAoCH,eAAO,MAAM,4BAA4B,WAC/B;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE;;CAW5B,CAAC"}
|
|
@@ -14,33 +14,20 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
14
14
|
* See the License for the specific language governing permissions and
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
|
-
import {
|
|
17
|
+
import { BrowserEnvironmentProvider } from '@finos/legend-application';
|
|
18
18
|
import { Route, Routes } from '@finos/legend-application/browser';
|
|
19
19
|
import { LegendDataCubeFrameworkProvider, useLegendDataCubeBaseStore, } from './LegendDataCubeFrameworkProvider.js';
|
|
20
20
|
import { observer } from 'mobx-react-lite';
|
|
21
21
|
import { LegendDataCubeQueryBuilder } from './query-builder/LegendDataCubeQueryBuilder.js';
|
|
22
22
|
import { LEGEND_DATA_CUBE_ROUTE_PATTERN } from '../__lib__/LegendDataCubeNavigation.js';
|
|
23
|
-
import { LogEvent } from '@finos/legend-shared';
|
|
24
23
|
import { useEffect } from 'react';
|
|
25
24
|
const LegendDataCubeWebApplicationRouter = observer(() => {
|
|
26
|
-
const application = useApplicationStore();
|
|
27
25
|
const store = useLegendDataCubeBaseStore();
|
|
28
26
|
useEffect(() => {
|
|
29
27
|
store
|
|
30
28
|
.initialize()
|
|
31
29
|
.catch((error) => store.alertService.alertUnhandledError(error));
|
|
32
30
|
}, [store]);
|
|
33
|
-
useEffect(() => {
|
|
34
|
-
application.navigationService.navigator.blockNavigation(
|
|
35
|
-
// Only block navigation in production
|
|
36
|
-
// eslint-disable-next-line no-process-env
|
|
37
|
-
[() => process.env.NODE_ENV === 'production'], undefined, () => {
|
|
38
|
-
application.logService.warn(LogEvent.create(APPLICATION_EVENT.NAVIGATION_BLOCKED), `Navigation from the application is blocked`);
|
|
39
|
-
});
|
|
40
|
-
return () => {
|
|
41
|
-
application.navigationService.navigator.unblockNavigation();
|
|
42
|
-
};
|
|
43
|
-
}, [application]);
|
|
44
31
|
return (_jsx("div", { className: "h-full", children: store.initializeState.hasSucceeded && (_jsx(Routes, { children: _jsx(Route, { path: LEGEND_DATA_CUBE_ROUTE_PATTERN.QUERY_BUILDER, element: _jsx(LegendDataCubeQueryBuilder, {}) }) })) }));
|
|
45
32
|
});
|
|
46
33
|
export const LegendDataCubeWebApplication = observer((props) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendDataCubeWebApplication.js","sourceRoot":"","sources":["../../src/components/LegendDataCubeWebApplication.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"LegendDataCubeWebApplication.js","sourceRoot":"","sources":["../../src/components/LegendDataCubeWebApplication.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EACL,+BAA+B,EAC/B,0BAA0B,GAC3B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,0BAA0B,EAAE,MAAM,+CAA+C,CAAC;AAC3F,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC;AACxF,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,MAAM,kCAAkC,GAAG,QAAQ,CAAC,GAAG,EAAE;IACvD,MAAM,KAAK,GAAG,0BAA0B,EAAE,CAAC;IAE3C,SAAS,CAAC,GAAG,EAAE;QACb,KAAK;aACF,UAAU,EAAE;aACZ,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;IACrE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO,CACL,cAAK,SAAS,EAAC,QAAQ,YACpB,KAAK,CAAC,eAAe,CAAC,YAAY,IAAI,CACrC,KAAC,MAAM,cACL,KAAC,KAAK,IACJ,IAAI,EAAE,8BAA8B,CAAC,aAAa,EAClD,OAAO,EAAE,KAAC,0BAA0B,KAAG,GACvC,GACK,CACV,GACG,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,4BAA4B,GAAG,QAAQ,CAClD,CAAC,KAA0B,EAAE,EAAE;IAC7B,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAE1B,OAAO,CACL,KAAC,0BAA0B,IAAC,OAAO,EAAE,OAAO,YAC1C,KAAC,+BAA+B,cAC9B,KAAC,kCAAkC,KAAG,GACN,GACP,CAC9B,CAAC;AACJ,CAAC,CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendDataCubeQueryBuilder.d.ts","sourceRoot":"","sources":["../../../src/components/query-builder/LegendDataCubeQueryBuilder.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"LegendDataCubeQueryBuilder.d.ts","sourceRoot":"","sources":["../../../src/components/query-builder/LegendDataCubeQueryBuilder.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAiDH,eAAO,MAAM,0BAA0B,+CAoGtC,CAAC"}
|
|
@@ -22,7 +22,6 @@ import { useParams } from '@finos/legend-application/browser';
|
|
|
22
22
|
import { LEGEND_DATA_CUBE_ROUTE_PATTERN_TOKEN, } from '../../__lib__/LegendDataCubeNavigation.js';
|
|
23
23
|
import { useEffect } from 'react';
|
|
24
24
|
import { LegendDataCubeSettingStorageKey } from '../../__lib__/LegendDataCubeSetting.js';
|
|
25
|
-
import { assertErrorThrown } from '@finos/legend-shared';
|
|
26
25
|
const LegendDataCubeQueryBuilderHeader = observer(() => {
|
|
27
26
|
const store = useLegendDataCubeQueryBuilderStore();
|
|
28
27
|
return (_jsxs("div", { className: "flex h-full items-center", children: [_jsx(FormButton, { compact: true, onClick: () => store.loader.display.open(), children: "Load Query" }), _jsx(FormButton, { compact: true, className: "ml-1.5", onClick: () => store.newQueryState.display.open(), children: "New Query" }), _jsx(FormButton, { compact: true, className: "ml-1.5", disabled: !store.builder?.dataCube, onClick: () => store.saverDisplay.open(), children: "Save Query" })] }));
|
|
@@ -33,30 +32,31 @@ export const LegendDataCubeQueryBuilder = withLegendDataCubeQueryBuilderStore(ob
|
|
|
33
32
|
const application = store.application;
|
|
34
33
|
const params = useParams();
|
|
35
34
|
const queryId = params[LEGEND_DATA_CUBE_ROUTE_PATTERN_TOKEN.QUERY_ID];
|
|
36
|
-
const sourceData = application.navigationService.navigator.getCurrentLocationParameterValue(LEGEND_DATA_CUBE_ROUTE_PATTERN_TOKEN.SOURCE_DATA);
|
|
37
35
|
useEffect(() => {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
store
|
|
51
|
-
|
|
52
|
-
.catch((error) => store.alertService.alertUnhandledError(error));
|
|
53
|
-
}
|
|
54
|
-
}, [store, queryId, sourceData]);
|
|
36
|
+
application.navigationService.navigator.blockNavigation(
|
|
37
|
+
// Only block navigation in production, in development, we should have
|
|
38
|
+
// the flexibility to reload the page quickly
|
|
39
|
+
// eslint-disable-next-line no-process-env
|
|
40
|
+
[() => process.env.NODE_ENV === 'production']);
|
|
41
|
+
return () => {
|
|
42
|
+
application.navigationService.navigator.unblockNavigation();
|
|
43
|
+
};
|
|
44
|
+
}, [application]);
|
|
45
|
+
useEffect(() => {
|
|
46
|
+
store
|
|
47
|
+
.loadQuery(queryId)
|
|
48
|
+
.catch((error) => store.alertService.alertUnhandledError(error));
|
|
49
|
+
}, [store, queryId]);
|
|
55
50
|
useEffect(() => {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
51
|
+
store.engine
|
|
52
|
+
.initializeCacheManager()
|
|
53
|
+
.catch((error) => store.alertService.alertUnhandledError(error));
|
|
54
|
+
return () => {
|
|
55
|
+
store.engine
|
|
56
|
+
.disposeCacheManager()
|
|
57
|
+
.catch((error) => store.alertService.alertUnhandledError(error));
|
|
58
|
+
};
|
|
59
|
+
}, [store]);
|
|
60
60
|
if (!builder) {
|
|
61
61
|
return (_jsx(DataCubePlaceholder, { title: "[ Legend DataCube ]", layoutManager: store.layoutService.manager, taskManager: store.taskService.manager, headerContent: _jsx(LegendDataCubeQueryBuilderHeader, {}), menuItems: [
|
|
62
62
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendDataCubeQueryBuilder.js","sourceRoot":"","sources":["../../../src/components/query-builder/LegendDataCubeQueryBuilder.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EACL,QAAQ,EACR,UAAU,EAEV,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACnC,OAAO,EACL,kCAAkC,EAClC,mCAAmC,GACpC,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EACL,oCAAoC,GAErC,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,+BAA+B,EAAE,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"LegendDataCubeQueryBuilder.js","sourceRoot":"","sources":["../../../src/components/query-builder/LegendDataCubeQueryBuilder.tsx"],"names":[],"mappings":"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"}
|
package/lib/components/query-builder/source-builder/LegendQueryDataCubeSourceBuilder.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendQueryDataCubeSourceBuilder.d.ts","sourceRoot":"","sources":["../../../../src/components/query-builder/source-builder/LegendQueryDataCubeSourceBuilder.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAQH,OAAO,KAAK,EAAE,qCAAqC,EAAE,MAAM,uFAAuF,CAAC;
|
|
1
|
+
{"version":3,"file":"LegendQueryDataCubeSourceBuilder.d.ts","sourceRoot":"","sources":["../../../../src/components/query-builder/source-builder/LegendQueryDataCubeSourceBuilder.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAQH,OAAO,KAAK,EAAE,qCAAqC,EAAE,MAAM,uFAAuF,CAAC;AAsOnJ,eAAO,MAAM,gCAAgC,WACnC;IAAE,aAAa,EAAE,qCAAqC,CAAA;CAAE;;CA6EjE,CAAC"}
|
|
@@ -24,6 +24,7 @@ import { useRef, useState, useMemo, useEffect } from 'react';
|
|
|
24
24
|
import { FormButton, FormCheckbox, FormCodeEditor, FormDropdownMenu, FormDropdownMenuItem, FormDropdownMenuTrigger, FormTextInput, } from '@finos/legend-data-cube';
|
|
25
25
|
import { CODE_EDITOR_LANGUAGE } from '@finos/legend-code-editor';
|
|
26
26
|
import { useLegendDataCubeQueryBuilderStore } from '../LegendDataCubeQueryBuilderStoreProvider.js';
|
|
27
|
+
import { useApplicationStore } from '@finos/legend-application';
|
|
27
28
|
const LegendQuerySearcher = observer((props) => {
|
|
28
29
|
const { state } = props;
|
|
29
30
|
const store = useLegendDataCubeQueryBuilderStore();
|
|
@@ -83,11 +84,17 @@ const LegendQuerySearcher = observer((props) => {
|
|
|
83
84
|
});
|
|
84
85
|
export const LegendQueryDataCubeSourceBuilder = observer((props) => {
|
|
85
86
|
const { sourceBuilder } = props;
|
|
87
|
+
const application = useApplicationStore();
|
|
88
|
+
const store = useLegendDataCubeQueryBuilderStore();
|
|
86
89
|
const query = sourceBuilder.query;
|
|
87
90
|
if (!query) {
|
|
88
91
|
return _jsx(LegendQuerySearcher, { state: sourceBuilder.queryLoader });
|
|
89
92
|
}
|
|
90
|
-
return (_jsxs("div", { className: "h-full", children: [_jsx("div", { className: "mb-0.5 flex h-[60px] w-full border border-neutral-200 bg-neutral-100", children: _jsxs("div", { className: "w-full", children: [_jsx("div", { className: "h-6 w-4/5 overflow-hidden text-ellipsis whitespace-nowrap px-1.5 leading-6", children: query.name }), _jsx("
|
|
93
|
+
return (_jsxs("div", { className: "h-full", children: [_jsx("div", { className: "relative mb-0.5 flex h-[60px] w-full border border-neutral-200 bg-neutral-100", children: _jsxs("div", { className: "w-full", children: [_jsx("div", { className: "h-6 w-4/5 overflow-hidden text-ellipsis whitespace-nowrap px-1.5 leading-6", children: query.name }), _jsx("button", { className: "absolute right-1 top-1 flex aspect-square w-5 items-center justify-center text-neutral-500", title: "Copy ID to clipboard", onClick: () => {
|
|
94
|
+
application.clipboardService
|
|
95
|
+
.copyTextToClipboard(query.id)
|
|
96
|
+
.catch((error) => store.alertService.alertUnhandledError(error));
|
|
97
|
+
}, children: _jsx(DataCubeIcon.Clipboard, {}) }), _jsx("div", { className: "flex h-[18px] items-start justify-between px-1.5 text-sm text-neutral-500", children: `[ ${generateGAVCoordinates(query.groupId, query.artifactId, query.versionId)} ]` }), _jsxs("div", { className: "flex h-[18px] items-start justify-between px-1.5", children: [_jsxs("div", { className: "flex", children: [_jsx(DataCubeIcon.ClockEdit, { className: "text-sm text-neutral-500" }), _jsx("div", { className: "ml-1 text-sm text-neutral-500", children: query.lastUpdatedAt
|
|
91
98
|
? formatDistanceToNow(new Date(query.lastUpdatedAt), {
|
|
92
99
|
includeSeconds: true,
|
|
93
100
|
addSuffix: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendQueryDataCubeSourceBuilder.js","sourceRoot":"","sources":["../../../../src/components/query-builder/source-builder/LegendQueryDataCubeSourceBuilder.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EACL,mCAAmC,EACnC,eAAe,GAEhB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EACL,QAAQ,EACR,mBAAmB,EACnB,YAAY,GACb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC7D,OAAO,EACL,UAAU,EACV,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,aAAa,GACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,kCAAkC,EAAE,MAAM,+CAA+C,CAAC;
|
|
1
|
+
{"version":3,"file":"LegendQueryDataCubeSourceBuilder.js","sourceRoot":"","sources":["../../../../src/components/query-builder/source-builder/LegendQueryDataCubeSourceBuilder.tsx"],"names":[],"mappings":"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"}
|
package/lib/index.css
CHANGED
package/lib/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@finos/legend-application-data-cube",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "Legend DataCube application core",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"legend",
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"@finos/legend-storage": "workspace:*",
|
|
55
55
|
"@types/react": "19.0.8",
|
|
56
56
|
"@types/react-dom": "19.0.3",
|
|
57
|
-
"mobx": "6.13.
|
|
57
|
+
"mobx": "6.13.6",
|
|
58
58
|
"mobx-react-lite": "4.1.0",
|
|
59
59
|
"react": "19.0.0",
|
|
60
60
|
"react-dom": "19.0.0",
|
|
@@ -14,12 +14,21 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import { TDSExecutionResult } from '@finos/legend-graph';
|
|
17
|
-
|
|
17
|
+
import type { CachedDataCubeSource } from '@finos/legend-data-cube';
|
|
18
|
+
export declare class LegendDataCubeDataCubeCacheManager {
|
|
19
|
+
private static readonly DUCKDB_DEFAULT_SCHEMA_NAME;
|
|
20
|
+
private static readonly TABLE_NAME_PREFIX;
|
|
21
|
+
private static tableCounter;
|
|
18
22
|
private _database?;
|
|
19
|
-
private
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
23
|
+
private get database();
|
|
24
|
+
initialize(): Promise<void>;
|
|
25
|
+
cache(result: TDSExecutionResult): Promise<{
|
|
26
|
+
table: string;
|
|
27
|
+
schema: string;
|
|
28
|
+
rowCount: number;
|
|
29
|
+
}>;
|
|
30
|
+
runSQLQuery(sql: string): Promise<TDSExecutionResult>;
|
|
31
|
+
disposeCache(source: CachedDataCubeSource): Promise<void>;
|
|
32
|
+
dispose(): Promise<void>;
|
|
24
33
|
}
|
|
25
34
|
//# sourceMappingURL=LegendDataCubeCacheManager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendDataCubeCacheManager.d.ts","sourceRoot":"","sources":["../../src/stores/LegendDataCubeCacheManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,
|
|
1
|
+
{"version":3,"file":"LegendDataCubeCacheManager.d.ts","sourceRoot":"","sources":["../../src/stores/LegendDataCubeCacheManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,EAEL,kBAAkB,EAGnB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,qBAAa,kCAAkC;IAC7C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,0BAA0B,CAAU;IAC5D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAW;IACpD,OAAO,CAAC,MAAM,CAAC,YAAY,CAAK;IAEhC,OAAO,CAAC,SAAS,CAAC,CAAiC;IAEnD,OAAO,KAAK,QAAQ,GAKnB;IAEK,UAAU;IAmCV,KAAK,CAAC,MAAM,EAAE,kBAAkB;;;;;IA8DhC,WAAW,CAAC,GAAG,EAAE,MAAM;IAmBvB,YAAY,CAAC,MAAM,EAAE,oBAAoB;IAOzC,OAAO;CAId"}
|
|
@@ -16,13 +16,19 @@
|
|
|
16
16
|
import * as duckdb from '@duckdb/duckdb-wasm';
|
|
17
17
|
import duckdb_wasm from '@duckdb/duckdb-wasm/dist/duckdb-mvp.wasm';
|
|
18
18
|
import duckdb_wasm_next from '@duckdb/duckdb-wasm/dist/duckdb-eh.wasm';
|
|
19
|
-
import { TDSExecutionResult, TDSRow, TabularDataSet, } from '@finos/legend-graph';
|
|
20
|
-
import { assertNonNullable } from '@finos/legend-shared';
|
|
21
|
-
export class
|
|
19
|
+
import { PRIMITIVE_TYPE, TDSExecutionResult, TDSRow, TabularDataSet, } from '@finos/legend-graph';
|
|
20
|
+
import { assertNonNullable, guaranteeNonNullable } from '@finos/legend-shared';
|
|
21
|
+
export class LegendDataCubeDataCubeCacheManager {
|
|
22
|
+
static DUCKDB_DEFAULT_SCHEMA_NAME = 'main'; // See https://duckdb.org/docs/sql/statements/use.html
|
|
23
|
+
static TABLE_NAME_PREFIX = 'cache';
|
|
24
|
+
static tableCounter = 0;
|
|
22
25
|
_database;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
+
get database() {
|
|
27
|
+
return guaranteeNonNullable(this._database, `Cache manager database not initialized`);
|
|
28
|
+
}
|
|
29
|
+
async initialize() {
|
|
30
|
+
// Initialize DuckDB with WASM
|
|
31
|
+
// See: https://duckdb.org/docs/api/wasm/instantiation.html
|
|
26
32
|
const MANUAL_BUNDLES = {
|
|
27
33
|
mvp: {
|
|
28
34
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
@@ -38,16 +44,48 @@ export class LegendDataCubeDataCubeCacheEngine {
|
|
|
38
44
|
// Select a bundle based on browser checks
|
|
39
45
|
const bundle = await duckdb.selectBundle(MANUAL_BUNDLES);
|
|
40
46
|
// Instantiate the asynchronus version of DuckDB-wasm
|
|
41
|
-
assertNonNullable(bundle.mainWorker, `Can't initialize
|
|
47
|
+
assertNonNullable(bundle.mainWorker, `Can't initialize cache manager: DuckDB main worker not initialized`);
|
|
42
48
|
const worker = new Worker(bundle.mainWorker);
|
|
43
49
|
const logger = new duckdb.ConsoleLogger();
|
|
44
|
-
|
|
45
|
-
await
|
|
46
|
-
this.
|
|
50
|
+
const database = new duckdb.AsyncDuckDB(logger, worker);
|
|
51
|
+
await database.instantiate(bundle.mainModule, bundle.pthreadWorker);
|
|
52
|
+
this._database = database;
|
|
53
|
+
}
|
|
54
|
+
async cache(result) {
|
|
55
|
+
const schema = LegendDataCubeDataCubeCacheManager.DUCKDB_DEFAULT_SCHEMA_NAME;
|
|
56
|
+
LegendDataCubeDataCubeCacheManager.tableCounter += 1;
|
|
57
|
+
const table = `${LegendDataCubeDataCubeCacheManager.TABLE_NAME_PREFIX}${LegendDataCubeDataCubeCacheManager.tableCounter}`;
|
|
58
|
+
const connection = await this.database.connect();
|
|
59
|
+
// TODO: review if we can improve performance here using CSV/Arrow for ingestion
|
|
47
60
|
const columns = [];
|
|
48
|
-
result.builder.columns.forEach((col) =>
|
|
49
|
-
|
|
50
|
-
|
|
61
|
+
result.builder.columns.forEach((col) => {
|
|
62
|
+
let colType;
|
|
63
|
+
switch (col.type) {
|
|
64
|
+
case PRIMITIVE_TYPE.BOOLEAN: {
|
|
65
|
+
colType = 'BOOLEAN';
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
case PRIMITIVE_TYPE.NUMBER: {
|
|
69
|
+
colType = 'DOUBLE';
|
|
70
|
+
break;
|
|
71
|
+
}
|
|
72
|
+
case PRIMITIVE_TYPE.INTEGER: {
|
|
73
|
+
colType = 'INTEGER';
|
|
74
|
+
break;
|
|
75
|
+
}
|
|
76
|
+
case PRIMITIVE_TYPE.DATE: {
|
|
77
|
+
colType = 'TIMESTAMP';
|
|
78
|
+
break;
|
|
79
|
+
}
|
|
80
|
+
case PRIMITIVE_TYPE.STRING:
|
|
81
|
+
default: {
|
|
82
|
+
colType = 'VARCHAR';
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
columns.push(`"${col.name}" ${colType}`);
|
|
86
|
+
});
|
|
87
|
+
const CREATE_TABLE_SQL = `CREATE TABLE ${schema}.${table} (${columns.join(',')})`;
|
|
88
|
+
await connection.query(CREATE_TABLE_SQL);
|
|
51
89
|
const rowString = [];
|
|
52
90
|
result.result.rows.forEach((row) => {
|
|
53
91
|
const updatedRows = row.values.map((val) => {
|
|
@@ -61,13 +99,16 @@ export class LegendDataCubeDataCubeCacheEngine {
|
|
|
61
99
|
});
|
|
62
100
|
rowString.push(`(${updatedRows.join(',')})`);
|
|
63
101
|
});
|
|
64
|
-
const INSERT_TABLE_SQL = `INSERT INTO
|
|
65
|
-
await
|
|
102
|
+
const INSERT_TABLE_SQL = `INSERT INTO ${schema}.${table} VALUES ${rowString.join(',')}`;
|
|
103
|
+
await connection.query(INSERT_TABLE_SQL);
|
|
104
|
+
await connection.close();
|
|
105
|
+
return { table, schema, rowCount: result.result.rows.length };
|
|
66
106
|
}
|
|
67
|
-
async
|
|
68
|
-
const
|
|
69
|
-
const
|
|
70
|
-
const
|
|
107
|
+
async runSQLQuery(sql) {
|
|
108
|
+
const connection = await this.database.connect();
|
|
109
|
+
const result = (await connection.query(sql)).toArray();
|
|
110
|
+
const columnNames = Object.keys(result.at(0));
|
|
111
|
+
const rows = result.map((row) => {
|
|
71
112
|
const values = new TDSRow();
|
|
72
113
|
values.values = columnNames.map((column) => row[column]);
|
|
73
114
|
return values;
|
|
@@ -75,33 +116,19 @@ export class LegendDataCubeDataCubeCacheEngine {
|
|
|
75
116
|
const tdsExecutionResult = new TDSExecutionResult();
|
|
76
117
|
const tds = new TabularDataSet();
|
|
77
118
|
tds.columns = columnNames;
|
|
78
|
-
tds.rows = rows
|
|
119
|
+
tds.rows = rows;
|
|
79
120
|
tdsExecutionResult.result = tds;
|
|
80
121
|
return tdsExecutionResult;
|
|
81
122
|
}
|
|
82
|
-
async
|
|
83
|
-
await this.
|
|
123
|
+
async disposeCache(source) {
|
|
124
|
+
const connection = await this.database.connect();
|
|
125
|
+
const DROP_TABLE_SQL = `DROP TABLE IF EXISTS "${source.schema}.${source.table}"`;
|
|
126
|
+
await connection.query(DROP_TABLE_SQL);
|
|
127
|
+
await connection.close();
|
|
128
|
+
}
|
|
129
|
+
async dispose() {
|
|
84
130
|
await this._database?.flushFiles();
|
|
85
131
|
await this._database?.terminate();
|
|
86
132
|
}
|
|
87
|
-
getDuckDbType(type) {
|
|
88
|
-
switch (type?.toLowerCase()) {
|
|
89
|
-
//TODO: mapping from tds build to duckdb data types
|
|
90
|
-
case 'string':
|
|
91
|
-
return 'VARCHAR';
|
|
92
|
-
case 'boolean':
|
|
93
|
-
return 'BOOLEAN';
|
|
94
|
-
case 'bigint':
|
|
95
|
-
return 'BIGINT';
|
|
96
|
-
case 'number':
|
|
97
|
-
return 'DOUBLE';
|
|
98
|
-
case 'integer':
|
|
99
|
-
return 'INTEGER';
|
|
100
|
-
case 'date':
|
|
101
|
-
return 'TIMESTAMP';
|
|
102
|
-
default:
|
|
103
|
-
return 'VARCHAR';
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
133
|
}
|
|
107
134
|
//# sourceMappingURL=LegendDataCubeCacheManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendDataCubeCacheManager.js","sourceRoot":"","sources":["../../src/stores/LegendDataCubeCacheManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC;AAC9C,OAAO,WAAW,MAAM,0CAA0C,CAAC;AACnE,OAAO,gBAAgB,MAAM,yCAAyC,CAAC;AACvE,OAAO,EACL,kBAAkB,EAClB,MAAM,EACN,cAAc,GACf,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"LegendDataCubeCacheManager.js","sourceRoot":"","sources":["../../src/stores/LegendDataCubeCacheManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import { V1_Lambda, V1_ValueSpecification, type V1_EngineServerClient, V1_PureGraphManager, TDSExecutionResult } from '@finos/legend-graph';
|
|
17
|
-
import { DataCubeEngine, type DataCubeSource, type CompletionItem, type DataCubeExecutionOptions, CachedDataCubeSource
|
|
16
|
+
import { V1_Lambda, type V1_ValueSpecification, type V1_EngineServerClient, V1_PureGraphManager, TDSExecutionResult } from '@finos/legend-graph';
|
|
17
|
+
import { DataCubeEngine, type DataCubeSource, type CompletionItem, type DataCubeExecutionOptions, CachedDataCubeSource } from '@finos/legend-data-cube';
|
|
18
18
|
import { LogEvent, type PlainObject } from '@finos/legend-shared';
|
|
19
19
|
import type { LegendDataCubeApplicationStore } from './LegendDataCubeBaseStore.js';
|
|
20
20
|
import { type DepotServerClient } from '@finos/legend-server-depot';
|
|
@@ -25,6 +25,8 @@ export declare class LegendDataCubeDataCubeEngine extends DataCubeEngine {
|
|
|
25
25
|
private readonly _graphManager;
|
|
26
26
|
private readonly _cacheManager;
|
|
27
27
|
constructor(application: LegendDataCubeApplicationStore, depotServerClient: DepotServerClient, engineServerClient: V1_EngineServerClient, graphManager: V1_PureGraphManager);
|
|
28
|
+
initializeCacheManager(): Promise<void>;
|
|
29
|
+
disposeCacheManager(): Promise<void>;
|
|
28
30
|
processQuerySource(value: PlainObject): Promise<DataCubeSource>;
|
|
29
31
|
parseValueSpecification(code: string, returnSourceInformation?: boolean | undefined): Promise<V1_ValueSpecification>;
|
|
30
32
|
getValueSpecificationCode(value: V1_ValueSpecification, pretty?: boolean | undefined): Promise<string>;
|
|
@@ -48,16 +50,12 @@ export declare class LegendDataCubeDataCubeEngine extends DataCubeEngine {
|
|
|
48
50
|
executionTime: number;
|
|
49
51
|
}>;
|
|
50
52
|
buildExecutionContext(source: DataCubeSource): import("@finos/legend-graph").V1_AppliedFunction | undefined;
|
|
51
|
-
processInitialSnapshot(source: DataCubeSource, snapshot: DataCubeQuerySnapshot): DataCubeQuerySnapshot;
|
|
52
53
|
private _getQueryRelationType;
|
|
53
54
|
private _getLambdaRelationType;
|
|
54
55
|
private _runQuery;
|
|
55
56
|
private generateExecutionPlan;
|
|
56
57
|
initializeCache(source: DataCubeSource): Promise<CachedDataCubeSource | undefined>;
|
|
57
|
-
|
|
58
|
-
private _synthesizeCachedSource;
|
|
59
|
-
private _synthesizeQuery;
|
|
60
|
-
private _synthesizeModel;
|
|
58
|
+
disposeCache(source: CachedDataCubeSource): Promise<void>;
|
|
61
59
|
private _getColumnType;
|
|
62
60
|
logDebug(message: string, ...data: unknown[]): void;
|
|
63
61
|
debugProcess(processName: string, ...data: [string, unknown][]): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendDataCubeDataCubeEngine.d.ts","sourceRoot":"","sources":["../../src/stores/LegendDataCubeDataCubeEngine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,SAAS,EACT,qBAAqB,
|
|
1
|
+
{"version":3,"file":"LegendDataCubeDataCubeEngine.d.ts","sourceRoot":"","sources":["../../src/stores/LegendDataCubeDataCubeEngine.ts"],"names":[],"mappings":"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"}
|