@ultipa-graph/ultipa-driver 5.1.5-s5.2 → 6.0.4
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/LICENSE +21 -0
- package/README.md +65 -0
- package/dist/client.d.ts +196 -0
- package/dist/client.js +394 -0
- package/dist/config.d.ts +65 -0
- package/dist/config.js +135 -0
- package/dist/connection.d.ts +30 -0
- package/dist/connection.js +190 -0
- package/dist/errors.d.ts +99 -0
- package/dist/errors.js +237 -0
- package/dist/index.d.ts +14 -5
- package/dist/index.js +88 -39
- package/dist/printers.d.ts +33 -0
- package/dist/printers.js +312 -0
- package/dist/proto/gqldb.proto +689 -0
- package/dist/response.d.ts +256 -0
- package/dist/response.js +723 -0
- package/dist/services/admin-service.d.ts +44 -0
- package/dist/services/admin-service.js +168 -0
- package/dist/services/bulk-import-service.d.ts +35 -0
- package/dist/services/bulk-import-service.js +105 -0
- package/dist/services/converters.d.ts +57 -0
- package/dist/services/converters.js +254 -0
- package/dist/services/data-service.d.ts +44 -0
- package/dist/services/data-service.js +206 -0
- package/dist/services/graph-service.d.ts +32 -0
- package/dist/services/graph-service.js +127 -0
- package/dist/services/health-service.d.ts +50 -0
- package/dist/services/health-service.js +78 -0
- package/dist/services/index.d.ts +13 -0
- package/dist/services/index.js +30 -0
- package/dist/services/query-service.d.ts +39 -0
- package/dist/services/query-service.js +112 -0
- package/dist/services/service-context.d.ts +39 -0
- package/dist/services/service-context.js +73 -0
- package/dist/services/session-service.d.ts +24 -0
- package/dist/services/session-service.js +66 -0
- package/dist/services/transaction-service.d.ts +33 -0
- package/dist/services/transaction-service.js +100 -0
- package/dist/services.d.ts +28 -0
- package/dist/services.js +122 -0
- package/dist/session.d.ts +45 -0
- package/dist/session.js +75 -0
- package/dist/transaction.d.ts +42 -0
- package/dist/transaction.js +89 -0
- package/dist/types/bulk_import.d.ts +53 -0
- package/dist/types/bulk_import.js +6 -0
- package/dist/types/data_types.d.ts +116 -0
- package/dist/types/data_types.js +122 -0
- package/dist/types/enums.d.ts +59 -0
- package/dist/types/enums.js +67 -0
- package/dist/types/graph_models.d.ts +54 -0
- package/dist/types/graph_models.js +6 -0
- package/dist/types/index.d.ts +11 -5
- package/dist/types/index.js +36 -37
- package/dist/types/metadata.d.ts +107 -0
- package/dist/types/metadata.js +6 -0
- package/dist/types/schema.d.ts +31 -0
- package/dist/types/schema.js +6 -0
- package/dist/types/typed_value.d.ts +25 -0
- package/dist/types/typed_value.js +1176 -0
- package/dist/types/wrappers.d.ts +23 -0
- package/dist/types/wrappers.js +39 -0
- package/dist/types.d.ts +7 -0
- package/dist/types.js +24 -0
- package/package.json +50 -63
- package/dist/connection/connection.final.d.ts +0 -14
- package/dist/connection/connection.final.js +0 -94
- package/dist/connection/connection.final.js.map +0 -1
- package/dist/connection/connection.pool.d.ts +0 -21
- package/dist/connection/connection.pool.js +0 -103
- package/dist/connection/connection.pool.js.map +0 -1
- package/dist/connection/extra/algos/algo.extra.d.ts +0 -34
- package/dist/connection/extra/algos/algo.extra.js +0 -69
- package/dist/connection/extra/algos/algo.extra.js.map +0 -1
- package/dist/connection/extra/algos/algo.utils.d.ts +0 -3
- package/dist/connection/extra/algos/algo.utils.js +0 -54
- package/dist/connection/extra/algos/algo.utils.js.map +0 -1
- package/dist/connection/extra/algos/community.d.ts +0 -27
- package/dist/connection/extra/algos/community.js +0 -76
- package/dist/connection/extra/algos/community.js.map +0 -1
- package/dist/connection/extra/algos/degrees.d.ts +0 -10
- package/dist/connection/extra/algos/degrees.js +0 -24
- package/dist/connection/extra/algos/degrees.js.map +0 -1
- package/dist/connection/extra/algos/embedding.d.ts +0 -13
- package/dist/connection/extra/algos/embedding.js +0 -33
- package/dist/connection/extra/algos/embedding.js.map +0 -1
- package/dist/connection/extra/algos/index.d.ts +0 -5
- package/dist/connection/extra/algos/index.js +0 -14
- package/dist/connection/extra/algos/index.js.map +0 -1
- package/dist/connection/extra/base.extra.d.ts +0 -18
- package/dist/connection/extra/base.extra.js +0 -111
- package/dist/connection/extra/base.extra.js.map +0 -1
- package/dist/connection/extra/batch.insert.extra.d.ts +0 -58
- package/dist/connection/extra/batch.insert.extra.js +0 -354
- package/dist/connection/extra/batch.insert.extra.js.map +0 -1
- package/dist/connection/extra/connection.base.d.ts +0 -112
- package/dist/connection/extra/connection.base.js +0 -530
- package/dist/connection/extra/connection.base.js.map +0 -1
- package/dist/connection/extra/connection.d.ts +0 -17
- package/dist/connection/extra/connection.js +0 -44
- package/dist/connection/extra/connection.js.map +0 -1
- package/dist/connection/extra/graph.extra.d.ts +0 -54
- package/dist/connection/extra/graph.extra.js +0 -151
- package/dist/connection/extra/graph.extra.js.map +0 -1
- package/dist/connection/extra/hdc.extra.d.ts +0 -89
- package/dist/connection/extra/hdc.extra.js +0 -322
- package/dist/connection/extra/hdc.extra.js.map +0 -1
- package/dist/connection/extra/index.extra.d.ts +0 -102
- package/dist/connection/extra/index.extra.js +0 -210
- package/dist/connection/extra/index.extra.js.map +0 -1
- package/dist/connection/extra/job.extra.d.ts +0 -32
- package/dist/connection/extra/job.extra.js +0 -122
- package/dist/connection/extra/job.extra.js.map +0 -1
- package/dist/connection/extra/meta.extra.d.ts +0 -36
- package/dist/connection/extra/meta.extra.js +0 -123
- package/dist/connection/extra/meta.extra.js.map +0 -1
- package/dist/connection/extra/policy.extra.d.ts +0 -32
- package/dist/connection/extra/policy.extra.js +0 -114
- package/dist/connection/extra/policy.extra.js.map +0 -1
- package/dist/connection/extra/privilege.extra.d.ts +0 -8
- package/dist/connection/extra/privilege.extra.js +0 -20
- package/dist/connection/extra/privilege.extra.js.map +0 -1
- package/dist/connection/extra/property.extra.d.ts +0 -66
- package/dist/connection/extra/property.extra.js +0 -190
- package/dist/connection/extra/property.extra.js.map +0 -1
- package/dist/connection/extra/schema.extra.d.ts +0 -108
- package/dist/connection/extra/schema.extra.js +0 -253
- package/dist/connection/extra/schema.extra.js.map +0 -1
- package/dist/connection/extra/search.extra.d.ts +0 -12
- package/dist/connection/extra/search.extra.js +0 -117
- package/dist/connection/extra/search.extra.js.map +0 -1
- package/dist/connection/extra/task.extra.d.ts +0 -24
- package/dist/connection/extra/task.extra.js +0 -107
- package/dist/connection/extra/task.extra.js.map +0 -1
- package/dist/connection/extra/user.extra.d.ts +0 -28
- package/dist/connection/extra/user.extra.js +0 -91
- package/dist/connection/extra/user.extra.js.map +0 -1
- package/dist/connection/extra/user.privilege.extra.d.ts +0 -64
- package/dist/connection/extra/user.privilege.extra.js +0 -273
- package/dist/connection/extra/user.privilege.extra.js.map +0 -1
- package/dist/connection/index.d.ts +0 -5
- package/dist/connection/index.js +0 -13
- package/dist/connection/index.js.map +0 -1
- package/dist/connection/network.manager.d.ts +0 -28
- package/dist/connection/network.manager.js +0 -179
- package/dist/connection/network.manager.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/printers/alias.d.ts +0 -2
- package/dist/printers/alias.js +0 -39
- package/dist/printers/alias.js.map +0 -1
- package/dist/printers/any.d.ts +0 -2
- package/dist/printers/any.js +0 -63
- package/dist/printers/any.js.map +0 -1
- package/dist/printers/array.aio.d.ts +0 -3
- package/dist/printers/array.aio.js +0 -259
- package/dist/printers/array.aio.js.map +0 -1
- package/dist/printers/common.d.ts +0 -0
- package/dist/printers/common.js +0 -1
- package/dist/printers/common.js.map +0 -1
- package/dist/printers/edge.d.ts +0 -5
- package/dist/printers/edge.js +0 -78
- package/dist/printers/edge.js.map +0 -1
- package/dist/printers/explain.plan.d.ts +0 -2
- package/dist/printers/explain.plan.js +0 -46
- package/dist/printers/explain.plan.js.map +0 -1
- package/dist/printers/index.d.ts +0 -24
- package/dist/printers/index.js +0 -43
- package/dist/printers/index.js.map +0 -1
- package/dist/printers/node.d.ts +0 -5
- package/dist/printers/node.js +0 -77
- package/dist/printers/node.js.map +0 -1
- package/dist/printers/path.d.ts +0 -3
- package/dist/printers/path.js +0 -62
- package/dist/printers/path.js.map +0 -1
- package/dist/printers/status.d.ts +0 -3
- package/dist/printers/status.js +0 -68
- package/dist/printers/status.js.map +0 -1
- package/dist/printers/table.d.ts +0 -2
- package/dist/printers/table.js +0 -56
- package/dist/printers/table.js.map +0 -1
- package/dist/proto/tmp.js +0 -366
- package/dist/proto/ultipa_grpc_pb.d.ts +0 -258
- package/dist/proto/ultipa_grpc_pb.js +0 -366
- package/dist/proto/ultipa_grpc_pb.js.map +0 -1
- package/dist/proto/ultipa_pb.d.ts +0 -1
- package/dist/proto/ultipa_pb.js +0 -12119
- package/dist/proto/ultipa_pb.js.map +0 -1
- package/dist/types/index.js.map +0 -1
- package/dist/types/types.algos.params.d.ts +0 -545
- package/dist/types/types.algos.params.js +0 -16
- package/dist/types/types.algos.params.js.map +0 -1
- package/dist/types/types.d.ts +0 -1214
- package/dist/types/types.extra.d.ts +0 -146
- package/dist/types/types.extra.js +0 -27
- package/dist/types/types.extra.js.map +0 -1
- package/dist/types/types.js +0 -1606
- package/dist/types/types.js.map +0 -1
- package/dist/types/util.d.ts +0 -15
- package/dist/types/util.js +0 -136
- package/dist/types/util.js.map +0 -1
- package/dist/utils/common.d.ts +0 -3
- package/dist/utils/common.js +0 -22
- package/dist/utils/common.js.map +0 -1
- package/dist/utils/config.d.ts +0 -3
- package/dist/utils/config.js +0 -7
- package/dist/utils/config.js.map +0 -1
- package/dist/utils/format.d.ts +0 -45
- package/dist/utils/format.js +0 -879
- package/dist/utils/format.js.map +0 -1
- package/dist/utils/index.d.ts +0 -10
- package/dist/utils/index.js +0 -30
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/params.validate.d.ts +0 -4
- package/dist/utils/params.validate.js +0 -14
- package/dist/utils/params.validate.js.map +0 -1
- package/dist/utils/property.d.ts +0 -24
- package/dist/utils/property.js +0 -203
- package/dist/utils/property.js.map +0 -1
- package/dist/utils/raft.retry.d.ts +0 -0
- package/dist/utils/raft.retry.js +0 -1
- package/dist/utils/raft.retry.js.map +0 -1
- package/dist/utils/serialize/commont.d.ts +0 -12
- package/dist/utils/serialize/commont.js +0 -46
- package/dist/utils/serialize/commont.js.map +0 -1
- package/dist/utils/serialize/deserialize.d.ts +0 -10
- package/dist/utils/serialize/deserialize.js +0 -288
- package/dist/utils/serialize/deserialize.js.map +0 -1
- package/dist/utils/serialize/null.d.ts +0 -32
- package/dist/utils/serialize/null.js +0 -178
- package/dist/utils/serialize/null.js.map +0 -1
- package/dist/utils/serialize/serialize.d.ts +0 -10
- package/dist/utils/serialize/serialize.js +0 -146
- package/dist/utils/serialize/serialize.js.map +0 -1
- package/dist/utils/stream.helper.d.ts +0 -10
- package/dist/utils/stream.helper.js +0 -71
- package/dist/utils/stream.helper.js.map +0 -1
- package/dist/utils/time.record.d.ts +0 -15
- package/dist/utils/time.record.js +0 -52
- package/dist/utils/time.record.js.map +0 -1
- package/dist/utils/timezone.d.ts +0 -7
- package/dist/utils/timezone.js +0 -21
- package/dist/utils/timezone.js.map +0 -1
- package/dist/utils/ultipa.datetime.d.ts +0 -14
- package/dist/utils/ultipa.datetime.js +0 -160
- package/dist/utils/ultipa.datetime.js.map +0 -1
- package/dist/utils/uql-maker.d.ts +0 -165
- package/dist/utils/uql-maker.js +0 -402
- package/dist/utils/uql-maker.js.map +0 -1
- package/dist/utils/uql.parse.d.ts +0 -27
- package/dist/utils/uql.parse.js +0 -205
- package/dist/utils/uql.parse.js.map +0 -1
- package/readme.md +0 -65
- package/src/proto/build.sh +0 -41
- package/src/proto/build_windows.sh +0 -40
- package/src/proto/ultipa.proto +0 -531
- package/src/proto/ultipa_grpc_pb.d.ts +0 -92
- package/src/proto/ultipa_grpc_pb.js +0 -414
- package/src/proto/ultipa_pb.d.ts +0 -1983
- package/src/proto/ultipa_pb.js +0 -14852
|
@@ -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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"}
|