ydb-embedded-ui 6.4.0 → 6.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (131) hide show
  1. package/README.md +1 -1
  2. package/dist/components/AsyncReplicationState/AsyncReplicationState.d.ts +6 -0
  3. package/dist/components/AsyncReplicationState/AsyncReplicationState.js +20 -0
  4. package/dist/components/AsyncReplicationState/index.d.ts +1 -0
  5. package/dist/components/AsyncReplicationState/index.js +1 -0
  6. package/dist/components/ButtonWithConfirmDialog/ButtonWithConfirmDialog.d.ts +6 -2
  7. package/dist/components/ButtonWithConfirmDialog/ButtonWithConfirmDialog.js +12 -3
  8. package/dist/components/Errors/ResponseError/ResponseError.js +3 -0
  9. package/dist/components/PDiskInfo/i18n/index.d.ts +1 -1
  10. package/dist/components/QueryExecutionStatus/QueryExecutionStatus.d.ts +1 -2
  11. package/dist/components/QueryExecutionStatus/QueryExecutionStatus.js +2 -1
  12. package/dist/components/VDiskInfo/i18n/index.d.ts +1 -1
  13. package/dist/containers/Clusters/Clusters.js +7 -2
  14. package/dist/containers/Clusters/constants.d.ts +1 -3
  15. package/dist/containers/Clusters/constants.js +0 -18
  16. package/dist/containers/PDiskPage/PDiskPage.js +2 -1
  17. package/dist/containers/PDiskPage/i18n/en.json +2 -1
  18. package/dist/containers/PDiskPage/i18n/index.d.ts +1 -1
  19. package/dist/containers/Tablet/TabletControls/TabletControls.js +3 -1
  20. package/dist/containers/Tablet/i18n/en.json +3 -0
  21. package/dist/containers/Tablet/i18n/index.d.ts +1 -1
  22. package/dist/containers/Tablet/i18n/index.js +1 -2
  23. package/dist/containers/Tablets/Tablets.js +2 -1
  24. package/dist/containers/Tablets/i18n/en.json +2 -1
  25. package/dist/containers/Tablets/i18n/index.d.ts +1 -1
  26. package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.d.ts +7 -0
  27. package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.js +2 -0
  28. package/dist/containers/Tenant/Diagnostics/HotKeys/HotKeys.js +29 -18
  29. package/dist/containers/Tenant/Diagnostics/HotKeys/HotKeys.scss +14 -4
  30. package/dist/containers/Tenant/Diagnostics/HotKeys/i18n/en.json +2 -1
  31. package/dist/containers/Tenant/Diagnostics/HotKeys/i18n/index.d.ts +1 -1
  32. package/dist/containers/Tenant/Diagnostics/Overview/AsyncReplicationInfo/AsyncReplicationInfo.d.ts +7 -0
  33. package/dist/containers/Tenant/Diagnostics/Overview/AsyncReplicationInfo/AsyncReplicationInfo.js +39 -0
  34. package/dist/containers/Tenant/Diagnostics/Overview/AsyncReplicationInfo/Credentials.d.ts +6 -0
  35. package/dist/containers/Tenant/Diagnostics/Overview/AsyncReplicationInfo/Credentials.js +14 -0
  36. package/dist/containers/Tenant/Diagnostics/Overview/AsyncReplicationInfo/i18n/en.json +7 -0
  37. package/dist/containers/Tenant/Diagnostics/Overview/AsyncReplicationInfo/i18n/index.d.ts +2 -0
  38. package/dist/containers/Tenant/Diagnostics/Overview/AsyncReplicationInfo/i18n/index.js +4 -0
  39. package/dist/containers/Tenant/Diagnostics/Overview/AsyncReplicationInfo/index.d.ts +1 -0
  40. package/dist/containers/Tenant/Diagnostics/Overview/AsyncReplicationInfo/index.js +1 -0
  41. package/dist/containers/Tenant/Diagnostics/Overview/AsyncReplicationPaths/AsyncReplicationPaths.d.ts +7 -0
  42. package/dist/containers/Tenant/Diagnostics/Overview/AsyncReplicationPaths/AsyncReplicationPaths.js +34 -0
  43. package/dist/containers/Tenant/Diagnostics/Overview/AsyncReplicationPaths/AsyncReplicationPaths.scss +7 -0
  44. package/dist/containers/Tenant/Diagnostics/Overview/AsyncReplicationPaths/i18n/en.json +7 -0
  45. package/dist/containers/Tenant/Diagnostics/Overview/AsyncReplicationPaths/i18n/index.d.ts +2 -0
  46. package/dist/containers/Tenant/Diagnostics/Overview/AsyncReplicationPaths/i18n/index.js +4 -0
  47. package/dist/containers/Tenant/Diagnostics/Overview/AsyncReplicationPaths/index.d.ts +1 -0
  48. package/dist/containers/Tenant/Diagnostics/Overview/AsyncReplicationPaths/index.js +1 -0
  49. package/dist/containers/Tenant/Diagnostics/Overview/Overview.js +2 -0
  50. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopQueries.js +2 -1
  51. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopShards.js +2 -1
  52. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopTables.js +2 -1
  53. package/dist/containers/Tenant/Diagnostics/TenantOverview/i18n/index.d.ts +1 -1
  54. package/dist/containers/Tenant/Diagnostics/TopQueries/TopQueries.js +3 -3
  55. package/dist/containers/Tenant/Diagnostics/TopShards/TopShards.js +3 -3
  56. package/dist/containers/Tenant/ObjectSummary/ObjectSummary.js +20 -6
  57. package/dist/containers/Tenant/Query/ExecuteResult/ExecuteResult.d.ts +2 -2
  58. package/dist/containers/Tenant/Query/ExecuteResult/ExecuteResult.js +5 -6
  59. package/dist/containers/Tenant/Query/ExplainResult/ExplainResult.js +5 -13
  60. package/dist/containers/Tenant/Query/Preview/Preview.js +2 -2
  61. package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.d.ts +1 -7
  62. package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.js +18 -19
  63. package/dist/containers/Tenant/Tenant.js +3 -2
  64. package/dist/containers/Tenant/utils/schema.js +8 -0
  65. package/dist/containers/Tenant/utils/schemaActions.js +1 -0
  66. package/dist/containers/Tenant/utils/schemaControls.js +1 -0
  67. package/dist/containers/VDiskPage/VDiskPage.js +2 -1
  68. package/dist/containers/VDiskPage/i18n/en.json +2 -1
  69. package/dist/containers/VDiskPage/i18n/index.d.ts +1 -1
  70. package/dist/services/api.d.ts +3 -3
  71. package/dist/services/settings.d.ts +1 -0
  72. package/dist/services/settings.js +2 -1
  73. package/dist/store/configureStore.d.ts +0 -4
  74. package/dist/store/defaultStore.d.ts +0 -2
  75. package/dist/store/reducers/authentication/authentication.d.ts +187 -7
  76. package/dist/store/reducers/authentication/authentication.js +12 -3
  77. package/dist/store/reducers/authentication/types.d.ts +5 -1
  78. package/dist/store/reducers/cluster/cluster.js +4 -0
  79. package/dist/store/reducers/executeQuery.d.ts +4 -63
  80. package/dist/store/reducers/executeQuery.js +38 -34
  81. package/dist/store/reducers/executeTopQueries/executeTopQueries.js +4 -1
  82. package/dist/store/reducers/explainQuery/explainQuery.d.ts +9 -0
  83. package/dist/store/reducers/explainQuery/explainQuery.js +32 -0
  84. package/dist/store/reducers/explainQuery/types.d.ts +12 -0
  85. package/dist/store/reducers/explainQuery/utils.d.ts +6 -0
  86. package/dist/store/reducers/explainQuery/utils.js +40 -0
  87. package/dist/store/reducers/healthcheckInfo/healthcheckInfo.d.ts +0 -20
  88. package/dist/store/reducers/host.d.ts +61 -2
  89. package/dist/store/reducers/index.d.ts +0 -3
  90. package/dist/store/reducers/index.js +0 -2
  91. package/dist/store/reducers/node/selectors.d.ts +0 -1
  92. package/dist/store/reducers/nodesList.d.ts +0 -1
  93. package/dist/store/reducers/olapStats.js +4 -1
  94. package/dist/store/reducers/preview.js +4 -1
  95. package/dist/store/reducers/schema/schema.d.ts +61 -2
  96. package/dist/store/reducers/schemaAcl/schemaAcl.d.ts +61 -2
  97. package/dist/store/reducers/shardsWorkload/shardsWorkload.js +4 -1
  98. package/dist/store/reducers/tablets.d.ts +0 -1
  99. package/dist/store/reducers/tabletsFilters.d.ts +61 -2
  100. package/dist/store/reducers/tenantOverview/executeTopTables/executeTopTables.js +6 -3
  101. package/dist/store/reducers/tenantOverview/topQueries/tenantOverviewTopQueries.js +6 -3
  102. package/dist/store/reducers/tenantOverview/topShards/tenantOverviewTopShards.js +6 -3
  103. package/dist/store/reducers/tenants/selectors.d.ts +0 -9
  104. package/dist/store/reducers/topic.d.ts +0 -15
  105. package/dist/store/utils.d.ts +2 -3
  106. package/dist/store/utils.js +1 -1
  107. package/dist/types/api/schema/replication.d.ts +74 -0
  108. package/dist/types/api/schema/replication.js +7 -0
  109. package/dist/types/api/schema/schema.d.ts +4 -1
  110. package/dist/types/api/schema/schema.js +1 -0
  111. package/dist/types/api/whoami.d.ts +6 -0
  112. package/dist/types/store/executeQuery.d.ts +2 -9
  113. package/dist/utils/constants.d.ts +1 -0
  114. package/dist/utils/constants.js +1 -0
  115. package/dist/utils/monaco/yql/constants.d.ts +2 -0
  116. package/dist/utils/monaco/yql/constants.js +33 -0
  117. package/dist/utils/monaco/yql/generateSuggestions.d.ts +1 -0
  118. package/dist/utils/monaco/yql/generateSuggestions.js +28 -11
  119. package/dist/utils/monaco/yql/yqlSuggestions.js +6 -1
  120. package/dist/utils/query.d.ts +5 -3
  121. package/dist/utils/query.js +27 -4
  122. package/dist/utils/response.d.ts +4 -0
  123. package/dist/utils/response.js +9 -0
  124. package/package.json +3 -3
  125. package/dist/containers/Tablet/i18n/ru.json +0 -10
  126. package/dist/store/reducers/explainQuery.d.ts +0 -145
  127. package/dist/store/reducers/explainQuery.js +0 -94
  128. package/dist/types/store/explainQuery.d.ts +0 -27
  129. package/dist/utils/error.d.ts +0 -2
  130. package/dist/utils/error.js +0 -13
  131. /package/dist/{types/store/explainQuery.js → store/reducers/explainQuery/types.js} +0 -0
