@finos/legend-application-studio 28.18.116 → 28.18.118
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/components/editor/editor-group/connection-editor/DatabaseSchemaExplorer.d.ts.map +1 -1
- package/lib/components/editor/editor-group/connection-editor/DatabaseSchemaExplorer.js +9 -4
- package/lib/components/editor/editor-group/connection-editor/DatabaseSchemaExplorer.js.map +1 -1
- package/lib/index.css +1 -1
- package/lib/package.json +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/connection/DatabaseBuilderState.d.ts +10 -3
- package/lib/stores/editor/editor-state/element-editor-state/connection/DatabaseBuilderState.d.ts.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/connection/DatabaseBuilderState.js +124 -18
- package/lib/stores/editor/editor-state/element-editor-state/connection/DatabaseBuilderState.js.map +1 -1
- package/package.json +9 -9
- package/src/components/editor/editor-group/connection-editor/DatabaseSchemaExplorer.tsx +14 -2
- package/src/stores/editor/editor-state/element-editor-state/connection/DatabaseBuilderState.ts +204 -20
package/lib/components/editor/editor-group/connection-editor/DatabaseSchemaExplorer.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DatabaseSchemaExplorer.d.ts","sourceRoot":"","sources":["../../../../../src/components/editor/editor-group/connection-editor/DatabaseSchemaExplorer.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EACL,KAAK,sBAAsB,
|
1
|
+
{"version":3,"file":"DatabaseSchemaExplorer.d.ts","sourceRoot":"","sources":["../../../../../src/components/editor/editor-group/connection-editor/DatabaseSchemaExplorer.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EACL,KAAK,sBAAsB,EAa5B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,kCAAkC,EAKvC,KAAK,2BAA2B,EACjC,MAAM,gGAAgG,CAAC;AAoCxG,MAAM,MAAM,4CAA4C,GACtD,sBAAsB,CACpB,kCAAkC,EAClC;IACE,iBAAiB,EAAE,CAAC,IAAI,EAAE,kCAAkC,KAAK,IAAI,CAAC;IACtE,mBAAmB,EAAE,CACnB,IAAI,EAAE,kCAAkC,KACrC,OAAO,CAAC;IACb,WAAW,EAAE,CAAC,IAAI,EAAE,kCAAkC,KAAK,IAAI,CAAC;IAChE,qBAAqB,EAAE,CACrB,IAAI,EAAE,kCAAkC,KACrC,OAAO,CAAC;CACd,CACF,CAAC;AAEJ,eAAO,MAAM,uCAAuC,2OA6GnD,CAAC;AAEF,eAAO,MAAM,sBAAsB,WACzB;IACN,mBAAmB,EAAE,2BAA2B,CAAC;IACjD,QAAQ,EAAE,wBAAwB,CAAC;IACnC,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC,0BAA0B,CAAC,EACvB,KAAK,CAAC,EAAE,CAAC,4CAA4C,CAAC,GACtD,SAAS,CAAC;CACf;;CAmEF,CAAC"}
|
@@ -15,12 +15,12 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
15
15
|
* limitations under the License.
|
16
16
|
*/
|
17
17
|
import { observer } from 'mobx-react-lite';
|
18
|
-
import { TreeView, PURE_DatabaseSchemaIcon, PURE_DatabaseTableIcon, CircleIcon, ChevronDownIcon, ChevronRightIcon, CheckCircleIcon, EmptyCircleIcon, KeyIcon, EyeIcon, compareLabelFn, } from '@finos/legend-art';
|
19
|
-
import { DatabaseSchemaExplorerTreeColumnNodeData, DatabaseSchemaExplorerTreeSchemaNodeData, DatabaseSchemaExplorerTreeTableNodeData, } from '../../../../stores/editor/editor-state/element-editor-state/connection/DatabaseBuilderState.js';
|
18
|
+
import { TreeView, PURE_DatabaseSchemaIcon, PURE_DatabaseTableIcon, PURE_DatabaseTabularFunctionIcon, CircleIcon, ChevronDownIcon, ChevronRightIcon, CheckCircleIcon, EmptyCircleIcon, KeyIcon, EyeIcon, compareLabelFn, } from '@finos/legend-art';
|
19
|
+
import { DatabaseSchemaExplorerTreeColumnNodeData, DatabaseSchemaExplorerTreeSchemaNodeData, DatabaseSchemaExplorerTreeTableNodeData, DatabaseSchemaExplorerTreeTabularFunctionNodeData, } from '../../../../stores/editor/editor-state/element-editor-state/connection/DatabaseBuilderState.js';
|
20
20
|
import { useApplicationStore } from '@finos/legend-application';
|
21
21
|
import { renderColumnTypeIcon } from './DatabaseEditorHelper.js';
|
22
22
|
import { flowResult } from 'mobx';
|
23
|
-
import { stringifyDataType } from '@finos/legend-graph';
|
23
|
+
import { stringifyDataType, Table } from '@finos/legend-graph';
|
24
24
|
import { forwardRef } from 'react';
|
25
25
|
const getDatabaseSchemaNodeIcon = (node) => {
|
26
26
|
if (node instanceof DatabaseSchemaExplorerTreeSchemaNodeData) {
|
@@ -29,6 +29,9 @@ const getDatabaseSchemaNodeIcon = (node) => {
|
|
29
29
|
else if (node instanceof DatabaseSchemaExplorerTreeTableNodeData) {
|
30
30
|
return (_jsx("div", { className: "database-schema-explorer__icon--table", children: _jsx(PURE_DatabaseTableIcon, {}) }));
|
31
31
|
}
|
32
|
+
else if (node instanceof DatabaseSchemaExplorerTreeTabularFunctionNodeData) {
|
33
|
+
return (_jsx("div", { className: "database-schema-explorer__icon--tabularFunction", children: _jsx(PURE_DatabaseTabularFunctionIcon, {}) }));
|
34
|
+
}
|
32
35
|
else if (node instanceof DatabaseSchemaExplorerTreeColumnNodeData) {
|
33
36
|
return renderColumnTypeIcon(node.column.type);
|
34
37
|
}
|
@@ -48,6 +51,7 @@ export const DatabaseSchemaExplorerTreeNodeContainer = observer(forwardRef(funct
|
|
48
51
|
}
|
49
52
|
};
|
50
53
|
const isPrimaryKeyColumn = node instanceof DatabaseSchemaExplorerTreeColumnNodeData &&
|
54
|
+
node.owner instanceof Table &&
|
51
55
|
node.owner.primaryKey.includes(node.column);
|
52
56
|
const renderCheckedIcon = (_node) => {
|
53
57
|
if (_node instanceof DatabaseSchemaExplorerTreeColumnNodeData) {
|
@@ -94,7 +98,8 @@ export const DatabaseSchemaExplorer = observer((props) => {
|
|
94
98
|
flowResult(schemaExplorerState.previewData(node)).catch(applicationStore.alertUnhandledError);
|
95
99
|
};
|
96
100
|
const isPreviewDataDisabled = (node) => !(node instanceof DatabaseSchemaExplorerTreeTableNodeData ||
|
97
|
-
node instanceof DatabaseSchemaExplorerTreeColumnNodeData
|
101
|
+
node instanceof DatabaseSchemaExplorerTreeColumnNodeData ||
|
102
|
+
node instanceof DatabaseSchemaExplorerTreeTabularFunctionNodeData);
|
98
103
|
return (_jsx(TreeView, { className: "database-schema-explorer", components: {
|
99
104
|
TreeNodeContainer: treeNodeContainerComponent ??
|
100
105
|
DatabaseSchemaExplorerTreeNodeContainer,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DatabaseSchemaExplorer.js","sourceRoot":"","sources":["../../../../../src/components/editor/editor-group/connection-editor/DatabaseSchemaExplorer.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAEL,QAAQ,EACR,uBAAuB,EACvB,sBAAsB,EACtB,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,OAAO,EACP,OAAO,EACP,cAAc,GACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAGL,wCAAwC,EACxC,wCAAwC,EACxC,uCAAuC,
|
1
|
+
{"version":3,"file":"DatabaseSchemaExplorer.js","sourceRoot":"","sources":["../../../../../src/components/editor/editor-group/connection-editor/DatabaseSchemaExplorer.tsx"],"names":[],"mappings":"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"}
|
package/lib/index.css
CHANGED
package/lib/package.json
CHANGED
package/lib/stores/editor/editor-state/element-editor-state/connection/DatabaseBuilderState.d.ts
CHANGED
@@ -17,7 +17,7 @@ import type { Entity } from '@finos/legend-storage';
|
|
17
17
|
import type { TreeData, TreeNodeData } from '@finos/legend-art';
|
18
18
|
import { type GeneratorFn, ActionState } from '@finos/legend-shared';
|
19
19
|
import type { EditorStore } from '../../../EditorStore.js';
|
20
|
-
import { TDSExecutionResult, type Schema, Table, RelationalDatabaseConnection, Column, Database } from '@finos/legend-graph';
|
20
|
+
import { TDSExecutionResult, type Schema, Table, type TabularFunction, RelationalDatabaseConnection, Column, Database } from '@finos/legend-graph';
|
21
21
|
export declare abstract class DatabaseSchemaExplorerTreeNodeData implements TreeNodeData {
|
22
22
|
isOpen?: boolean | undefined;
|
23
23
|
id: string;
|
@@ -38,11 +38,17 @@ export declare class DatabaseSchemaExplorerTreeTableNodeData extends DatabaseSch
|
|
38
38
|
table: Table;
|
39
39
|
constructor(id: string, parentId: string, owner: Schema, table: Table);
|
40
40
|
}
|
41
|
+
export declare class DatabaseSchemaExplorerTreeTabularFunctionNodeData extends DatabaseSchemaExplorerTreeNodeData {
|
42
|
+
parentId: string;
|
43
|
+
owner: Schema;
|
44
|
+
tabularFunction: TabularFunction;
|
45
|
+
constructor(id: string, parentId: string, owner: Schema, tabularFunction: TabularFunction);
|
46
|
+
}
|
41
47
|
export declare class DatabaseSchemaExplorerTreeColumnNodeData extends DatabaseSchemaExplorerTreeNodeData {
|
42
48
|
parentId: string;
|
43
|
-
owner: Table;
|
49
|
+
owner: Table | TabularFunction;
|
44
50
|
column: Column;
|
45
|
-
constructor(id: string, parentId: string, owner: Table, column: Column);
|
51
|
+
constructor(id: string, parentId: string, owner: Table | TabularFunction, column: Column);
|
46
52
|
}
|
47
53
|
export interface DatabaseExplorerTreeData extends TreeData<DatabaseSchemaExplorerTreeNodeData> {
|
48
54
|
database: Database;
|
@@ -71,6 +77,7 @@ export declare class DatabaseSchemaExplorerState {
|
|
71
77
|
fetchDatabaseMetadata(): GeneratorFn<void>;
|
72
78
|
fetchSchemaMetadata(schemaNode: DatabaseSchemaExplorerTreeSchemaNodeData, treeData: DatabaseExplorerTreeData): GeneratorFn<void>;
|
73
79
|
fetchTableMetadata(tableNode: DatabaseSchemaExplorerTreeTableNodeData, treeData: DatabaseExplorerTreeData): GeneratorFn<void>;
|
80
|
+
fetchTabularFunctionMetadata(tabularFunctionNode: DatabaseSchemaExplorerTreeTabularFunctionNodeData, treeData: DatabaseExplorerTreeData): GeneratorFn<void>;
|
74
81
|
private buildIntermediateDatabase;
|
75
82
|
previewData(node: DatabaseSchemaExplorerTreeNodeData): GeneratorFn<void>;
|
76
83
|
generateDatabase(): GeneratorFn<Entity>;
|
package/lib/stores/editor/editor-state/element-editor-state/connection/DatabaseBuilderState.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DatabaseBuilderState.d.ts","sourceRoot":"","sources":["../../../../../../src/stores/editor/editor-state/element-editor-state/connection/DatabaseBuilderState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EACL,KAAK,WAAW,EAQhB,WAAW,EAMZ,MAAM,sBAAsB,CAAC;AAU9B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAKL,kBAAkB,EAKlB,KAAK,MAAM,EACX,KAAK,EACL,4BAA4B,EAI5B,MAAM,EACN,QAAQ,EAgBT,MAAM,qBAAqB,CAAC;AAmK7B,8BAAsB,kCACpB,YAAW,YAAY;IAEvB,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACnC,SAAS,UAAS;gBAEN,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS;IAWnE,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;CAG/B;AAED,qBAAa,wCAAyC,SAAQ,kCAAkC;IAC9F,MAAM,EAAE,MAAM,CAAC;gBAEH,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAIvC;AAED,qBAAa,uCAAwC,SAAQ,kCAAkC;IACpF,QAAQ,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;gBAED,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;CAMtE;AAED,qBAAa,wCAAyC,SAAQ,kCAAkC;IACrF,QAAQ,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,KAAK,CAAC;
|
1
|
+
{"version":3,"file":"DatabaseBuilderState.d.ts","sourceRoot":"","sources":["../../../../../../src/stores/editor/editor-state/element-editor-state/connection/DatabaseBuilderState.ts"],"names":[],"mappings":"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"}
|
package/lib/stores/editor/editor-state/element-editor-state/connection/DatabaseBuilderState.js
CHANGED
@@ -185,6 +185,17 @@ export class DatabaseSchemaExplorerTreeTableNodeData extends DatabaseSchemaExplo
|
|
185
185
|
this.table = table;
|
186
186
|
}
|
187
187
|
}
|
188
|
+
export class DatabaseSchemaExplorerTreeTabularFunctionNodeData extends DatabaseSchemaExplorerTreeNodeData {
|
189
|
+
parentId;
|
190
|
+
owner;
|
191
|
+
tabularFunction;
|
192
|
+
constructor(id, parentId, owner, tabularFunction) {
|
193
|
+
super(id, tabularFunction.name, parentId);
|
194
|
+
this.parentId = parentId;
|
195
|
+
this.owner = owner;
|
196
|
+
this.tabularFunction = tabularFunction;
|
197
|
+
}
|
198
|
+
}
|
188
199
|
export class DatabaseSchemaExplorerTreeColumnNodeData extends DatabaseSchemaExplorerTreeNodeData {
|
189
200
|
parentId;
|
190
201
|
owner;
|
@@ -227,6 +238,7 @@ export class DatabaseSchemaExplorerState {
|
|
227
238
|
fetchDatabaseMetadata: flow,
|
228
239
|
fetchSchemaMetadata: flow,
|
229
240
|
fetchTableMetadata: flow,
|
241
|
+
fetchTabularFunctionMetadata: flow,
|
230
242
|
generateDatabase: flow,
|
231
243
|
updateDatabase: flow,
|
232
244
|
updateDatabaseAndGraph: flow,
|
@@ -269,6 +281,10 @@ export class DatabaseSchemaExplorerState {
|
|
269
281
|
!node.childrenIds) {
|
270
282
|
yield flowResult(this.fetchTableMetadata(node, treeData));
|
271
283
|
}
|
284
|
+
else if (node instanceof DatabaseSchemaExplorerTreeTabularFunctionNodeData &&
|
285
|
+
!node.childrenIds) {
|
286
|
+
yield flowResult(this.fetchTabularFunctionMetadata(node, treeData));
|
287
|
+
}
|
272
288
|
node.isOpen = !node.isOpen;
|
273
289
|
this.setTreeData({ ...treeData });
|
274
290
|
}
|
@@ -284,7 +300,8 @@ export class DatabaseSchemaExplorerState {
|
|
284
300
|
childNode.setChecked(node.isChecked);
|
285
301
|
});
|
286
302
|
}
|
287
|
-
else if (node instanceof DatabaseSchemaExplorerTreeTableNodeData
|
303
|
+
else if (node instanceof DatabaseSchemaExplorerTreeTableNodeData ||
|
304
|
+
node instanceof DatabaseSchemaExplorerTreeTabularFunctionNodeData) {
|
288
305
|
if (node.parentId) {
|
289
306
|
const parent = treeData.nodes.get(node.parentId);
|
290
307
|
if (parent &&
|
@@ -304,8 +321,9 @@ export class DatabaseSchemaExplorerState {
|
|
304
321
|
databaseBuilderInput.targetDatabase = new TargetDatabase(packagePath, name);
|
305
322
|
databaseBuilderInput.config.maxTables = undefined;
|
306
323
|
databaseBuilderInput.config.enrichTables = false;
|
324
|
+
databaseBuilderInput.config.enrichTableFunctions = false;
|
307
325
|
databaseBuilderInput.config.patterns = [
|
308
|
-
new DatabasePattern(undefined, undefined),
|
326
|
+
new DatabasePattern(undefined, undefined, undefined),
|
309
327
|
];
|
310
328
|
const database = (yield this.buildIntermediateDatabase(databaseBuilderInput));
|
311
329
|
const rootIds = [];
|
@@ -340,13 +358,16 @@ export class DatabaseSchemaExplorerState {
|
|
340
358
|
databaseBuilderInput.targetDatabase = new TargetDatabase(packagePath, name);
|
341
359
|
databaseBuilderInput.config.maxTables = undefined;
|
342
360
|
databaseBuilderInput.config.enrichTables = true;
|
361
|
+
databaseBuilderInput.config.enrichTableFunctions = true;
|
343
362
|
databaseBuilderInput.config.patterns = [
|
344
|
-
new DatabasePattern(schema.name, undefined),
|
363
|
+
new DatabasePattern(schema.name, undefined, undefined),
|
345
364
|
];
|
346
365
|
const database = (yield this.buildIntermediateDatabase(databaseBuilderInput));
|
347
366
|
const tables = getSchema(database, schema.name).tables;
|
367
|
+
const tabularFunctions = getSchema(database, schema.name).tabularFunctions;
|
348
368
|
const childrenIds = schemaNode.childrenIds ?? [];
|
349
369
|
schema.tables = tables;
|
370
|
+
schema.tabularFunctions = tabularFunctions;
|
350
371
|
tables
|
351
372
|
.toSorted((tableA, tableB) => tableA.name.localeCompare(tableB.name))
|
352
373
|
.forEach((table) => {
|
@@ -360,6 +381,19 @@ export class DatabaseSchemaExplorerState {
|
|
360
381
|
? getNullableTable(matchingSchema, table.name)
|
361
382
|
: undefined));
|
362
383
|
});
|
384
|
+
tabularFunctions
|
385
|
+
.toSorted((tabularFunctionA, tabularFunctionB) => tabularFunctionA.name.localeCompare(tabularFunctionB.name))
|
386
|
+
.forEach((tabularFunction) => {
|
387
|
+
tabularFunction.schema = schema;
|
388
|
+
const tabularFunctionId = `${schema.name}.${tabularFunction.name}`;
|
389
|
+
const tabularFunctionNode = new DatabaseSchemaExplorerTreeTabularFunctionNodeData(tabularFunctionId, schemaNode.id, schema, tabularFunction);
|
390
|
+
treeData.nodes.set(tabularFunctionId, tabularFunctionNode);
|
391
|
+
addUniqueEntry(childrenIds, tabularFunctionId);
|
392
|
+
const matchingSchema = getNullableSchema(this.database, schema.name);
|
393
|
+
tabularFunctionNode.setChecked(Boolean(matchingSchema
|
394
|
+
? getNullableTable(matchingSchema, tabularFunction.name)
|
395
|
+
: undefined));
|
396
|
+
});
|
363
397
|
schemaNode.childrenIds = childrenIds;
|
364
398
|
this.setTreeData({ ...treeData });
|
365
399
|
}
|
@@ -382,9 +416,12 @@ export class DatabaseSchemaExplorerState {
|
|
382
416
|
const config = databaseBuilderInput.config;
|
383
417
|
config.maxTables = undefined;
|
384
418
|
config.enrichTables = true;
|
419
|
+
config.enrichTableFunctions = true;
|
385
420
|
config.enrichColumns = true;
|
386
421
|
config.enrichPrimaryKeys = true;
|
387
|
-
config.patterns = [
|
422
|
+
config.patterns = [
|
423
|
+
new DatabasePattern(table.schema.name, table.name, undefined),
|
424
|
+
];
|
388
425
|
const database = (yield this.buildIntermediateDatabase(databaseBuilderInput));
|
389
426
|
const enrichedTable = database.schemas
|
390
427
|
.find((s) => table.schema.name === s.name)
|
@@ -418,6 +455,54 @@ export class DatabaseSchemaExplorerState {
|
|
418
455
|
this.isGeneratingDatabase = false;
|
419
456
|
}
|
420
457
|
}
|
458
|
+
*fetchTabularFunctionMetadata(tabularFunctionNode, treeData) {
|
459
|
+
try {
|
460
|
+
this.isGeneratingDatabase = true;
|
461
|
+
const databaseBuilderInput = new DatabaseBuilderInput(this.connection);
|
462
|
+
const [packagePath, name] = this.resolveDatabasePackageAndName;
|
463
|
+
databaseBuilderInput.targetDatabase = new TargetDatabase(packagePath, name);
|
464
|
+
const tabularFunction = tabularFunctionNode.tabularFunction;
|
465
|
+
const config = databaseBuilderInput.config;
|
466
|
+
config.maxTables = undefined;
|
467
|
+
config.enrichTables = false;
|
468
|
+
config.enrichTableFunctions = true;
|
469
|
+
config.enrichColumns = true;
|
470
|
+
config.enrichPrimaryKeys = true;
|
471
|
+
config.patterns = [
|
472
|
+
new DatabasePattern(tabularFunction.schema.name, undefined, tabularFunction.name),
|
473
|
+
];
|
474
|
+
const database = (yield this.buildIntermediateDatabase(databaseBuilderInput));
|
475
|
+
const enrichedTabularFunction = database.schemas
|
476
|
+
.find((s) => tabularFunction.schema.name === s.name)
|
477
|
+
?.tabularFunctions.find((t) => t.name === tabularFunction.name);
|
478
|
+
if (enrichedTabularFunction) {
|
479
|
+
const columns = enrichedTabularFunction.columns.filter(filterByType(Column));
|
480
|
+
tabularFunctionNode.tabularFunction.columns = columns;
|
481
|
+
tabularFunctionNode.childrenIds?.forEach((childId) => treeData.nodes.delete(childId));
|
482
|
+
tabularFunctionNode.childrenIds = undefined;
|
483
|
+
const childrenIds = [];
|
484
|
+
const tabularFunctionId = tabularFunctionNode.id;
|
485
|
+
columns
|
486
|
+
.toSorted((colA, colB) => colA.name.localeCompare(colB.name))
|
487
|
+
.forEach((column) => {
|
488
|
+
const columnId = `${tabularFunctionId}.${column.name}`;
|
489
|
+
const columnNode = new DatabaseSchemaExplorerTreeColumnNodeData(columnId, tabularFunctionId, tabularFunction, column);
|
490
|
+
column.owner = tabularFunctionNode.tabularFunction;
|
491
|
+
treeData.nodes.set(columnId, columnNode);
|
492
|
+
addUniqueEntry(childrenIds, columnId);
|
493
|
+
});
|
494
|
+
tabularFunctionNode.childrenIds = childrenIds;
|
495
|
+
}
|
496
|
+
}
|
497
|
+
catch (error) {
|
498
|
+
assertErrorThrown(error);
|
499
|
+
this.editorStore.applicationStore.logService.error(LogEvent.create(LEGEND_STUDIO_APP_EVENT.DATABASE_BUILDER_FAILURE), error);
|
500
|
+
this.editorStore.applicationStore.notificationService.notifyError(error);
|
501
|
+
}
|
502
|
+
finally {
|
503
|
+
this.isGeneratingDatabase = false;
|
504
|
+
}
|
505
|
+
}
|
421
506
|
async buildIntermediateDatabase(databaseBuilderInput) {
|
422
507
|
const entities = await this.editorStore.graphManagerState.graphManager.buildDatabase(databaseBuilderInput);
|
423
508
|
const graph = this.editorStore.graphManagerState.createNewGraph();
|
@@ -429,19 +514,22 @@ export class DatabaseSchemaExplorerState {
|
|
429
514
|
this.previewer = undefined;
|
430
515
|
this.previewDataState.inProgress();
|
431
516
|
let column;
|
432
|
-
let
|
517
|
+
let nodeInstance;
|
433
518
|
if (node instanceof DatabaseSchemaExplorerTreeTableNodeData) {
|
434
|
-
|
519
|
+
nodeInstance = node.table;
|
520
|
+
}
|
521
|
+
else if (node instanceof DatabaseSchemaExplorerTreeTabularFunctionNodeData) {
|
522
|
+
nodeInstance = node.tabularFunction;
|
435
523
|
}
|
436
524
|
else if (node instanceof DatabaseSchemaExplorerTreeColumnNodeData) {
|
437
|
-
|
525
|
+
nodeInstance = guaranteeType(node.column.owner, Table);
|
438
526
|
column = node.column;
|
439
527
|
}
|
440
528
|
else {
|
441
|
-
throw new UnsupportedOperationError('Preview data only supported for column and
|
529
|
+
throw new UnsupportedOperationError('Preview data only supported for column, table and tabular function');
|
442
530
|
}
|
443
|
-
const schemaName =
|
444
|
-
const tableName =
|
531
|
+
const schemaName = nodeInstance.schema.name;
|
532
|
+
const tableName = nodeInstance.name;
|
445
533
|
const dummyPackage = 'generation';
|
446
534
|
const dummyName = 'myDB';
|
447
535
|
const dummyDbPath = `${dummyPackage}::${dummyName}`;
|
@@ -449,10 +537,18 @@ export class DatabaseSchemaExplorerState {
|
|
449
537
|
databaseBuilderInput.targetDatabase = new TargetDatabase(dummyPackage, dummyName);
|
450
538
|
const config = databaseBuilderInput.config;
|
451
539
|
config.maxTables = undefined;
|
452
|
-
config.enrichTables = true;
|
453
540
|
config.enrichColumns = true;
|
454
541
|
config.enrichPrimaryKeys = true;
|
455
|
-
|
542
|
+
if (node instanceof DatabaseSchemaExplorerTreeTableNodeData) {
|
543
|
+
config.enrichTables = true;
|
544
|
+
config.enrichTableFunctions = false;
|
545
|
+
config.patterns.push(new DatabasePattern(schemaName, node.table.name, undefined));
|
546
|
+
}
|
547
|
+
else if (node instanceof DatabaseSchemaExplorerTreeTabularFunctionNodeData) {
|
548
|
+
config.enrichTables = false;
|
549
|
+
config.enrichTableFunctions = true;
|
550
|
+
config.patterns.push(new DatabasePattern(schemaName, undefined, node.tabularFunction.name));
|
551
|
+
}
|
456
552
|
const entities = (yield this.editorStore.graphManagerState.graphManager.buildDatabase(databaseBuilderInput));
|
457
553
|
assertTrue(entities.length === 1);
|
458
554
|
const dbEntity = guaranteeNonNullable(entities[0]);
|
@@ -507,25 +603,35 @@ export class DatabaseSchemaExplorerState {
|
|
507
603
|
databaseBuilderInput.targetDatabase = new TargetDatabase(packagePath, name);
|
508
604
|
const config = databaseBuilderInput.config;
|
509
605
|
config.maxTables = undefined;
|
510
|
-
config.enrichTables = true;
|
511
606
|
config.enrichColumns = true;
|
512
607
|
config.enrichPrimaryKeys = true;
|
608
|
+
config.enrichTables = false;
|
609
|
+
config.enrichTableFunctions = false;
|
513
610
|
treeData.rootIds
|
514
611
|
.map((e) => treeData.nodes.get(e))
|
515
612
|
.filter(isNonNullable)
|
516
613
|
.forEach((schemaNode) => {
|
517
614
|
if (schemaNode instanceof DatabaseSchemaExplorerTreeSchemaNodeData) {
|
518
|
-
const
|
519
|
-
const allChecked =
|
615
|
+
const nodes = this.getChildNodes(schemaNode, treeData);
|
616
|
+
const allChecked = nodes?.every((t) => t.isChecked === true);
|
520
617
|
if (allChecked ||
|
521
618
|
(schemaNode.isChecked && !schemaNode.childrenIds)) {
|
522
|
-
config.
|
619
|
+
config.enrichTables = true;
|
620
|
+
config.enrichTableFunctions = true;
|
621
|
+
config.patterns.push(new DatabasePattern(schemaNode.schema.name, undefined, undefined));
|
523
622
|
}
|
524
623
|
else {
|
525
|
-
|
624
|
+
nodes?.forEach((t) => {
|
526
625
|
if (t instanceof DatabaseSchemaExplorerTreeTableNodeData &&
|
527
626
|
t.isChecked) {
|
528
|
-
config.
|
627
|
+
config.enrichTables = true;
|
628
|
+
config.patterns.push(new DatabasePattern(schemaNode.schema.name, t.table.name, undefined));
|
629
|
+
}
|
630
|
+
else if (t instanceof
|
631
|
+
DatabaseSchemaExplorerTreeTabularFunctionNodeData &&
|
632
|
+
t.isChecked) {
|
633
|
+
config.enrichTableFunctions = true;
|
634
|
+
config.patterns.push(new DatabasePattern(schemaNode.schema.name, undefined, t.tabularFunction.name));
|
529
635
|
}
|
530
636
|
});
|
531
637
|
}
|
package/lib/stores/editor/editor-state/element-editor-state/connection/DatabaseBuilderState.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DatabaseBuilderState.js","sourceRoot":"","sources":["../../../../../../src/stores/editor/editor-state/element-editor-state/connection/DatabaseBuilderState.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"DatabaseBuilderState.js","sourceRoot":"","sources":["../../../../../../src/stores/editor/editor-state/element-editor-state/connection/DatabaseBuilderState.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@finos/legend-application-studio",
|
3
|
-
"version": "28.18.
|
3
|
+
"version": "28.18.118",
|
4
4
|
"description": "Legend Studio application core",
|
5
5
|
"keywords": [
|
6
6
|
"legend",
|
@@ -45,14 +45,14 @@
|
|
45
45
|
"test:watch": "jest --watch"
|
46
46
|
},
|
47
47
|
"dependencies": {
|
48
|
-
"@finos/legend-application": "16.0.
|
49
|
-
"@finos/legend-art": "7.1.
|
50
|
-
"@finos/legend-code-editor": "2.0.
|
51
|
-
"@finos/legend-data-cube": "0.1.
|
52
|
-
"@finos/legend-graph": "32.1.
|
53
|
-
"@finos/legend-lego": "2.0.
|
54
|
-
"@finos/legend-query-builder": "4.16.
|
55
|
-
"@finos/legend-server-depot": "6.0.
|
48
|
+
"@finos/legend-application": "16.0.38",
|
49
|
+
"@finos/legend-art": "7.1.94",
|
50
|
+
"@finos/legend-code-editor": "2.0.65",
|
51
|
+
"@finos/legend-data-cube": "0.1.28",
|
52
|
+
"@finos/legend-graph": "32.1.23",
|
53
|
+
"@finos/legend-lego": "2.0.69",
|
54
|
+
"@finos/legend-query-builder": "4.16.29",
|
55
|
+
"@finos/legend-server-depot": "6.0.89",
|
56
56
|
"@finos/legend-server-sdlc": "5.3.56",
|
57
57
|
"@finos/legend-server-showcase": "0.2.52",
|
58
58
|
"@finos/legend-shared": "11.0.11",
|
@@ -20,6 +20,7 @@ import {
|
|
20
20
|
TreeView,
|
21
21
|
PURE_DatabaseSchemaIcon,
|
22
22
|
PURE_DatabaseTableIcon,
|
23
|
+
PURE_DatabaseTabularFunctionIcon,
|
23
24
|
CircleIcon,
|
24
25
|
ChevronDownIcon,
|
25
26
|
ChevronRightIcon,
|
@@ -35,12 +36,13 @@ import {
|
|
35
36
|
DatabaseSchemaExplorerTreeColumnNodeData,
|
36
37
|
DatabaseSchemaExplorerTreeSchemaNodeData,
|
37
38
|
DatabaseSchemaExplorerTreeTableNodeData,
|
39
|
+
DatabaseSchemaExplorerTreeTabularFunctionNodeData,
|
38
40
|
type DatabaseSchemaExplorerState,
|
39
41
|
} from '../../../../stores/editor/editor-state/element-editor-state/connection/DatabaseBuilderState.js';
|
40
42
|
import { useApplicationStore } from '@finos/legend-application';
|
41
43
|
import { renderColumnTypeIcon } from './DatabaseEditorHelper.js';
|
42
44
|
import { flowResult } from 'mobx';
|
43
|
-
import { stringifyDataType } from '@finos/legend-graph';
|
45
|
+
import { stringifyDataType, Table } from '@finos/legend-graph';
|
44
46
|
import { forwardRef } from 'react';
|
45
47
|
|
46
48
|
const getDatabaseSchemaNodeIcon = (
|
@@ -58,6 +60,14 @@ const getDatabaseSchemaNodeIcon = (
|
|
58
60
|
<PURE_DatabaseTableIcon />
|
59
61
|
</div>
|
60
62
|
);
|
63
|
+
} else if (
|
64
|
+
node instanceof DatabaseSchemaExplorerTreeTabularFunctionNodeData
|
65
|
+
) {
|
66
|
+
return (
|
67
|
+
<div className="database-schema-explorer__icon--tabularFunction">
|
68
|
+
<PURE_DatabaseTabularFunctionIcon />
|
69
|
+
</div>
|
70
|
+
);
|
61
71
|
} else if (node instanceof DatabaseSchemaExplorerTreeColumnNodeData) {
|
62
72
|
return renderColumnTypeIcon(node.column.type);
|
63
73
|
}
|
@@ -110,6 +120,7 @@ export const DatabaseSchemaExplorerTreeNodeContainer = observer(
|
|
110
120
|
};
|
111
121
|
const isPrimaryKeyColumn =
|
112
122
|
node instanceof DatabaseSchemaExplorerTreeColumnNodeData &&
|
123
|
+
node.owner instanceof Table &&
|
113
124
|
node.owner.primaryKey.includes(node.column);
|
114
125
|
|
115
126
|
const renderCheckedIcon = (
|
@@ -240,7 +251,8 @@ export const DatabaseSchemaExplorer = observer(
|
|
240
251
|
): boolean =>
|
241
252
|
!(
|
242
253
|
node instanceof DatabaseSchemaExplorerTreeTableNodeData ||
|
243
|
-
node instanceof DatabaseSchemaExplorerTreeColumnNodeData
|
254
|
+
node instanceof DatabaseSchemaExplorerTreeColumnNodeData ||
|
255
|
+
node instanceof DatabaseSchemaExplorerTreeTabularFunctionNodeData
|
244
256
|
);
|
245
257
|
|
246
258
|
return (
|
package/src/stores/editor/editor-state/element-editor-state/connection/DatabaseBuilderState.ts
CHANGED
@@ -54,6 +54,7 @@ import {
|
|
54
54
|
TDSRow,
|
55
55
|
type Schema,
|
56
56
|
Table,
|
57
|
+
type TabularFunction,
|
57
58
|
RelationalDatabaseConnection,
|
58
59
|
DatabaseBuilderInput,
|
59
60
|
DatabasePattern,
|
@@ -286,12 +287,35 @@ export class DatabaseSchemaExplorerTreeTableNodeData extends DatabaseSchemaExplo
|
|
286
287
|
}
|
287
288
|
}
|
288
289
|
|
290
|
+
export class DatabaseSchemaExplorerTreeTabularFunctionNodeData extends DatabaseSchemaExplorerTreeNodeData {
|
291
|
+
override parentId: string;
|
292
|
+
owner: Schema;
|
293
|
+
tabularFunction: TabularFunction;
|
294
|
+
|
295
|
+
constructor(
|
296
|
+
id: string,
|
297
|
+
parentId: string,
|
298
|
+
owner: Schema,
|
299
|
+
tabularFunction: TabularFunction,
|
300
|
+
) {
|
301
|
+
super(id, tabularFunction.name, parentId);
|
302
|
+
this.parentId = parentId;
|
303
|
+
this.owner = owner;
|
304
|
+
this.tabularFunction = tabularFunction;
|
305
|
+
}
|
306
|
+
}
|
307
|
+
|
289
308
|
export class DatabaseSchemaExplorerTreeColumnNodeData extends DatabaseSchemaExplorerTreeNodeData {
|
290
309
|
override parentId: string;
|
291
|
-
owner: Table;
|
310
|
+
owner: Table | TabularFunction;
|
292
311
|
column: Column;
|
293
312
|
|
294
|
-
constructor(
|
313
|
+
constructor(
|
314
|
+
id: string,
|
315
|
+
parentId: string,
|
316
|
+
owner: Table | TabularFunction,
|
317
|
+
column: Column,
|
318
|
+
) {
|
295
319
|
super(id, column.name, parentId);
|
296
320
|
this.parentId = parentId;
|
297
321
|
this.owner = owner;
|
@@ -341,6 +365,7 @@ export class DatabaseSchemaExplorerState {
|
|
341
365
|
fetchDatabaseMetadata: flow,
|
342
366
|
fetchSchemaMetadata: flow,
|
343
367
|
fetchTableMetadata: flow,
|
368
|
+
fetchTabularFunctionMetadata: flow,
|
344
369
|
generateDatabase: flow,
|
345
370
|
updateDatabase: flow,
|
346
371
|
updateDatabaseAndGraph: flow,
|
@@ -401,6 +426,11 @@ export class DatabaseSchemaExplorerState {
|
|
401
426
|
!node.childrenIds
|
402
427
|
) {
|
403
428
|
yield flowResult(this.fetchTableMetadata(node, treeData));
|
429
|
+
} else if (
|
430
|
+
node instanceof DatabaseSchemaExplorerTreeTabularFunctionNodeData &&
|
431
|
+
!node.childrenIds
|
432
|
+
) {
|
433
|
+
yield flowResult(this.fetchTabularFunctionMetadata(node, treeData));
|
404
434
|
}
|
405
435
|
node.isOpen = !node.isOpen;
|
406
436
|
this.setTreeData({ ...treeData });
|
@@ -424,7 +454,10 @@ export class DatabaseSchemaExplorerState {
|
|
424
454
|
this.getChildNodes(node, treeData)?.forEach((childNode) => {
|
425
455
|
childNode.setChecked(node.isChecked);
|
426
456
|
});
|
427
|
-
} else if (
|
457
|
+
} else if (
|
458
|
+
node instanceof DatabaseSchemaExplorerTreeTableNodeData ||
|
459
|
+
node instanceof DatabaseSchemaExplorerTreeTabularFunctionNodeData
|
460
|
+
) {
|
428
461
|
if (node.parentId) {
|
429
462
|
const parent = treeData.nodes.get(node.parentId);
|
430
463
|
if (
|
@@ -453,8 +486,9 @@ export class DatabaseSchemaExplorerState {
|
|
453
486
|
);
|
454
487
|
databaseBuilderInput.config.maxTables = undefined;
|
455
488
|
databaseBuilderInput.config.enrichTables = false;
|
489
|
+
databaseBuilderInput.config.enrichTableFunctions = false;
|
456
490
|
databaseBuilderInput.config.patterns = [
|
457
|
-
new DatabasePattern(undefined, undefined),
|
491
|
+
new DatabasePattern(undefined, undefined, undefined),
|
458
492
|
];
|
459
493
|
const database = (yield this.buildIntermediateDatabase(
|
460
494
|
databaseBuilderInput,
|
@@ -513,16 +547,22 @@ export class DatabaseSchemaExplorerState {
|
|
513
547
|
);
|
514
548
|
databaseBuilderInput.config.maxTables = undefined;
|
515
549
|
databaseBuilderInput.config.enrichTables = true;
|
550
|
+
databaseBuilderInput.config.enrichTableFunctions = true;
|
516
551
|
databaseBuilderInput.config.patterns = [
|
517
|
-
new DatabasePattern(schema.name, undefined),
|
552
|
+
new DatabasePattern(schema.name, undefined, undefined),
|
518
553
|
];
|
519
554
|
const database = (yield this.buildIntermediateDatabase(
|
520
555
|
databaseBuilderInput,
|
521
556
|
)) as Database;
|
522
557
|
|
523
558
|
const tables = getSchema(database, schema.name).tables;
|
559
|
+
const tabularFunctions = getSchema(
|
560
|
+
database,
|
561
|
+
schema.name,
|
562
|
+
).tabularFunctions;
|
524
563
|
const childrenIds = schemaNode.childrenIds ?? [];
|
525
564
|
schema.tables = tables;
|
565
|
+
schema.tabularFunctions = tabularFunctions;
|
526
566
|
tables
|
527
567
|
.toSorted((tableA, tableB) => tableA.name.localeCompare(tableB.name))
|
528
568
|
.forEach((table) => {
|
@@ -546,6 +586,32 @@ export class DatabaseSchemaExplorerState {
|
|
546
586
|
),
|
547
587
|
);
|
548
588
|
});
|
589
|
+
tabularFunctions
|
590
|
+
.toSorted((tabularFunctionA, tabularFunctionB) =>
|
591
|
+
tabularFunctionA.name.localeCompare(tabularFunctionB.name),
|
592
|
+
)
|
593
|
+
.forEach((tabularFunction) => {
|
594
|
+
tabularFunction.schema = schema;
|
595
|
+
const tabularFunctionId = `${schema.name}.${tabularFunction.name}`;
|
596
|
+
const tabularFunctionNode =
|
597
|
+
new DatabaseSchemaExplorerTreeTabularFunctionNodeData(
|
598
|
+
tabularFunctionId,
|
599
|
+
schemaNode.id,
|
600
|
+
schema,
|
601
|
+
tabularFunction,
|
602
|
+
);
|
603
|
+
treeData.nodes.set(tabularFunctionId, tabularFunctionNode);
|
604
|
+
addUniqueEntry(childrenIds, tabularFunctionId);
|
605
|
+
|
606
|
+
const matchingSchema = getNullableSchema(this.database, schema.name);
|
607
|
+
tabularFunctionNode.setChecked(
|
608
|
+
Boolean(
|
609
|
+
matchingSchema
|
610
|
+
? getNullableTable(matchingSchema, tabularFunction.name)
|
611
|
+
: undefined,
|
612
|
+
),
|
613
|
+
);
|
614
|
+
});
|
549
615
|
schemaNode.childrenIds = childrenIds;
|
550
616
|
this.setTreeData({ ...treeData });
|
551
617
|
} catch (error) {
|
@@ -577,9 +643,12 @@ export class DatabaseSchemaExplorerState {
|
|
577
643
|
const config = databaseBuilderInput.config;
|
578
644
|
config.maxTables = undefined;
|
579
645
|
config.enrichTables = true;
|
646
|
+
config.enrichTableFunctions = true;
|
580
647
|
config.enrichColumns = true;
|
581
648
|
config.enrichPrimaryKeys = true;
|
582
|
-
config.patterns = [
|
649
|
+
config.patterns = [
|
650
|
+
new DatabasePattern(table.schema.name, table.name, undefined),
|
651
|
+
];
|
583
652
|
const database = (yield this.buildIntermediateDatabase(
|
584
653
|
databaseBuilderInput,
|
585
654
|
)) as Database;
|
@@ -625,6 +694,79 @@ export class DatabaseSchemaExplorerState {
|
|
625
694
|
}
|
626
695
|
}
|
627
696
|
|
697
|
+
*fetchTabularFunctionMetadata(
|
698
|
+
tabularFunctionNode: DatabaseSchemaExplorerTreeTabularFunctionNodeData,
|
699
|
+
treeData: DatabaseExplorerTreeData,
|
700
|
+
): GeneratorFn<void> {
|
701
|
+
try {
|
702
|
+
this.isGeneratingDatabase = true;
|
703
|
+
|
704
|
+
const databaseBuilderInput = new DatabaseBuilderInput(this.connection);
|
705
|
+
const [packagePath, name] = this.resolveDatabasePackageAndName;
|
706
|
+
databaseBuilderInput.targetDatabase = new TargetDatabase(
|
707
|
+
packagePath,
|
708
|
+
name,
|
709
|
+
);
|
710
|
+
const tabularFunction = tabularFunctionNode.tabularFunction;
|
711
|
+
const config = databaseBuilderInput.config;
|
712
|
+
config.maxTables = undefined;
|
713
|
+
config.enrichTables = false;
|
714
|
+
config.enrichTableFunctions = true;
|
715
|
+
config.enrichColumns = true;
|
716
|
+
config.enrichPrimaryKeys = true;
|
717
|
+
config.patterns = [
|
718
|
+
new DatabasePattern(
|
719
|
+
tabularFunction.schema.name,
|
720
|
+
undefined,
|
721
|
+
tabularFunction.name,
|
722
|
+
),
|
723
|
+
];
|
724
|
+
const database = (yield this.buildIntermediateDatabase(
|
725
|
+
databaseBuilderInput,
|
726
|
+
)) as Database;
|
727
|
+
|
728
|
+
const enrichedTabularFunction = database.schemas
|
729
|
+
.find((s) => tabularFunction.schema.name === s.name)
|
730
|
+
?.tabularFunctions.find((t) => t.name === tabularFunction.name);
|
731
|
+
if (enrichedTabularFunction) {
|
732
|
+
const columns = enrichedTabularFunction.columns.filter(
|
733
|
+
filterByType(Column),
|
734
|
+
);
|
735
|
+
tabularFunctionNode.tabularFunction.columns = columns;
|
736
|
+
tabularFunctionNode.childrenIds?.forEach((childId) =>
|
737
|
+
treeData.nodes.delete(childId),
|
738
|
+
);
|
739
|
+
tabularFunctionNode.childrenIds = undefined;
|
740
|
+
const childrenIds: string[] = [];
|
741
|
+
const tabularFunctionId = tabularFunctionNode.id;
|
742
|
+
columns
|
743
|
+
.toSorted((colA, colB) => colA.name.localeCompare(colB.name))
|
744
|
+
.forEach((column) => {
|
745
|
+
const columnId = `${tabularFunctionId}.${column.name}`;
|
746
|
+
const columnNode = new DatabaseSchemaExplorerTreeColumnNodeData(
|
747
|
+
columnId,
|
748
|
+
tabularFunctionId,
|
749
|
+
tabularFunction,
|
750
|
+
column,
|
751
|
+
);
|
752
|
+
column.owner = tabularFunctionNode.tabularFunction;
|
753
|
+
treeData.nodes.set(columnId, columnNode);
|
754
|
+
addUniqueEntry(childrenIds, columnId);
|
755
|
+
});
|
756
|
+
tabularFunctionNode.childrenIds = childrenIds;
|
757
|
+
}
|
758
|
+
} catch (error) {
|
759
|
+
assertErrorThrown(error);
|
760
|
+
this.editorStore.applicationStore.logService.error(
|
761
|
+
LogEvent.create(LEGEND_STUDIO_APP_EVENT.DATABASE_BUILDER_FAILURE),
|
762
|
+
error,
|
763
|
+
);
|
764
|
+
this.editorStore.applicationStore.notificationService.notifyError(error);
|
765
|
+
} finally {
|
766
|
+
this.isGeneratingDatabase = false;
|
767
|
+
}
|
768
|
+
}
|
769
|
+
|
628
770
|
private async buildIntermediateDatabase(
|
629
771
|
databaseBuilderInput: DatabaseBuilderInput,
|
630
772
|
): Promise<Database> {
|
@@ -650,19 +792,23 @@ export class DatabaseSchemaExplorerState {
|
|
650
792
|
this.previewer = undefined;
|
651
793
|
this.previewDataState.inProgress();
|
652
794
|
let column: Column | undefined;
|
653
|
-
let
|
795
|
+
let nodeInstance: Table | TabularFunction | undefined;
|
654
796
|
if (node instanceof DatabaseSchemaExplorerTreeTableNodeData) {
|
655
|
-
|
797
|
+
nodeInstance = node.table;
|
798
|
+
} else if (
|
799
|
+
node instanceof DatabaseSchemaExplorerTreeTabularFunctionNodeData
|
800
|
+
) {
|
801
|
+
nodeInstance = node.tabularFunction;
|
656
802
|
} else if (node instanceof DatabaseSchemaExplorerTreeColumnNodeData) {
|
657
|
-
|
803
|
+
nodeInstance = guaranteeType(node.column.owner, Table);
|
658
804
|
column = node.column;
|
659
805
|
} else {
|
660
806
|
throw new UnsupportedOperationError(
|
661
|
-
'Preview data only supported for column and
|
807
|
+
'Preview data only supported for column, table and tabular function',
|
662
808
|
);
|
663
809
|
}
|
664
|
-
const schemaName =
|
665
|
-
const tableName =
|
810
|
+
const schemaName = nodeInstance.schema.name;
|
811
|
+
const tableName = nodeInstance.name;
|
666
812
|
const dummyPackage = 'generation';
|
667
813
|
const dummyName = 'myDB';
|
668
814
|
const dummyDbPath = `${dummyPackage}::${dummyName}`;
|
@@ -673,10 +819,23 @@ export class DatabaseSchemaExplorerState {
|
|
673
819
|
);
|
674
820
|
const config = databaseBuilderInput.config;
|
675
821
|
config.maxTables = undefined;
|
676
|
-
config.enrichTables = true;
|
677
822
|
config.enrichColumns = true;
|
678
823
|
config.enrichPrimaryKeys = true;
|
679
|
-
|
824
|
+
if (node instanceof DatabaseSchemaExplorerTreeTableNodeData) {
|
825
|
+
config.enrichTables = true;
|
826
|
+
config.enrichTableFunctions = false;
|
827
|
+
config.patterns.push(
|
828
|
+
new DatabasePattern(schemaName, node.table.name, undefined),
|
829
|
+
);
|
830
|
+
} else if (
|
831
|
+
node instanceof DatabaseSchemaExplorerTreeTabularFunctionNodeData
|
832
|
+
) {
|
833
|
+
config.enrichTables = false;
|
834
|
+
config.enrichTableFunctions = true;
|
835
|
+
config.patterns.push(
|
836
|
+
new DatabasePattern(schemaName, undefined, node.tabularFunction.name),
|
837
|
+
);
|
838
|
+
}
|
680
839
|
const entities =
|
681
840
|
(yield this.editorStore.graphManagerState.graphManager.buildDatabase(
|
682
841
|
databaseBuilderInput,
|
@@ -766,31 +925,56 @@ export class DatabaseSchemaExplorerState {
|
|
766
925
|
);
|
767
926
|
const config = databaseBuilderInput.config;
|
768
927
|
config.maxTables = undefined;
|
769
|
-
config.enrichTables = true;
|
770
928
|
config.enrichColumns = true;
|
771
929
|
config.enrichPrimaryKeys = true;
|
930
|
+
config.enrichTables = false;
|
931
|
+
config.enrichTableFunctions = false;
|
772
932
|
treeData.rootIds
|
773
933
|
.map((e) => treeData.nodes.get(e))
|
774
934
|
.filter(isNonNullable)
|
775
935
|
.forEach((schemaNode) => {
|
776
936
|
if (schemaNode instanceof DatabaseSchemaExplorerTreeSchemaNodeData) {
|
777
|
-
const
|
778
|
-
const allChecked =
|
937
|
+
const nodes = this.getChildNodes(schemaNode, treeData);
|
938
|
+
const allChecked = nodes?.every((t) => t.isChecked === true);
|
779
939
|
if (
|
780
940
|
allChecked ||
|
781
941
|
(schemaNode.isChecked && !schemaNode.childrenIds)
|
782
942
|
) {
|
943
|
+
config.enrichTables = true;
|
944
|
+
config.enrichTableFunctions = true;
|
783
945
|
config.patterns.push(
|
784
|
-
new DatabasePattern(
|
946
|
+
new DatabasePattern(
|
947
|
+
schemaNode.schema.name,
|
948
|
+
undefined,
|
949
|
+
undefined,
|
950
|
+
),
|
785
951
|
);
|
786
952
|
} else {
|
787
|
-
|
953
|
+
nodes?.forEach((t) => {
|
788
954
|
if (
|
789
955
|
t instanceof DatabaseSchemaExplorerTreeTableNodeData &&
|
790
956
|
t.isChecked
|
791
957
|
) {
|
958
|
+
config.enrichTables = true;
|
959
|
+
config.patterns.push(
|
960
|
+
new DatabasePattern(
|
961
|
+
schemaNode.schema.name,
|
962
|
+
t.table.name,
|
963
|
+
undefined,
|
964
|
+
),
|
965
|
+
);
|
966
|
+
} else if (
|
967
|
+
t instanceof
|
968
|
+
DatabaseSchemaExplorerTreeTabularFunctionNodeData &&
|
969
|
+
t.isChecked
|
970
|
+
) {
|
971
|
+
config.enrichTableFunctions = true;
|
792
972
|
config.patterns.push(
|
793
|
-
new DatabasePattern(
|
973
|
+
new DatabasePattern(
|
974
|
+
schemaNode.schema.name,
|
975
|
+
undefined,
|
976
|
+
t.tabularFunction.name,
|
977
|
+
),
|
794
978
|
);
|
795
979
|
}
|
796
980
|
});
|