@ultipa-graph/ultipa-driver 5.1.4-s5.1 → 6.0.0

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.
Files changed (215) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +65 -0
  3. package/dist/client.d.ts +194 -0
  4. package/dist/client.js +390 -0
  5. package/dist/config.d.ts +65 -0
  6. package/dist/config.js +135 -0
  7. package/dist/connection.d.ts +30 -0
  8. package/dist/connection.js +190 -0
  9. package/dist/errors.d.ts +99 -0
  10. package/dist/errors.js +237 -0
  11. package/dist/index.d.ts +14 -5
  12. package/dist/index.js +88 -39
  13. package/dist/printers.d.ts +33 -0
  14. package/dist/printers.js +312 -0
  15. package/dist/proto/gqldb.proto +632 -0
  16. package/dist/response.d.ts +256 -0
  17. package/dist/response.js +723 -0
  18. package/dist/services/admin-service.d.ts +40 -0
  19. package/dist/services/admin-service.js +115 -0
  20. package/dist/services/bulk-import-service.d.ts +35 -0
  21. package/dist/services/bulk-import-service.js +108 -0
  22. package/dist/services/converters.d.ts +57 -0
  23. package/dist/services/converters.js +254 -0
  24. package/dist/services/data-service.d.ts +44 -0
  25. package/dist/services/data-service.js +206 -0
  26. package/dist/services/graph-service.d.ts +32 -0
  27. package/dist/services/graph-service.js +127 -0
  28. package/dist/services/health-service.d.ts +50 -0
  29. package/dist/services/health-service.js +78 -0
  30. package/dist/services/index.d.ts +13 -0
  31. package/dist/services/index.js +30 -0
  32. package/dist/services/query-service.d.ts +39 -0
  33. package/dist/services/query-service.js +112 -0
  34. package/dist/services/service-context.d.ts +39 -0
  35. package/dist/services/service-context.js +73 -0
  36. package/dist/services/session-service.d.ts +24 -0
  37. package/dist/services/session-service.js +66 -0
  38. package/dist/services/transaction-service.d.ts +33 -0
  39. package/dist/services/transaction-service.js +100 -0
  40. package/dist/services.d.ts +28 -0
  41. package/dist/services.js +122 -0
  42. package/dist/session.d.ts +45 -0
  43. package/dist/session.js +75 -0
  44. package/dist/transaction.d.ts +42 -0
  45. package/dist/transaction.js +89 -0
  46. package/dist/types/bulk_import.d.ts +53 -0
  47. package/dist/types/bulk_import.js +6 -0
  48. package/dist/types/data_types.d.ts +116 -0
  49. package/dist/types/data_types.js +122 -0
  50. package/dist/types/enums.d.ts +59 -0
  51. package/dist/types/enums.js +67 -0
  52. package/dist/types/graph_models.d.ts +54 -0
  53. package/dist/types/graph_models.js +6 -0
  54. package/dist/types/index.d.ts +11 -5
  55. package/dist/types/index.js +36 -37
  56. package/dist/types/metadata.d.ts +60 -0
  57. package/dist/types/metadata.js +6 -0
  58. package/dist/types/schema.d.ts +31 -0
  59. package/dist/types/schema.js +6 -0
  60. package/dist/types/typed_value.d.ts +25 -0
  61. package/dist/types/typed_value.js +1176 -0
  62. package/dist/types/wrappers.d.ts +23 -0
  63. package/dist/types/wrappers.js +39 -0
  64. package/dist/types.d.ts +7 -0
  65. package/dist/types.js +24 -0
  66. package/package.json +40 -53
  67. package/dist/connection/connection.final.d.ts +0 -14
  68. package/dist/connection/connection.final.js +0 -96
  69. package/dist/connection/connection.final.js.map +0 -1
  70. package/dist/connection/connection.pool.d.ts +0 -21
  71. package/dist/connection/connection.pool.js +0 -103
  72. package/dist/connection/connection.pool.js.map +0 -1
  73. package/dist/connection/extra/base.extra.d.ts +0 -18
  74. package/dist/connection/extra/base.extra.js +0 -111
  75. package/dist/connection/extra/base.extra.js.map +0 -1
  76. package/dist/connection/extra/batch.insert.extra.d.ts +0 -58
  77. package/dist/connection/extra/batch.insert.extra.js +0 -353
  78. package/dist/connection/extra/batch.insert.extra.js.map +0 -1
  79. package/dist/connection/extra/connection.base.d.ts +0 -112
  80. package/dist/connection/extra/connection.base.js +0 -528
  81. package/dist/connection/extra/connection.base.js.map +0 -1
  82. package/dist/connection/extra/connection.d.ts +0 -17
  83. package/dist/connection/extra/connection.js +0 -44
  84. package/dist/connection/extra/connection.js.map +0 -1
  85. package/dist/connection/extra/graph.extra.d.ts +0 -54
  86. package/dist/connection/extra/graph.extra.js +0 -151
  87. package/dist/connection/extra/graph.extra.js.map +0 -1
  88. package/dist/connection/extra/hdc.extra.d.ts +0 -89
  89. package/dist/connection/extra/hdc.extra.js +0 -322
  90. package/dist/connection/extra/hdc.extra.js.map +0 -1
  91. package/dist/connection/extra/index.extra.d.ts +0 -102
  92. package/dist/connection/extra/index.extra.js +0 -210
  93. package/dist/connection/extra/index.extra.js.map +0 -1
  94. package/dist/connection/extra/job.extra.d.ts +0 -32
  95. package/dist/connection/extra/job.extra.js +0 -122
  96. package/dist/connection/extra/job.extra.js.map +0 -1
  97. package/dist/connection/extra/policy.extra.d.ts +0 -32
  98. package/dist/connection/extra/policy.extra.js +0 -114
  99. package/dist/connection/extra/policy.extra.js.map +0 -1
  100. package/dist/connection/extra/privilege.extra.d.ts +0 -8
  101. package/dist/connection/extra/privilege.extra.js +0 -20
  102. package/dist/connection/extra/privilege.extra.js.map +0 -1
  103. package/dist/connection/extra/property.extra.d.ts +0 -66
  104. package/dist/connection/extra/property.extra.js +0 -190
  105. package/dist/connection/extra/property.extra.js.map +0 -1
  106. package/dist/connection/extra/schema.extra.d.ts +0 -108
  107. package/dist/connection/extra/schema.extra.js +0 -253
  108. package/dist/connection/extra/schema.extra.js.map +0 -1
  109. package/dist/connection/extra/user.extra.d.ts +0 -28
  110. package/dist/connection/extra/user.extra.js +0 -91
  111. package/dist/connection/extra/user.extra.js.map +0 -1
  112. package/dist/connection/index.d.ts +0 -5
  113. package/dist/connection/index.js +0 -13
  114. package/dist/connection/index.js.map +0 -1
  115. package/dist/connection/network.manager.d.ts +0 -28
  116. package/dist/connection/network.manager.js +0 -179
  117. package/dist/connection/network.manager.js.map +0 -1
  118. package/dist/index.js.map +0 -1
  119. package/dist/printers/alias.d.ts +0 -2
  120. package/dist/printers/alias.js +0 -39
  121. package/dist/printers/alias.js.map +0 -1
  122. package/dist/printers/any.d.ts +0 -2
  123. package/dist/printers/any.js +0 -63
  124. package/dist/printers/any.js.map +0 -1
  125. package/dist/printers/array.aio.d.ts +0 -3
  126. package/dist/printers/array.aio.js +0 -259
  127. package/dist/printers/array.aio.js.map +0 -1
  128. package/dist/printers/edge.d.ts +0 -5
  129. package/dist/printers/edge.js +0 -78
  130. package/dist/printers/edge.js.map +0 -1
  131. package/dist/printers/explain.plan.d.ts +0 -2
  132. package/dist/printers/explain.plan.js +0 -46
  133. package/dist/printers/explain.plan.js.map +0 -1
  134. package/dist/printers/index.d.ts +0 -24
  135. package/dist/printers/index.js +0 -43
  136. package/dist/printers/index.js.map +0 -1
  137. package/dist/printers/node.d.ts +0 -5
  138. package/dist/printers/node.js +0 -77
  139. package/dist/printers/node.js.map +0 -1
  140. package/dist/printers/path.d.ts +0 -3
  141. package/dist/printers/path.js +0 -62
  142. package/dist/printers/path.js.map +0 -1
  143. package/dist/printers/status.d.ts +0 -3
  144. package/dist/printers/status.js +0 -68
  145. package/dist/printers/status.js.map +0 -1
  146. package/dist/printers/table.d.ts +0 -2
  147. package/dist/printers/table.js +0 -56
  148. package/dist/printers/table.js.map +0 -1
  149. package/dist/proto/tmp.js +0 -366
  150. package/dist/proto/ultipa_grpc_pb.d.ts +0 -258
  151. package/dist/proto/ultipa_grpc_pb.js +0 -366
  152. package/dist/proto/ultipa_grpc_pb.js.map +0 -1
  153. package/dist/proto/ultipa_pb.d.ts +0 -1
  154. package/dist/proto/ultipa_pb.js +0 -11002
  155. package/dist/proto/ultipa_pb.js.map +0 -1
  156. package/dist/types/index.js.map +0 -1
  157. package/dist/types/types.algos.params.d.ts +0 -545
  158. package/dist/types/types.algos.params.js +0 -16
  159. package/dist/types/types.algos.params.js.map +0 -1
  160. package/dist/types/types.d.ts +0 -1204
  161. package/dist/types/types.extra.d.ts +0 -146
  162. package/dist/types/types.extra.js +0 -27
  163. package/dist/types/types.extra.js.map +0 -1
  164. package/dist/types/types.js +0 -1596
  165. package/dist/types/types.js.map +0 -1
  166. package/dist/types/util.d.ts +0 -15
  167. package/dist/types/util.js +0 -136
  168. package/dist/types/util.js.map +0 -1
  169. package/dist/utils/common.d.ts +0 -3
  170. package/dist/utils/common.js +0 -22
  171. package/dist/utils/common.js.map +0 -1
  172. package/dist/utils/format.d.ts +0 -45
  173. package/dist/utils/format.js +0 -877
  174. package/dist/utils/format.js.map +0 -1
  175. package/dist/utils/index.d.ts +0 -10
  176. package/dist/utils/index.js +0 -30
  177. package/dist/utils/index.js.map +0 -1
  178. package/dist/utils/property.d.ts +0 -18
  179. package/dist/utils/property.js +0 -153
  180. package/dist/utils/property.js.map +0 -1
  181. package/dist/utils/serialize/commont.d.ts +0 -12
  182. package/dist/utils/serialize/commont.js +0 -46
  183. package/dist/utils/serialize/commont.js.map +0 -1
  184. package/dist/utils/serialize/deserialize.d.ts +0 -9
  185. package/dist/utils/serialize/deserialize.js +0 -166
  186. package/dist/utils/serialize/deserialize.js.map +0 -1
  187. package/dist/utils/serialize/null.d.ts +0 -25
  188. package/dist/utils/serialize/null.js +0 -136
  189. package/dist/utils/serialize/null.js.map +0 -1
  190. package/dist/utils/serialize/serialize.d.ts +0 -10
  191. package/dist/utils/serialize/serialize.js +0 -144
  192. package/dist/utils/serialize/serialize.js.map +0 -1
  193. package/dist/utils/stream.helper.d.ts +0 -10
  194. package/dist/utils/stream.helper.js +0 -71
  195. package/dist/utils/stream.helper.js.map +0 -1
  196. package/dist/utils/time.record.d.ts +0 -15
  197. package/dist/utils/time.record.js +0 -52
  198. package/dist/utils/time.record.js.map +0 -1
  199. package/dist/utils/ultipa.datetime.d.ts +0 -14
  200. package/dist/utils/ultipa.datetime.js +0 -160
  201. package/dist/utils/ultipa.datetime.js.map +0 -1
  202. package/dist/utils/uql-maker.d.ts +0 -165
  203. package/dist/utils/uql-maker.js +0 -402
  204. package/dist/utils/uql-maker.js.map +0 -1
  205. package/dist/utils/uql.parse.d.ts +0 -27
  206. package/dist/utils/uql.parse.js +0 -205
  207. package/dist/utils/uql.parse.js.map +0 -1
  208. package/readme.md +0 -65
  209. package/src/proto/build.sh +0 -41
  210. package/src/proto/build_windows.sh +0 -40
  211. package/src/proto/ultipa.proto +0 -492
  212. package/src/proto/ultipa_grpc_pb.d.ts +0 -92
  213. package/src/proto/ultipa_grpc_pb.js +0 -414
  214. package/src/proto/ultipa_pb.d.ts +0 -1806
  215. package/src/proto/ultipa_pb.js +0 -13499