@@ -0,0 +1,6 @@
1
+ import type { ExplainQueryResponse, ExplainScriptResponse } from '../../../types/api/query';
2
+ import type { PreparedExplainResponse } from './types';
3
+ export declare const explainVersions: {
4
+ v2: string;
5
+ };
6
+ export declare const prepareExplainResponse: (response: ExplainScriptResponse | ExplainQueryResponse) => PreparedExplainResponse;
@@ -0,0 +1,40 @@
1
+ import { preparePlan } from '../../../utils/prepareQueryExplain';
2
+ import { parseQueryAPIExplainResponse, parseQueryExplainPlan } from '../../../utils/query';
3
+ export const explainVersions = {
4
+ v2: '0.2',
5
+ };
6
+ const supportedExplainQueryVersions = Object.values(explainVersions);
7
+ export const prepareExplainResponse = (response) => {
8
+ const { plan: rawPlan, ast } = parseQueryAPIExplainResponse(response);
9
+ if (!rawPlan) {
10
+ return { ast };
11
+ }
12
+ const { tables, meta, Plan } = parseQueryExplainPlan(rawPlan);
13
+ if (supportedExplainQueryVersions.indexOf(meta.version) === -1) {
14
+ // Do not prepare plan for not supported versions
15
+ return {
16
+ plan: {
17
+ pristine: rawPlan,
18
+ version: meta.version,
19
+ },
20
+ ast,
21
+ };
22
+ }
23
+ let links = [];
24
+ let nodes = [];
25
+ if (Plan) {
26
+ const preparedPlan = preparePlan(Plan);
27
+ links = preparedPlan.links;
28
+ nodes = preparedPlan.nodes;
29
+ }
30
+ return {
31
+ plan: {
32
+ links,
33
+ nodes,
34
+ tables,
35
+ version: meta.version,
36
+ pristine: rawPlan,
37
+ },
38
+ ast,
39
+ };
40
+ };
@@ -16,7 +16,6 @@ export declare const selectIssuesTreesRoots: ((state: {
16
16
  tenants: import("../tenants/types").TenantsState;
17
17
  partitions: import("../partitions/types").PartitionsState;
18
18
  executeQuery: import("../../../types/store/executeQuery").ExecuteQueryState;
19
- explainQuery: import("../../../types/store/explainQuery").ExplainQueryState;
20
19
  tabletsFilters: {
21
20
  loading: boolean;
22
21
  requestTime: number;
@@ -89,7 +88,6 @@ export declare const selectIssuesTreesRoots: ((state: {
89
88
  tenants: import("../tenants/types").TenantsState;
90
89
  partitions: import("../partitions/types").PartitionsState;
91
90
  executeQuery: import("../../../types/store/executeQuery").ExecuteQueryState;
92
- explainQuery: import("../../../types/store/explainQuery").ExplainQueryState;
93
91
  tabletsFilters: {
94
92
  loading: boolean;
95
93
  requestTime: number;
@@ -155,7 +153,6 @@ export declare const selectIssuesTreesRoots: ((state: {
155
153
  tenants: import("../tenants/types").TenantsState;
156
154
  partitions: import("../partitions/types").PartitionsState;
157
155
  executeQuery: import("../../../types/store/executeQuery").ExecuteQueryState;
158
- explainQuery: import("../../../types/store/explainQuery").ExplainQueryState;
159
156
  tabletsFilters: {
160
157
  loading: boolean;
161
158
  requestTime: number;
@@ -279,7 +276,6 @@ export declare const selectIssuesTreesRoots: ((state: {
279
276
  tenants: import("../tenants/types").TenantsState;
280
277
  partitions: import("../partitions/types").PartitionsState;
281
278
  executeQuery: import("../../../types/store/executeQuery").ExecuteQueryState;
282
- explainQuery: import("../../../types/store/explainQuery").ExplainQueryState;
283
279
  tabletsFilters: {
284
280
  loading: boolean;
285
281
  requestTime: number;
@@ -408,7 +404,6 @@ export declare const selectIssuesTreesRoots: ((state: {
408
404
  tenants: import("../tenants/types").TenantsState;
409
405
  partitions: import("../partitions/types").PartitionsState;
410
406
  executeQuery: import("../../../types/store/executeQuery").ExecuteQueryState;
411
- explainQuery: import("../../../types/store/explainQuery").ExplainQueryState;
412
407
  tabletsFilters: {
413
408
  loading: boolean;
414
409
  requestTime: number;
@@ -548,7 +543,6 @@ export declare const selectIssuesTrees: ((state: {
548
543
  tenants: import("../tenants/types").TenantsState;
549
544
  partitions: import("../partitions/types").PartitionsState;
550
545
  executeQuery: import("../../../types/store/executeQuery").ExecuteQueryState;
551
- explainQuery: import("../../../types/store/explainQuery").ExplainQueryState;
552
546
  tabletsFilters: {
553
547
  loading: boolean;
554
548
  requestTime: number;
@@ -621,7 +615,6 @@ export declare const selectIssuesTrees: ((state: {
621
615
  tenants: import("../tenants/types").TenantsState;
622
616
  partitions: import("../partitions/types").PartitionsState;
623
617
  executeQuery: import("../../../types/store/executeQuery").ExecuteQueryState;
624
- explainQuery: import("../../../types/store/explainQuery").ExplainQueryState;
625
618
  tabletsFilters: {
626
619
  loading: boolean;
627
620
  requestTime: number;
@@ -687,7 +680,6 @@ export declare const selectIssuesTrees: ((state: {
687
680
  tenants: import("../tenants/types").TenantsState;
688
681
  partitions: import("../partitions/types").PartitionsState;
689
682
  executeQuery: import("../../../types/store/executeQuery").ExecuteQueryState;
690
- explainQuery: import("../../../types/store/explainQuery").ExplainQueryState;
691
683
  tabletsFilters: {
692
684
  loading: boolean;
693
685
  requestTime: number;
@@ -811,7 +803,6 @@ export declare const selectIssuesTrees: ((state: {
811
803
  tenants: import("../tenants/types").TenantsState;
812
804
  partitions: import("../partitions/types").PartitionsState;
813
805
  executeQuery: import("../../../types/store/executeQuery").ExecuteQueryState;
814
- explainQuery: import("../../../types/store/explainQuery").ExplainQueryState;
815
806
  tabletsFilters: {
816
807
  loading: boolean;
817
808
  requestTime: number;
@@ -940,7 +931,6 @@ export declare const selectIssuesTrees: ((state: {
940
931
  tenants: import("../tenants/types").TenantsState;
941
932
  partitions: import("../partitions/types").PartitionsState;
942
933
  executeQuery: import("../../../types/store/executeQuery").ExecuteQueryState;
943
- explainQuery: import("../../../types/store/explainQuery").ExplainQueryState;
944
934
  tabletsFilters: {
945
935
  loading: boolean;
946
936
  requestTime: number;
@@ -1071,7 +1061,6 @@ export declare const selectIssuesTrees: ((state: {
1071
1061
  tenants: import("../tenants/types").TenantsState;
1072
1062
  partitions: import("../partitions/types").PartitionsState;
1073
1063
  executeQuery: import("../../../types/store/executeQuery").ExecuteQueryState;
1074
- explainQuery: import("../../../types/store/explainQuery").ExplainQueryState;
1075
1064
  tabletsFilters: {
1076
1065
  loading: boolean;
1077
1066
  requestTime: number;
@@ -1144,7 +1133,6 @@ export declare const selectIssuesTrees: ((state: {
1144
1133
  tenants: import("../tenants/types").TenantsState;
1145
1134
  partitions: import("../partitions/types").PartitionsState;
1146
1135
  executeQuery: import("../../../types/store/executeQuery").ExecuteQueryState;
1147
- explainQuery: import("../../../types/store/explainQuery").ExplainQueryState;
1148
1136
  tabletsFilters: {
1149
1137
  loading: boolean;
1150
1138
  requestTime: number;
@@ -1210,7 +1198,6 @@ export declare const selectIssuesTrees: ((state: {
1210
1198
  tenants: import("../tenants/types").TenantsState;
1211
1199
  partitions: import("../partitions/types").PartitionsState;
1212
1200
  executeQuery: import("../../../types/store/executeQuery").ExecuteQueryState;
1213
- explainQuery: import("../../../types/store/explainQuery").ExplainQueryState;
1214
1201
  tabletsFilters: {
1215
1202
  loading: boolean;
1216
1203
  requestTime: number;
@@ -1334,7 +1321,6 @@ export declare const selectIssuesTrees: ((state: {
1334
1321
  tenants: import("../tenants/types").TenantsState;
1335
1322
  partitions: import("../partitions/types").PartitionsState;
1336
1323
  executeQuery: import("../../../types/store/executeQuery").ExecuteQueryState;
1337
- explainQuery: import("../../../types/store/explainQuery").ExplainQueryState;
1338
1324
  tabletsFilters: {
1339
1325
  loading: boolean;
1340
1326
  requestTime: number;
@@ -1463,7 +1449,6 @@ export declare const selectIssuesTrees: ((state: {
1463
1449
  tenants: import("../tenants/types").TenantsState;
1464
1450
  partitions: import("../partitions/types").PartitionsState;
1465
1451
  executeQuery: import("../../../types/store/executeQuery").ExecuteQueryState;
1466
- explainQuery: import("../../../types/store/explainQuery").ExplainQueryState;
1467
1452
  tabletsFilters: {
1468
1453
  loading: boolean;
1469
1454
  requestTime: number;
@@ -1611,7 +1596,6 @@ export declare const selectIssuesStatistics: ((state: {
1611
1596
  tenants: import("../tenants/types").TenantsState;
1612
1597
  partitions: import("../partitions/types").PartitionsState;
1613
1598
  executeQuery: import("../../../types/store/executeQuery").ExecuteQueryState;
1614
- explainQuery: import("../../../types/store/explainQuery").ExplainQueryState;
1615
1599
  tabletsFilters: {
1616
1600
  loading: boolean;
1617
1601
  requestTime: number;
@@ -1684,7 +1668,6 @@ export declare const selectIssuesStatistics: ((state: {
1684
1668
  tenants: import("../tenants/types").TenantsState;
1685
1669
  partitions: import("../partitions/types").PartitionsState;
1686
1670
  executeQuery: import("../../../types/store/executeQuery").ExecuteQueryState;
1687
- explainQuery: import("../../../types/store/explainQuery").ExplainQueryState;
1688
1671
  tabletsFilters: {
1689
1672
  loading: boolean;
1690
1673
  requestTime: number;
@@ -1750,7 +1733,6 @@ export declare const selectIssuesStatistics: ((state: {
1750
1733
  tenants: import("../tenants/types").TenantsState;
1751
1734
  partitions: import("../partitions/types").PartitionsState;
1752
1735
  executeQuery: import("../../../types/store/executeQuery").ExecuteQueryState;
1753
- explainQuery: import("../../../types/store/explainQuery").ExplainQueryState;
1754
1736
  tabletsFilters: {
1755
1737
  loading: boolean;
1756
1738
  requestTime: number;
@@ -1874,7 +1856,6 @@ export declare const selectIssuesStatistics: ((state: {
1874
1856
  tenants: import("../tenants/types").TenantsState;
1875
1857
  partitions: import("../partitions/types").PartitionsState;
1876
1858
  executeQuery: import("../../../types/store/executeQuery").ExecuteQueryState;
1877
- explainQuery: import("../../../types/store/explainQuery").ExplainQueryState;
1878
1859
  tabletsFilters: {
1879
1860
  loading: boolean;
1880
1861
  requestTime: number;
@@ -2003,7 +1984,6 @@ export declare const selectIssuesStatistics: ((state: {
2003
1984
  tenants: import("../tenants/types").TenantsState;
2004
1985
  partitions: import("../partitions/types").PartitionsState;
2005
1986
  executeQuery: import("../../../types/store/executeQuery").ExecuteQueryState;
2006
- explainQuery: import("../../../types/store/explainQuery").ExplainQueryState;
2007
1987
  tabletsFilters: {
2008
1988
  loading: boolean;
2009
1989
  requestTime: number;
@@ -6,7 +6,67 @@ export declare const FETCH_HOST: {
6
6
  readonly FAILURE: "host/FETCH_HOST_FAILURE";
7
7
  };
8
8
  declare const host: Reducer<IHostState, IHostAction>;
9
- export declare function getHostInfo(): (dispatch: import("redux").Dispatch<import("redux").UnknownAction>, getState: () => {
9
+ export declare function getHostInfo(): (dispatch: import("redux-thunk").ThunkDispatch<{
10
+ api: import("@reduxjs/toolkit/query").CombinedState<{}, "All", "api">;
11
+ singleClusterMode: boolean;
12
+ cluster: import("./cluster/types").ClusterState;
13
+ tenant: import("./tenant/types").TenantState;
14
+ tooltip: import("../../types/store/tooltip").ITooltipState;
15
+ tablets: import("../../types/store/tablets").TabletsState;
16
+ schema: import("./schema/types").SchemaState;
17
+ host: IHostState;
18
+ tenants: import("./tenants/types").TenantsState;
19
+ partitions: import("./partitions/types").PartitionsState;
20
+ executeQuery: import("../../types/store/executeQuery").ExecuteQueryState;
21
+ tabletsFilters: {
22
+ loading: boolean;
23
+ requestTime: number;
24
+ data: undefined;
25
+ wasLoaded: boolean;
26
+ stateFilter: never[];
27
+ typeFilter: never[];
28
+ } | {
29
+ tabletsData: any;
30
+ nodes: any;
31
+ loading: boolean;
32
+ wasLoaded: boolean;
33
+ timeoutForRequest: number;
34
+ error: undefined;
35
+ data: undefined;
36
+ stateFilter: never[];
37
+ typeFilter: never[];
38
+ } | {
39
+ error: any;
40
+ loading: boolean;
41
+ data: undefined;
42
+ wasLoaded: boolean;
43
+ stateFilter: never[];
44
+ typeFilter: never[];
45
+ } | {
46
+ stateFilter: any;
47
+ data: undefined;
48
+ loading: boolean;
49
+ wasLoaded: boolean;
50
+ typeFilter: never[];
51
+ } | {
52
+ typeFilter: any;
53
+ data: undefined;
54
+ loading: boolean;
55
+ wasLoaded: boolean;
56
+ stateFilter: never[];
57
+ };
58
+ heatmap: import("../../types/store/heatmap").IHeatmapState;
59
+ settings: import("./settings/types").SettingsState;
60
+ schemaAcl: import("./schemaAcl/types").SchemaAclState;
61
+ executeTopQueries: import("./executeTopQueries/types").TopQueriesFilters;
62
+ shardsWorkload: import("./shardsWorkload/types").ShardsWorkloadFilters;
63
+ hotKeys: import("./hotKeys/types").HotKeysState;
64
+ authentication: import("./authentication/types").AuthenticationState;
65
+ header: import("./header/types").HeaderState;
66
+ saveQuery: string | null;
67
+ fullscreen: boolean;
68
+ clusters: import("./clusters/types").ClustersFilters;
69
+ }, undefined, import("redux").UnknownAction> & import("redux").Dispatch<any>, getState: () => {
10
70
  api: import("@reduxjs/toolkit/query").CombinedState<{}, "All", "api">;
11
71
  singleClusterMode: boolean;
12
72
  cluster: import("./cluster/types").ClusterState;
@@ -18,7 +78,6 @@ export declare function getHostInfo(): (dispatch: import("redux").Dispatch<impor
18
78
  tenants: import("./tenants/types").TenantsState;
19
79
  partitions: import("./partitions/types").PartitionsState;
20
80
  executeQuery: import("../../types/store/executeQuery").ExecuteQueryState;
21
- explainQuery: import("../../types/store/explainQuery").ExplainQueryState;
22
81
  tabletsFilters: {
23
82
  loading: boolean;
24
83
  requestTime: number;
@@ -11,7 +11,6 @@ export declare const rootReducer: {
11
11
  tenants: import("redux").Reducer<import("./tenants/types").TenantsState>;
12
12
  partitions: import("redux").Reducer<import("./partitions/types").PartitionsState>;
13
13
  executeQuery: import("redux").Reducer<import("../../types/store/executeQuery").ExecuteQueryState, import("../../types/store/executeQuery").ExecuteQueryAction>;
14
- explainQuery: import("redux").Reducer<import("../../types/store/explainQuery").ExplainQueryState, import("../../types/store/explainQuery").ExplainQueryAction>;
15
14
  tabletsFilters: (state: {
16
15
  data: undefined;
17
16
  loading: boolean;
@@ -92,7 +91,6 @@ declare const combinedReducer: import("redux").Reducer<{
92
91
  tenants: import("./tenants/types").TenantsState;
93
92
  partitions: import("./partitions/types").PartitionsState;
94
93
  executeQuery: import("../../types/store/executeQuery").ExecuteQueryState;
95
- explainQuery: import("../../types/store/explainQuery").ExplainQueryState;
96
94
  tabletsFilters: {
97
95
  loading: boolean;
98
96
  requestTime: number;
@@ -153,7 +151,6 @@ declare const combinedReducer: import("redux").Reducer<{
153
151
  tenants: import("./tenants/types").TenantsState | undefined;
154
152
  partitions: import("./partitions/types").PartitionsState | undefined;
155
153
  executeQuery: never;
156
- explainQuery: never;
157
154
  tabletsFilters: {
158
155
  data: undefined;
159
156
  loading: boolean;
@@ -5,7 +5,6 @@ import cluster from './cluster/cluster';
5
5
  import clusters from './clusters/clusters';
6
6
  import executeQuery from './executeQuery';
7
7
  import executeTopQueries from './executeTopQueries/executeTopQueries';
8
- import explainQuery from './explainQuery';
9
8
  import fullscreen from './fullscreen';
10
9
  import header from './header/header';
11
10
  import heatmap from './heatmap';
@@ -35,7 +34,6 @@ export const rootReducer = {
35
34
  tenants,
36
35
  partitions,
37
36
  executeQuery,
38
- explainQuery,
39
37
  tabletsFilters,
40
38
  heatmap,
41
39
  settings,
@@ -12,7 +12,6 @@ export declare const selectNodeStructure: ((state: {
12
12
  tenants: import("../tenants/types").TenantsState;
13
13
  partitions: import("../partitions/types").PartitionsState;
14
14
  executeQuery: import("../../../types/store/executeQuery").ExecuteQueryState;
15
- explainQuery: import("../../../types/store/explainQuery").ExplainQueryState;
16
15
  tabletsFilters: {
17
16
  loading: boolean;
18
17
  requestTime: number;
@@ -14,7 +14,6 @@ export declare const selectNodesMap: ((state: {
14
14
  tenants: import("./tenants/types").TenantsState;
15
15
  partitions: import("./partitions/types").PartitionsState;
16
16
  executeQuery: import("../../types/store/executeQuery").ExecuteQueryState;
17
- explainQuery: import("../../types/store/explainQuery").ExplainQueryState;
18
17
  tabletsFilters: {
19
18
  loading: boolean;
20
19
  requestTime: number;
@@ -1,4 +1,4 @@
1
- import { parseQueryAPIExecuteResponse } from '../../utils/query';
1
+ import { isQueryErrorResponse, parseQueryAPIExecuteResponse } from '../../utils/query';
2
2
  import { api } from './api';
3
3
  function createOlatStatsQuery(path) {
4
4
  return `SELECT * FROM \`${path}/.sys/primary_index_stats\``;
@@ -15,6 +15,9 @@ export const olapApi = api.injectEndpoints({
15
15
  database: path,
16
16
  action: queryAction,
17
17
  }, { signal });
18
+ if (isQueryErrorResponse(response)) {
19
+ return { error: response };
20
+ }
18
21
  return { data: parseQueryAPIExecuteResponse(response) };
19
22
  }
20
23
  catch (error) {
@@ -1,4 +1,4 @@
1
- import { parseQueryAPIExecuteResponse } from '../../utils/query';
1
+ import { isQueryErrorResponse, parseQueryAPIExecuteResponse } from '../../utils/query';
2
2
  import { api } from './api';
3
3
  export const previewApi = api.injectEndpoints({
4
4
  endpoints: (build) => ({
@@ -6,6 +6,9 @@ export const previewApi = api.injectEndpoints({
6
6
  queryFn: async ({ query, database, action }, { signal }) => {
7
7
  try {
8
8
  const response = await window.api.sendQuery({ schema: 'modern', query, database, action }, { signal });
9
+ if (isQueryErrorResponse(response)) {
10
+ return { error: response };
11
+ }
9
12
  return { data: parseQueryAPIExecuteResponse(response) };
10
13
  }
11
14
  catch (error) {
@@ -18,7 +18,67 @@ export declare const initialState: {
18
18
  declare const schema: Reducer<SchemaState, SchemaAction>;
19
19
  export declare function getSchema({ path }: {
20
20
  path: string;
21
- }): (dispatch: Dispatch<import("redux").UnknownAction>, getState: () => {
21
+ }): (dispatch: import("redux-thunk").ThunkDispatch<{
22
+ api: import("@reduxjs/toolkit/query").CombinedState<{}, "All", "api">;
23
+ singleClusterMode: boolean;
24
+ cluster: import("../cluster/types").ClusterState;
25
+ tenant: import("../tenant/types").TenantState;
26
+ tooltip: import("../../../types/store/tooltip").ITooltipState;
27
+ tablets: import("../../../types/store/tablets").TabletsState;
28
+ schema: SchemaState;
29
+ host: import("../../../types/store/host").IHostState;
30
+ tenants: import("../tenants/types").TenantsState;
31
+ partitions: import("../partitions/types").PartitionsState;
32
+ executeQuery: import("../../../types/store/executeQuery").ExecuteQueryState;
33
+ tabletsFilters: {
34
+ loading: boolean;
35
+ requestTime: number;
36
+ data: undefined;
37
+ wasLoaded: boolean;
38
+ stateFilter: never[];
39
+ typeFilter: never[];
40
+ } | {
41
+ tabletsData: any;
42
+ nodes: any;
43
+ loading: boolean;
44
+ wasLoaded: boolean;
45
+ timeoutForRequest: number;
46
+ error: undefined;
47
+ data: undefined;
48
+ stateFilter: never[];
49
+ typeFilter: never[];
50
+ } | {
51
+ error: any;
52
+ loading: boolean;
53
+ data: undefined;
54
+ wasLoaded: boolean;
55
+ stateFilter: never[];
56
+ typeFilter: never[];
57
+ } | {
58
+ stateFilter: any;
59
+ data: undefined;
60
+ loading: boolean;
61
+ wasLoaded: boolean;
62
+ typeFilter: never[];
63
+ } | {
64
+ typeFilter: any;
65
+ data: undefined;
66
+ loading: boolean;
67
+ wasLoaded: boolean;
68
+ stateFilter: never[];
69
+ };
70
+ heatmap: import("../../../types/store/heatmap").IHeatmapState;
71
+ settings: import("../settings/types").SettingsState;
72
+ schemaAcl: import("../schemaAcl/types").SchemaAclState;
73
+ executeTopQueries: import("../executeTopQueries/types").TopQueriesFilters;
74
+ shardsWorkload: import("../shardsWorkload/types").ShardsWorkloadFilters;
75
+ hotKeys: import("../hotKeys/types").HotKeysState;
76
+ authentication: import("../authentication/types").AuthenticationState;
77
+ header: import("../header/types").HeaderState;
78
+ saveQuery: string | null;
79
+ fullscreen: boolean;
80
+ clusters: import("../clusters/types").ClustersFilters;
81
+ }, undefined, import("redux").UnknownAction> & Dispatch<any>, getState: () => {
22
82
  api: import("@reduxjs/toolkit/query").CombinedState<{}, "All", "api">;
23
83
  singleClusterMode: boolean;
24
84
  cluster: import("../cluster/types").ClusterState;
@@ -30,7 +90,6 @@ export declare function getSchema({ path }: {
30
90
  tenants: import("../tenants/types").TenantsState;
31
91
  partitions: import("../partitions/types").PartitionsState;
32
92
  executeQuery: import("../../../types/store/executeQuery").ExecuteQueryState;
33
- explainQuery: import("../../../types/store/explainQuery").ExplainQueryState;
34
93
  tabletsFilters: {
35
94
  loading: boolean;
36
95
  requestTime: number;
@@ -8,7 +8,67 @@ export declare const FETCH_SCHEMA_ACL: {
8
8
  declare const schemaAcl: Reducer<SchemaAclState, SchemaAclAction>;
9
9
  export declare function getSchemaAcl({ path }: {
10
10
  path: string;
11
- }): (dispatch: import("redux").Dispatch<import("redux").UnknownAction>, getState: () => {
11
+ }): (dispatch: import("redux-thunk").ThunkDispatch<{
12
+ api: import("@reduxjs/toolkit/query").CombinedState<{}, "All", "api">;
13
+ singleClusterMode: boolean;
14
+ cluster: import("../cluster/types").ClusterState;
15
+ tenant: import("../tenant/types").TenantState;
16
+ tooltip: import("../../../types/store/tooltip").ITooltipState;
17
+ tablets: import("../../../types/store/tablets").TabletsState;
18
+ schema: import("../schema/types").SchemaState;
19
+ host: import("../../../types/store/host").IHostState;
20
+ tenants: import("../tenants/types").TenantsState;
21
+ partitions: import("../partitions/types").PartitionsState;
22
+ executeQuery: import("../../../types/store/executeQuery").ExecuteQueryState;
23
+ tabletsFilters: {
24
+ loading: boolean;
25
+ requestTime: number;
26
+ data: undefined;
27
+ wasLoaded: boolean;
28
+ stateFilter: never[];
29
+ typeFilter: never[];
30
+ } | {
31
+ tabletsData: any;
32
+ nodes: any;
33
+ loading: boolean;
34
+ wasLoaded: boolean;
35
+ timeoutForRequest: number;
36
+ error: undefined;
37
+ data: undefined;
38
+ stateFilter: never[];
39
+ typeFilter: never[];
40
+ } | {
41
+ error: any;
42
+ loading: boolean;
43
+ data: undefined;
44
+ wasLoaded: boolean;
45
+ stateFilter: never[];
46
+ typeFilter: never[];
47
+ } | {
48
+ stateFilter: any;
49
+ data: undefined;
50
+ loading: boolean;
51
+ wasLoaded: boolean;
52
+ typeFilter: never[];
53
+ } | {
54
+ typeFilter: any;
55
+ data: undefined;
56
+ loading: boolean;
57
+ wasLoaded: boolean;
58
+ stateFilter: never[];
59
+ };
60
+ heatmap: import("../../../types/store/heatmap").IHeatmapState;
61
+ settings: import("../settings/types").SettingsState;
62
+ schemaAcl: SchemaAclState;
63
+ executeTopQueries: import("../executeTopQueries/types").TopQueriesFilters;
64
+ shardsWorkload: import("../shardsWorkload/types").ShardsWorkloadFilters;
65
+ hotKeys: import("../hotKeys/types").HotKeysState;
66
+ authentication: import("../authentication/types").AuthenticationState;
67
+ header: import("../header/types").HeaderState;
68
+ saveQuery: string | null;
69
+ fullscreen: boolean;
70
+ clusters: import("../clusters/types").ClustersFilters;
71
+ }, undefined, import("redux").UnknownAction> & import("redux").Dispatch<any>, getState: () => {
12
72
  api: import("@reduxjs/toolkit/query").CombinedState<{}, "All", "api">;
13
73
  singleClusterMode: boolean;
14
74
  cluster: import("../cluster/types").ClusterState;
@@ -20,7 +80,6 @@ export declare function getSchemaAcl({ path }: {
20
80
  tenants: import("../tenants/types").TenantsState;
21
81
  partitions: import("../partitions/types").PartitionsState;
22
82
  executeQuery: import("../../../types/store/executeQuery").ExecuteQueryState;
23
- explainQuery: import("../../../types/store/explainQuery").ExplainQueryState;
24
83
  tabletsFilters: {
25
84
  loading: boolean;
26
85
  requestTime: number;
@@ -1,5 +1,5 @@
1
1
  import { createSlice } from '@reduxjs/toolkit';
2
- import { parseQueryAPIExecuteResponse } from '../../../utils/query';
2
+ import { isQueryErrorResponse, parseQueryAPIExecuteResponse } from '../../../utils/query';
3
3
  import { api } from '../api';
4
4
  import { EShardsWorkloadMode } from './types';
5
5
  const initialState = {};
@@ -92,6 +92,9 @@ export const shardApi = api.injectEndpoints({
92
92
  }, {
93
93
  signal,
94
94
  });
95
+ if (isQueryErrorResponse(response)) {
96
+ return { error: response };
97
+ }
95
98
  const data = parseQueryAPIExecuteResponse(response);
96
99
  return { data };
97
100
  }
@@ -19,7 +19,6 @@ export declare const selectTabletsWithFqdn: ((state: {
19
19
  tenants: import("./tenants/types").TenantsState;
20
20
  partitions: import("./partitions/types").PartitionsState;
21
21
  executeQuery: import("../../types/store/executeQuery").ExecuteQueryState;
22
- explainQuery: import("../../types/store/explainQuery").ExplainQueryState;
23
22
  tabletsFilters: {
24
23
  loading: boolean;
25
24
  requestTime: number;
@@ -1,4 +1,64 @@
1
- export function getTabletsInfo(data: any): (dispatch: import("redux").Dispatch<import("redux").UnknownAction>, getState: () => {
1
+ export function getTabletsInfo(data: any): (dispatch: import("redux-thunk").ThunkDispatch<{
2
+ api: import("@reduxjs/toolkit/query").CombinedState<{}, "All", "api">;
3
+ singleClusterMode: boolean;
4
+ cluster: import("./cluster/types").ClusterState;
5
+ tenant: import("./tenant/types").TenantState;
6
+ tooltip: import("../../types/store/tooltip").ITooltipState;
7
+ tablets: import("../../types/store/tablets").TabletsState;
8
+ schema: import("./schema/types").SchemaState;
9
+ host: import("../../types/store/host").IHostState;
10
+ tenants: import("./tenants/types").TenantsState;
11
+ partitions: import("./partitions/types").PartitionsState;
12
+ executeQuery: import("../../types/store/executeQuery").ExecuteQueryState;
13
+ tabletsFilters: {
14
+ loading: boolean;
15
+ requestTime: number;
16
+ data: undefined;
17
+ wasLoaded: boolean;
18
+ stateFilter: never[];
19
+ typeFilter: never[];
20
+ } | {
21
+ tabletsData: any;
22
+ nodes: any;
23
+ loading: boolean;
24
+ wasLoaded: boolean;
25
+ timeoutForRequest: number;
26
+ error: undefined;
27
+ data: undefined;
28
+ stateFilter: never[];
29
+ typeFilter: never[];
30
+ } | {
31
+ error: any;
32
+ loading: boolean;
33
+ data: undefined;
34
+ wasLoaded: boolean;
35
+ stateFilter: never[];
36
+ typeFilter: never[];
37
+ } | {
38
+ stateFilter: any;
39
+ data: undefined;
40
+ loading: boolean;
41
+ wasLoaded: boolean;
42
+ typeFilter: never[];
43
+ } | {
44
+ typeFilter: any;
45
+ data: undefined;
46
+ loading: boolean;
47
+ wasLoaded: boolean;
48
+ stateFilter: never[];
49
+ };
50
+ heatmap: import("../../types/store/heatmap").IHeatmapState;
51
+ settings: import("./settings/types").SettingsState;
52
+ schemaAcl: import("./schemaAcl/types").SchemaAclState;
53
+ executeTopQueries: import("./executeTopQueries/types").TopQueriesFilters;
54
+ shardsWorkload: import("./shardsWorkload/types").ShardsWorkloadFilters;
55
+ hotKeys: import("./hotKeys/types").HotKeysState;
56
+ authentication: import("./authentication/types").AuthenticationState;
57
+ header: import("./header/types").HeaderState;
58
+ saveQuery: string | null;
59
+ fullscreen: boolean;
60
+ clusters: import("./clusters/types").ClustersFilters;
61
+ }, undefined, import("redux").UnknownAction> & import("redux").Dispatch<any>, getState: () => {
2
62
  api: import("@reduxjs/toolkit/query").CombinedState<{}, "All", "api">;
3
63
  singleClusterMode: boolean;
4
64
  cluster: import("./cluster/types").ClusterState;
@@ -10,7 +70,6 @@ export function getTabletsInfo(data: any): (dispatch: import("redux").Dispatch<i
10
70
  tenants: import("./tenants/types").TenantsState;
11
71
  partitions: import("./partitions/types").PartitionsState;
12
72
  executeQuery: import("../../types/store/executeQuery").ExecuteQueryState;
13
- explainQuery: import("../../types/store/explainQuery").ExplainQueryState;
14
73
  tabletsFilters: {
15
74
  loading: boolean;
16
75
  requestTime: number;
@@ -1,5 +1,5 @@
1
1
  import { TENANT_OVERVIEW_TABLES_LIMIT } from '../../../../utils/constants';
2
- import { parseQueryAPIExecuteResponse } from '../../../../utils/query';
2
+ import { isQueryErrorResponse, parseQueryAPIExecuteResponse } from '../../../../utils/query';
3
3
  import { api } from '../../api';
4
4
  const getQueryText = (path) => {
5
5
  return `
@@ -16,13 +16,16 @@ export const topTablesApi = api.injectEndpoints({
16
16
  getTopTables: builder.query({
17
17
  queryFn: async ({ path }, { signal }) => {
18
18
  try {
19
- const data = await window.api.sendQuery({
19
+ const response = await window.api.sendQuery({
20
20
  schema: 'modern',
21
21
  query: getQueryText(path),
22
22
  database: path,
23
23
  action: 'execute-scan',
24
24
  }, { signal });
25
- return { data: parseQueryAPIExecuteResponse(data) };
25
+ if (isQueryErrorResponse(response)) {
26
+ return { error: response };
27
+ }
28
+ return { data: parseQueryAPIExecuteResponse(response) };
26
29
  }
27
30
  catch (error) {
28
31
  return { error: error || 'Unauthorized' };