@@ -1,151 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GraphExra = void 0;
4
- const connection_base_1 = require("./connection.base");
5
- const utils_1 = require("../../utils");
6
- const types_1 = require("../../types/types");
7
- const types_extra_1 = require("../../types/types.extra");
8
- const CommandList = utils_1.UQLMAKER.CommandList;
9
- class GraphExra extends connection_base_1.ConnectionBase {
10
- /**
11
- * retrieve all graphs, graphs should contain total of nodes and edges.
12
- * @example client.showGraph(config)
13
- */
14
- async showGraph(config) {
15
- let command = CommandList.showGraph;
16
- let uqlMaker = new utils_1.UQLMAKER(command, config);
17
- uqlMaker.addEmptyParam("more", true);
18
- let res = await this.uql(uqlMaker.toString(), config);
19
- return res.items[types_extra_1.ResponseTableName.GRAPH]?.asGraphSets();
20
- }
21
- /**
22
- * Retrieves all GraphSets from the database.
23
- * TODO delete param partitionByHash
24
- */
25
- async createGraph(graphSet, config) {
26
- if (!graphSet.name) {
27
- throw new Error("The name of graphSet connot be null.");
28
- }
29
- if (graphSet.shards && !(graphSet.partitionBy)) {
30
- throw new Error("The partitionBy cannot be null.");
31
- }
32
- let gql = `CREATE GRAPH ${graphSet.name} {} `;
33
- (graphSet.shards) && (gql += `PARTITION BY HASH(${graphSet.partitionBy}) SHARDS [${graphSet.shards.map(i => +i)}] `);
34
- (graphSet.description) && (gql += `COMMENT "${graphSet.description}" `);
35
- return this.gql(gql, config);
36
- }
37
- /**
38
- * Creates a new GraphSet in the database, handling cases where the given GraphSet name already exists by ignoring the error.
39
- * @param graph
40
- * @param partitionByHash
41
- * @param config
42
- * @returns
43
- */
44
- async createGraphIfNotExist(graphSet, config) {
45
- let isGraphExit = await this.hasGraph(graphSet.name, config);
46
- if (isGraphExit) {
47
- return {
48
- response: {
49
- status: utils_1.FormatResponse.successStatus(),
50
- statistics: utils_1.FormatResponse.statisticsSum(),
51
- },
52
- exist: true
53
- };
54
- }
55
- let res = await this.createGraph(graphSet, config);
56
- return {
57
- response: res,
58
- exist: false
59
- };
60
- }
61
- /**
62
- * Retrieves one GraphSet from the database by its name.
63
- */
64
- async getGraph(graphName, config) {
65
- let command = CommandList.getGraph;
66
- let uqlMaker = new utils_1.UQLMAKER(command, config, graphName);
67
- uqlMaker.addEmptyParam("more", true);
68
- let res = await this.uql(uqlMaker.toString(), config);
69
- return res.items[types_extra_1.ResponseTableName.GRAPH]?.asGraphSets()?.pop();
70
- }
71
- /**
72
- * Checks the existence of a GraphSet in the database by its name.
73
- */
74
- async hasGraph(graphName, config) {
75
- let res = await this.getGraph(graphName, config);
76
- return res ? true : false;
77
- }
78
- /**
79
- * Drops one GraphSet from the database by its name.
80
- * @param graphName
81
- * @param config
82
- * @returns Response
83
- */
84
- async dropGraph(graphName, config) {
85
- let command = CommandList.dropGraph;
86
- let uqlMaker = new utils_1.UQLMAKER(command, config, graphName);
87
- return this.uql(uqlMaker.toString(), config);
88
- }
89
- /**
90
- * Alters the name and description of one existing GraphSet in the database by its name.
91
- */
92
- async alterGraph(graphName, alterGraphset, config) {
93
- let command = CommandList.updateGraph;
94
- let uqlMaker = new utils_1.UQLMAKER(command, config, graphName);
95
- let set = {};
96
- if (alterGraphset.name) {
97
- set.name = alterGraphset.name;
98
- }
99
- if ((0, utils_1.isNotNullString)(alterGraphset.description)) {
100
- set.description = alterGraphset.description;
101
- }
102
- uqlMaker.addParam("set", set);
103
- return this.uql(uqlMaker.toString(), config);
104
- }
105
- /**
106
- * Compacts a GraphSet by clearing its invalid and redundant data on the server disk. Valid data will not be affected.
107
- */
108
- async compact(graphName, config) {
109
- let command = CommandList.compact;
110
- let uqlMaker = new utils_1.UQLMAKER(command, config, graphName);
111
- let res = await this.uql(uqlMaker.toString(), config);
112
- return {
113
- statisics: res.statistics,
114
- status: utils_1.FormatResponse.successStatus(),
115
- jobId: res.items[types_extra_1.ResponseTableName.JOB_RESULT].asTable().toKV().pop().new_job_id
116
- };
117
- }
118
- /**
119
- * Truncates (Deletes) the specified nodes or edges in the given GraphSet or truncates the entire GraphSet.
120
- * Note that truncating nodes will cause the deletion of edges attached to those affected nodes.
121
- * The truncating operation retains the definition of schemas and properties while deleting the data.
122
- * @param params TruncateParams object containing graphName, schemaName and dbType
123
- * @param config Optional request configuration
124
- */
125
- async truncate(params, config) {
126
- let { graphName, schemaName, dbType } = params;
127
- if (!graphName) {
128
- throw new Error("GraphName cannot be null.");
129
- }
130
- let command = CommandList.truncate;
131
- let uqlMaker = new utils_1.UQLMAKER(command, config, graphName);
132
- let scope = "*";
133
- if (schemaName) {
134
- if (dbType === undefined) {
135
- throw new Error("DbType is required when schema is specified.");
136
- }
137
- if (schemaName !== "*") {
138
- scope = utils_1.UQLMAKER.SchemaStringWithDefault(schemaName);
139
- }
140
- if (dbType === types_1.DBType.DBNODE) {
141
- uqlMaker.addParam("nodes", scope);
142
- }
143
- else if (dbType === types_1.DBType.DBEDGE) {
144
- uqlMaker.addParam("edges", scope);
145
- }
146
- }
147
- return this.uqlResponse(uqlMaker, config);
148
- }
149
- }
150
- exports.GraphExra = GraphExra;
151
- //# sourceMappingURL=graph.extra.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"graph.extra.js","sourceRoot":"","sources":["../../../src/connection/extra/graph.extra.ts"],"names":[],"mappings":"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"}
@@ -1,89 +0,0 @@
1
- import { ConnectionBase } from "./connection.base";
2
- import { HDCGraph, JobResponse, RequestConfig, Response, HDCSyncType, Algo } from "../../types/types";
3
- export declare const FORMAT_ALGO: (algo: any) => Algo;
4
- export declare enum HDCDirection {
5
- OUT = "out",
6
- IN = "in",
7
- UNDIRECTED = "undirected"
8
- }
9
- export declare class HDCBuilder {
10
- syncType?: HDCSyncType;
11
- hdcGraphName: string;
12
- hdcServerName: string;
13
- nodeSchema?: Map<string, string[]>;
14
- edgeSchema?: Map<string, string[]>;
15
- direction?: HDCDirection;
16
- loadId?: boolean;
17
- isDefault?: boolean;
18
- }
19
- export declare class HDCExtra extends ConnectionBase {
20
- /**
21
- * Show HDC graph
22
- * @param hdcGraphName
23
- * @param config
24
- * @returns
25
- */
26
- showHDCGraph(config?: RequestConfig): Promise<HDCGraph[]>;
27
- /**
28
- * Drop HDC graph
29
- * @param hdcGraphName
30
- * @param config
31
- * @returns
32
- */
33
- dropHDCGraph(hdcGraphName: string, config?: RequestConfig): Promise<Response>;
34
- /**
35
- * Create HDC graph by schema
36
- * @param hdcGraphName
37
- * @param nodeSchemas
38
- * @param edgeSchemas
39
- * @param hdcName
40
- * @param update
41
- * @param config
42
- */
43
- createHDCGraphBySchema(builder: HDCBuilder, config?: RequestConfig): Promise<JobResponse>;
44
- /**
45
- * Show HDC algo
46
- * @param hdcServerName
47
- * @param config
48
- */
49
- showHDCAlgo(hdcServerName: string, config?: RequestConfig): Promise<Algo[]>;
50
- /**
51
- * Uninstalls an Ultipa graph algorithm in the instance.
52
- * @param algoName
53
- * @param hdcServerName
54
- * @param config
55
- * @returns Response<boolean>
56
- */
57
- uninstallHDCAlgo(algoName: string, hdcServerName: string, config?: RequestConfig): Promise<Response>;
58
- /**
59
- * Rollback algo
60
- * @param algoName
61
- * @param hdcServerName
62
- * @param config
63
- * @returns Response<boolean>
64
- */
65
- rollbackHDCAlgo(algoName: string, hdcServerName: string, config?: RequestConfig): Promise<Response>;
66
- /**
67
- *Installs an Ultipa graph algorithm in the instance. files includes all file paths required to install the algo.
68
- * @param soFile
69
- * @param ymlFile
70
- * @param hdcName
71
- * @param config
72
- * @returns Response<boolean>
73
- */
74
- installHDCAlgo(files: string[], hdcServerName: string, config?: RequestConfig): Promise<Response>;
75
- /**
76
- * install algo aio
77
- * @param req
78
- * @param config
79
- * @returns
80
- */
81
- private installAlgoAio;
82
- /**
83
- * install algo
84
- * @param req
85
- * @param config
86
- * @returns
87
- * */
88
- private _installAlgo;
89
- }
@@ -1,322 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.HDCExtra = exports.HDCBuilder = exports.HDCDirection = exports.FORMAT_ALGO = void 0;
7
- const connection_base_1 = require("./connection.base");
8
- const utils_1 = require("../..//utils");
9
- const ultipa_pb_1 = require("../../proto/ultipa_pb");
10
- const types_1 = require("../../types/types");
11
- const path_1 = __importDefault(require("path"));
12
- const fs_extra_1 = __importDefault(require("fs-extra"));
13
- const crypto_1 = __importDefault(require("crypto"));
14
- const types_extra_1 = require("../../types/types.extra");
15
- const { CommandList } = utils_1.UQLMAKER;
16
- const FORMAT_ALGO = (algo) => {
17
- return {
18
- name: algo.name,
19
- type: algo.type,
20
- writeSupportType: algo.write_support_type,
21
- canRollback: algo.can_rollback,
22
- configContext: algo.config_context,
23
- version: algo.version,
24
- params: algo.params,
25
- description: algo.description,
26
- };
27
- };
28
- exports.FORMAT_ALGO = FORMAT_ALGO;
29
- var HDCDirection;
30
- (function (HDCDirection) {
31
- HDCDirection["OUT"] = "out";
32
- HDCDirection["IN"] = "in";
33
- HDCDirection["UNDIRECTED"] = "undirected";
34
- })(HDCDirection = exports.HDCDirection || (exports.HDCDirection = {}));
35
- class HDCBuilder {
36
- syncType = types_1.HDCSyncType.STATIC;
37
- hdcGraphName;
38
- hdcServerName;
39
- nodeSchema;
40
- edgeSchema;
41
- direction = HDCDirection.UNDIRECTED;
42
- loadId = true;
43
- isDefault = false;
44
- }
45
- exports.HDCBuilder = HDCBuilder;
46
- class HDCExtra extends connection_base_1.ConnectionBase {
47
- /**
48
- * Show HDC graph
49
- * @param hdcGraphName
50
- * @param config
51
- * @returns
52
- */
53
- async showHDCGraph(config) {
54
- let command = CommandList.showHDCGraph;
55
- let uqlMaker = new utils_1.UQLMAKER(command, config);
56
- let res = await this.uql(uqlMaker.toString(), config);
57
- return res.items[types_extra_1.ResponseTableName.HDC_GRAPH_LIST].asHDCGraphs();
58
- }
59
- /**
60
- * Drop HDC graph
61
- * @param hdcGraphName
62
- * @param config
63
- * @returns
64
- */
65
- async dropHDCGraph(hdcGraphName, config) {
66
- let command = CommandList.dropHDCGraph;
67
- let uqlMaker = new utils_1.UQLMAKER(command, config, hdcGraphName);
68
- return this.uql(uqlMaker.toString(), config);
69
- }
70
- /**
71
- * Create HDC graph by schema
72
- * @param hdcGraphName
73
- * @param nodeSchemas
74
- * @param edgeSchemas
75
- * @param hdcName
76
- * @param update
77
- * @param config
78
- */
79
- async createHDCGraphBySchema(builder, config) {
80
- let command = CommandList.createHDCGraph;
81
- let req = {
82
- nodes: Object.fromEntries(builder.nodeSchema),
83
- edges: Object.fromEntries(builder.edgeSchema),
84
- direction: builder.direction,
85
- load_id: builder.loadId,
86
- update: builder.syncType,
87
- query: "query",
88
- default: builder.isDefault
89
- };
90
- let commandP = [builder.hdcServerName, builder.hdcGraphName, req];
91
- let uqlMaker = new utils_1.UQLMAKER(command, config, commandP);
92
- let res = await this.gql('CALL ' + uqlMaker.toString(), config);
93
- return {
94
- status: utils_1.FormatResponse.successStatus(),
95
- statisics: res.statistics,
96
- jobId: res.items[types_extra_1.ResponseTableName.JOB_RESULT]?.asTable()?.toKV()?.pop().new_job_id
97
- };
98
- }
99
- /**
100
- * Show HDC algo
101
- * @param hdcServerName
102
- * @param config
103
- */
104
- async showHDCAlgo(hdcServerName, config) {
105
- let command = utils_1.UQLMAKER.CommandList.showHDCAlgo;
106
- let uqlMaker = new utils_1.UQLMAKER(command, config, hdcServerName);
107
- let res = await this.uql(uqlMaker.toString(), config);
108
- return res.items[types_extra_1.ResponseTableName.ALGO_LIST].asAlgos();
109
- }
110
- /**
111
- * Uninstalls an Ultipa graph algorithm in the instance.
112
- * @param algoName
113
- * @param hdcServerName
114
- * @param config
115
- * @returns Response<boolean>
116
- */
117
- async uninstallHDCAlgo(algoName, hdcServerName, config) {
118
- return new Promise(async (resolve, reject) => {
119
- try {
120
- let clientInfo = await this.getClientInfo({
121
- graphSetName: config?.graph,
122
- isGlobal: true,
123
- timezone: config?.timezone,
124
- timezoneOffset: config?.timezoneOffset,
125
- });
126
- let request = new ultipa_pb_1.UninstallAlgoRequest();
127
- request.setAlgoName(algoName);
128
- if (hdcServerName) {
129
- let with_server = new ultipa_pb_1.WithServer();
130
- with_server.setHdcServerName(hdcServerName);
131
- request.setWithServer(with_server);
132
- }
133
- clientInfo.client.controlsClient.uninstallAlgo(request, clientInfo.metadata, (err, reply) => {
134
- let response = new types_1.Response();
135
- if (err) {
136
- response = utils_1.FormatResponse.unknownError(err, response);
137
- resolve(response);
138
- return;
139
- }
140
- response.status = utils_1.FormatType.status(reply.getStatus()),
141
- resolve(response);
142
- });
143
- }
144
- catch (error) {
145
- reject(error);
146
- }
147
- });
148
- }
149
- /**
150
- * Rollback algo
151
- * @param algoName
152
- * @param hdcServerName
153
- * @param config
154
- * @returns Response<boolean>
155
- */
156
- async rollbackHDCAlgo(algoName, hdcServerName, config) {
157
- return new Promise(async (resolve, reject) => {
158
- try {
159
- let clientInfo = await this.getClientInfo({
160
- graphSetName: config?.graph,
161
- isGlobal: true,
162
- timezone: config?.timezone,
163
- timezoneOffset: config?.timezoneOffset,
164
- });
165
- let request = new ultipa_pb_1.RollbackAlgoRequest();
166
- request.setAlgoName(algoName);
167
- let with_server = new ultipa_pb_1.WithServer();
168
- with_server.setHdcServerName(hdcServerName);
169
- request.setWithServer(with_server);
170
- clientInfo.client.controlsClient.rollbackAlgo(request, clientInfo.metadata, (err, reply) => {
171
- let response = new types_1.Response();
172
- if (err) {
173
- response = utils_1.FormatResponse.unknownError(err, response);
174
- resolve(response);
175
- return;
176
- }
177
- response.status = utils_1.FormatType.status(reply.getStatus()),
178
- resolve(response);
179
- });
180
- }
181
- catch (error) {
182
- reject(error);
183
- }
184
- });
185
- }
186
- /**
187
- *Installs an Ultipa graph algorithm in the instance. files includes all file paths required to install the algo.
188
- * @param soFile
189
- * @param ymlFile
190
- * @param hdcName
191
- * @param config
192
- * @returns Response<boolean>
193
- */
194
- async installHDCAlgo(files, hdcServerName, config) {
195
- const soFile = files.find(file => file.endsWith('.so'));
196
- const ymlFile = files.find(file => file.endsWith('.yml') || file.endsWith('.yaml'));
197
- if (!soFile || !ymlFile) {
198
- throw new Error('Must provide a .so file and a .yml/.yaml file');
199
- }
200
- return this.installAlgoAio({
201
- hdc: hdcServerName,
202
- paths: {
203
- algoFilePath: soFile,
204
- infoFilePath: ymlFile
205
- },
206
- isHdc: true
207
- }, config);
208
- }
209
- /**
210
- * install algo aio
211
- * @param req
212
- * @param config
213
- * @returns
214
- */
215
- async installAlgoAio(req, config) {
216
- if (req.datas) {
217
- return this._installAlgo({
218
- ...req.datas,
219
- isHdc: req?.isHdc
220
- }, config);
221
- }
222
- let filePaths = [req.paths.algoFilePath, req.paths.infoFilePath];
223
- let _req = {
224
- datas: [],
225
- isHdc: req.isHdc,
226
- hdc: req.hdc
227
- };
228
- for (let i = 0; i < filePaths.length; i++) {
229
- const filePath = filePaths[i];
230
- let chunk = fs_extra_1.default.readFileSync(filePath);
231
- let md5 = crypto_1.default.createHash("md5").update(chunk).digest("hex");
232
- let fileName = path_1.default.basename(filePath);
233
- _req.datas.push({
234
- chunk,
235
- md5,
236
- fileName,
237
- });
238
- }
239
- return this._installAlgo(_req, config);
240
- }
241
- /**
242
- * install algo
243
- * @param req
244
- * @param config
245
- * @returns
246
- * */
247
- async _installAlgo(req, config) {
248
- return new Promise(async (resolve, reject) => {
249
- try {
250
- let clientInfo = await this.getClientInfo({
251
- graphSetName: config?.graph,
252
- isGlobal: true,
253
- timezone: config?.timezone,
254
- timezoneOffset: config?.timezoneOffset,
255
- });
256
- let isError = null;
257
- let callback = (err, reply) => {
258
- let response = new types_1.Response();
259
- if (err) {
260
- isError = err;
261
- response = utils_1.FormatResponse.unknownError(err, response);
262
- resolve(response);
263
- return;
264
- }
265
- response.status = utils_1.FormatType.status(reply.getStatus()),
266
- resolve(response);
267
- };
268
- let v = clientInfo.client.controlsClient.installAlgo(clientInfo.metadata, callback);
269
- for (let i = 0; i < req.datas.length; i++) {
270
- if (isError) {
271
- break;
272
- }
273
- const { chunk, md5, fileName } = req.datas[i];
274
- let request = new ultipa_pb_1.InstallAlgoRequest();
275
- request.setFileName(fileName);
276
- request.setMd5(md5);
277
- if (req?.isHdc) {
278
- let ws = new ultipa_pb_1.WithServer();
279
- ws.setHdcServerName(req.hdc);
280
- request.setWithServer(ws);
281
- }
282
- let bufferSize = 1 * 1024 * 1024;
283
- let sum = 0;
284
- console.log("Install Algo", {
285
- fileName,
286
- chunkLength: chunk.length,
287
- md5,
288
- });
289
- for (let index = 0; index < chunk.length; index += bufferSize) {
290
- if (isError) {
291
- break;
292
- }
293
- let sub_chunk = chunk.slice(index, index + bufferSize);
294
- request.setChunk(sub_chunk);
295
- sum += sub_chunk.length;
296
- let sendAlready = async () => {
297
- return new Promise((resolve, reject) => {
298
- v.write(request, null, () => {
299
- // console.log("sending ",index, sub_chunk.length);
300
- resolve(1);
301
- });
302
- });
303
- };
304
- await sendAlready();
305
- }
306
- if (!isError) {
307
- console.log("End and sending sum: ", fileName, sum);
308
- }
309
- }
310
- v.end();
311
- if (!isError) {
312
- console.log(`${JSON.stringify(req.datas.map(o => o.fileName))} upload finished!`);
313
- }
314
- }
315
- catch (error) {
316
- reject(error);
317
- }
318
- });
319
- }
320
- }
321
- exports.HDCExtra = HDCExtra;
322
- //# sourceMappingURL=hdc.extra.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hdc.extra.js","sourceRoot":"","sources":["../../../src/connection/extra/hdc.extra.ts"],"names":[],"mappings":"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"}