couchbase 4.2.10 → 4.2.11-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/deps/couchbase-cxx-client/core/bucket.cxx +23 -8
- package/deps/couchbase-cxx-client/core/bucket.hxx +1 -0
- package/deps/couchbase-cxx-client/core/cluster.cxx +29 -3
- package/deps/couchbase-cxx-client/core/impl/collection.cxx +2 -2
- package/deps/couchbase-cxx-client/core/impl/query_index_manager.cxx +6 -6
- package/deps/couchbase-cxx-client/core/io/http_session_manager.hxx +7 -1
- package/deps/couchbase-cxx-client/core/io/mcbp_command.hxx +10 -0
- package/deps/couchbase-cxx-client/core/io/mcbp_session.cxx +24 -1
- package/deps/couchbase-cxx-client/core/io/mcbp_session.hxx +1 -0
- package/deps/couchbase-cxx-client/core/management/design_document.hxx +1 -1
- package/deps/couchbase-cxx-client/core/meta/features.hxx +16 -1
- package/deps/couchbase-cxx-client/core/operations/document_lookup_in_all_replicas.hxx +1 -1
- package/deps/couchbase-cxx-client/core/operations/document_lookup_in_any_replica.hxx +1 -1
- package/deps/couchbase-cxx-client/core/operations/document_query.cxx +2 -2
- package/deps/couchbase-cxx-client/core/operations/document_search.cxx +10 -10
- package/deps/couchbase-cxx-client/core/operations/document_view.cxx +3 -0
- package/deps/couchbase-cxx-client/core/operations/document_view.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/management/query_index_create.cxx +24 -13
- package/deps/couchbase-cxx-client/core/operations/management/query_index_create.hxx +1 -1
- package/deps/couchbase-cxx-client/core/origin.cxx +14 -0
- package/deps/couchbase-cxx-client/core/origin.hxx +6 -0
- package/deps/couchbase-cxx-client/core/protocol/status.cxx +2 -0
- package/deps/couchbase-cxx-client/core/protocol/status.hxx +1 -0
- package/deps/couchbase-cxx-client/core/topology/capabilities.hxx +70 -1
- package/deps/couchbase-cxx-client/core/topology/capabilities_fmt.hxx +30 -2
- package/deps/couchbase-cxx-client/core/topology/configuration.hxx +1 -34
- package/deps/couchbase-cxx-client/core/topology/configuration_fmt.hxx +2 -2
- package/deps/couchbase-cxx-client/core/topology/configuration_json.hxx +43 -20
- package/deps/couchbase-cxx-client/core/transactions/internal/exceptions_internal.hxx +5 -0
- package/deps/couchbase-cxx-client/couchbase/collection_query_index_manager.hxx +80 -11
- package/deps/couchbase-cxx-client/couchbase/fmt/key_value_status_code.hxx +3 -1
- package/deps/couchbase-cxx-client/couchbase/key_value_status_code.hxx +1 -0
- package/deps/couchbase-cxx-client/couchbase/query_index_manager.hxx +6 -8
- package/dist/binding.d.ts +24 -2
- package/dist/bindingutilities.d.ts +11 -3
- package/dist/bindingutilities.js +33 -7
- package/dist/couchbase.d.ts +1 -0
- package/dist/couchbase.js +1 -0
- package/dist/queryindexmanager.d.ts +4 -4
- package/dist/queryindexmanager.js +7 -7
- package/dist/scope.d.ts +21 -0
- package/dist/scope.js +34 -0
- package/dist/scopesearchindexmanager.d.ts +116 -0
- package/dist/scopesearchindexmanager.js +406 -0
- package/dist/sdspecs.js +10 -9
- package/dist/sdutils.d.ts +1 -0
- package/dist/sdutils.js +4 -0
- package/dist/searchexecutor.d.ts +3 -1
- package/dist/searchexecutor.js +9 -2
- package/dist/searchindexmanager.d.ts +58 -3
- package/dist/searchindexmanager.js +188 -104
- package/dist/viewexecutor.js +13 -9
- package/dist/viewindexmanager.d.ts +70 -7
- package/dist/viewindexmanager.js +236 -103
- package/dist/viewtypes.d.ts +26 -0
- package/dist/viewtypes.js +17 -1
- package/package.json +7 -7
- package/src/constants.cpp +1 -0
- package/src/jstocbpp_autogen.hpp +89 -6
@@ -0,0 +1,406 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.ScopeSearchIndexManager = void 0;
|
4
|
+
const utilities_1 = require("./utilities");
|
5
|
+
const bindingutilities_1 = require("./bindingutilities");
|
6
|
+
const searchindexmanager_1 = require("./searchindexmanager");
|
7
|
+
/**
|
8
|
+
* SearchIndexManager provides an interface for managing the
|
9
|
+
* search indexes on the cluster.
|
10
|
+
*
|
11
|
+
* Volatile: This API is subject to change at any time.
|
12
|
+
*
|
13
|
+
* @category Management
|
14
|
+
*/
|
15
|
+
class ScopeSearchIndexManager {
|
16
|
+
/**
|
17
|
+
* @internal
|
18
|
+
*/
|
19
|
+
constructor(cluster, bucketName, scopeName) {
|
20
|
+
this._cluster = cluster;
|
21
|
+
this._bucketName = bucketName;
|
22
|
+
this._scopeName = scopeName;
|
23
|
+
}
|
24
|
+
/**
|
25
|
+
* Returns an index by it's name.
|
26
|
+
*
|
27
|
+
* @param indexName The index to retrieve.
|
28
|
+
* @param options Optional parameters for this operation.
|
29
|
+
* @param callback A node-style callback to be invoked after execution.
|
30
|
+
*/
|
31
|
+
async getIndex(indexName, options, callback) {
|
32
|
+
if (options instanceof Function) {
|
33
|
+
callback = arguments[1];
|
34
|
+
options = undefined;
|
35
|
+
}
|
36
|
+
if (!options) {
|
37
|
+
options = {};
|
38
|
+
}
|
39
|
+
const timeout = options.timeout || this._cluster.managementTimeout;
|
40
|
+
return utilities_1.PromiseHelper.wrap((wrapCallback) => {
|
41
|
+
this._cluster.conn.managementSearchIndexGet({
|
42
|
+
index_name: indexName,
|
43
|
+
timeout: timeout,
|
44
|
+
bucket_name: this._bucketName,
|
45
|
+
scope_name: this._scopeName,
|
46
|
+
}, (cppErr, resp) => {
|
47
|
+
const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
|
48
|
+
if (err) {
|
49
|
+
return wrapCallback(err, null);
|
50
|
+
}
|
51
|
+
const index = searchindexmanager_1.SearchIndex._fromCppData(resp.index);
|
52
|
+
wrapCallback(null, index);
|
53
|
+
});
|
54
|
+
}, callback);
|
55
|
+
}
|
56
|
+
/**
|
57
|
+
* Returns a list of all existing indexes.
|
58
|
+
*
|
59
|
+
* @param options Optional parameters for this operation.
|
60
|
+
* @param callback A node-style callback to be invoked after execution.
|
61
|
+
*/
|
62
|
+
async getAllIndexes(options, callback) {
|
63
|
+
if (options instanceof Function) {
|
64
|
+
callback = arguments[0];
|
65
|
+
options = undefined;
|
66
|
+
}
|
67
|
+
if (!options) {
|
68
|
+
options = {};
|
69
|
+
}
|
70
|
+
const timeout = options.timeout || this._cluster.managementTimeout;
|
71
|
+
return utilities_1.PromiseHelper.wrap((wrapCallback) => {
|
72
|
+
this._cluster.conn.managementSearchIndexGetAll({
|
73
|
+
timeout: timeout,
|
74
|
+
bucket_name: this._bucketName,
|
75
|
+
scope_name: this._scopeName,
|
76
|
+
}, (cppErr, resp) => {
|
77
|
+
const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
|
78
|
+
if (err) {
|
79
|
+
return wrapCallback(err, null);
|
80
|
+
}
|
81
|
+
const indexes = resp.indexes.map((indexData) => searchindexmanager_1.SearchIndex._fromCppData(indexData));
|
82
|
+
wrapCallback(null, indexes);
|
83
|
+
});
|
84
|
+
}, callback);
|
85
|
+
}
|
86
|
+
/**
|
87
|
+
* Creates or updates an existing index.
|
88
|
+
*
|
89
|
+
* @param indexDefinition The index to update.
|
90
|
+
* @param options Optional parameters for this operation.
|
91
|
+
* @param callback A node-style callback to be invoked after execution.
|
92
|
+
*/
|
93
|
+
async upsertIndex(indexDefinition, options, callback) {
|
94
|
+
if (options instanceof Function) {
|
95
|
+
callback = arguments[1];
|
96
|
+
options = undefined;
|
97
|
+
}
|
98
|
+
if (!options) {
|
99
|
+
options = {};
|
100
|
+
}
|
101
|
+
const timeout = options.timeout || this._cluster.managementTimeout;
|
102
|
+
return utilities_1.PromiseHelper.wrap((wrapCallback) => {
|
103
|
+
this._cluster.conn.managementSearchIndexUpsert({
|
104
|
+
index: searchindexmanager_1.SearchIndex._toCppData(indexDefinition),
|
105
|
+
timeout: timeout,
|
106
|
+
bucket_name: this._bucketName,
|
107
|
+
scope_name: this._scopeName,
|
108
|
+
}, (cppErr) => {
|
109
|
+
const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
|
110
|
+
if (err) {
|
111
|
+
return wrapCallback(err, null);
|
112
|
+
}
|
113
|
+
wrapCallback(err);
|
114
|
+
});
|
115
|
+
}, callback);
|
116
|
+
}
|
117
|
+
/**
|
118
|
+
* Drops an index.
|
119
|
+
*
|
120
|
+
* @param indexName The name of the index to drop.
|
121
|
+
* @param options Optional parameters for this operation.
|
122
|
+
* @param callback A node-style callback to be invoked after execution.
|
123
|
+
*/
|
124
|
+
async dropIndex(indexName, options, callback) {
|
125
|
+
if (options instanceof Function) {
|
126
|
+
callback = arguments[1];
|
127
|
+
options = undefined;
|
128
|
+
}
|
129
|
+
if (!options) {
|
130
|
+
options = {};
|
131
|
+
}
|
132
|
+
const timeout = options.timeout || this._cluster.managementTimeout;
|
133
|
+
return utilities_1.PromiseHelper.wrap((wrapCallback) => {
|
134
|
+
this._cluster.conn.managementSearchIndexDrop({
|
135
|
+
index_name: indexName,
|
136
|
+
timeout: timeout,
|
137
|
+
bucket_name: this._bucketName,
|
138
|
+
scope_name: this._scopeName,
|
139
|
+
}, (cppErr) => {
|
140
|
+
const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
|
141
|
+
if (err) {
|
142
|
+
return wrapCallback(err, null);
|
143
|
+
}
|
144
|
+
wrapCallback(err);
|
145
|
+
});
|
146
|
+
}, callback);
|
147
|
+
}
|
148
|
+
/**
|
149
|
+
* Returns the number of documents that have been indexed.
|
150
|
+
*
|
151
|
+
* @param indexName The name of the index to return the count for.
|
152
|
+
* @param options Optional parameters for this operation.
|
153
|
+
* @param callback A node-style callback to be invoked after execution.
|
154
|
+
*/
|
155
|
+
async getIndexedDocumentsCount(indexName, options, callback) {
|
156
|
+
if (options instanceof Function) {
|
157
|
+
callback = arguments[1];
|
158
|
+
options = undefined;
|
159
|
+
}
|
160
|
+
if (!options) {
|
161
|
+
options = {};
|
162
|
+
}
|
163
|
+
const timeout = options.timeout || this._cluster.managementTimeout;
|
164
|
+
return utilities_1.PromiseHelper.wrap((wrapCallback) => {
|
165
|
+
this._cluster.conn.managementSearchIndexGetDocumentsCount({
|
166
|
+
index_name: indexName,
|
167
|
+
timeout: timeout,
|
168
|
+
bucket_name: this._bucketName,
|
169
|
+
scope_name: this._scopeName,
|
170
|
+
}, (cppErr, resp) => {
|
171
|
+
const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
|
172
|
+
if (err) {
|
173
|
+
return wrapCallback(err, null);
|
174
|
+
}
|
175
|
+
wrapCallback(null, resp.count);
|
176
|
+
});
|
177
|
+
}, callback);
|
178
|
+
}
|
179
|
+
/**
|
180
|
+
* Pauses the ingestion of documents into an index.
|
181
|
+
*
|
182
|
+
* @param indexName The name of the index to pause.
|
183
|
+
* @param options Optional parameters for this operation.
|
184
|
+
* @param callback A node-style callback to be invoked after execution.
|
185
|
+
*/
|
186
|
+
async pauseIngest(indexName, options, callback) {
|
187
|
+
if (options instanceof Function) {
|
188
|
+
callback = arguments[1];
|
189
|
+
options = undefined;
|
190
|
+
}
|
191
|
+
if (!options) {
|
192
|
+
options = {};
|
193
|
+
}
|
194
|
+
const timeout = options.timeout || this._cluster.managementTimeout;
|
195
|
+
return utilities_1.PromiseHelper.wrap((wrapCallback) => {
|
196
|
+
this._cluster.conn.managementSearchIndexControlIngest({
|
197
|
+
index_name: indexName,
|
198
|
+
pause: true,
|
199
|
+
timeout: timeout,
|
200
|
+
bucket_name: this._bucketName,
|
201
|
+
scope_name: this._scopeName,
|
202
|
+
}, (cppErr) => {
|
203
|
+
const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
|
204
|
+
if (err) {
|
205
|
+
return wrapCallback(err, null);
|
206
|
+
}
|
207
|
+
wrapCallback(err);
|
208
|
+
});
|
209
|
+
}, callback);
|
210
|
+
}
|
211
|
+
/**
|
212
|
+
* Resumes the ingestion of documents into an index.
|
213
|
+
*
|
214
|
+
* @param indexName The name of the index to resume.
|
215
|
+
* @param options Optional parameters for this operation.
|
216
|
+
* @param callback A node-style callback to be invoked after execution.
|
217
|
+
*/
|
218
|
+
async resumeIngest(indexName, options, callback) {
|
219
|
+
if (options instanceof Function) {
|
220
|
+
callback = arguments[1];
|
221
|
+
options = undefined;
|
222
|
+
}
|
223
|
+
if (!options) {
|
224
|
+
options = {};
|
225
|
+
}
|
226
|
+
const timeout = options.timeout || this._cluster.managementTimeout;
|
227
|
+
return utilities_1.PromiseHelper.wrap((wrapCallback) => {
|
228
|
+
this._cluster.conn.managementSearchIndexControlIngest({
|
229
|
+
index_name: indexName,
|
230
|
+
pause: false,
|
231
|
+
timeout: timeout,
|
232
|
+
bucket_name: this._bucketName,
|
233
|
+
scope_name: this._scopeName,
|
234
|
+
}, (cppErr) => {
|
235
|
+
const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
|
236
|
+
if (err) {
|
237
|
+
return wrapCallback(err, null);
|
238
|
+
}
|
239
|
+
wrapCallback(err);
|
240
|
+
});
|
241
|
+
}, callback);
|
242
|
+
}
|
243
|
+
/**
|
244
|
+
* Enables querying of an index.
|
245
|
+
*
|
246
|
+
* @param indexName The name of the index to enable querying for.
|
247
|
+
* @param options Optional parameters for this operation.
|
248
|
+
* @param callback A node-style callback to be invoked after execution.
|
249
|
+
*/
|
250
|
+
async allowQuerying(indexName, options, callback) {
|
251
|
+
if (options instanceof Function) {
|
252
|
+
callback = arguments[1];
|
253
|
+
options = undefined;
|
254
|
+
}
|
255
|
+
if (!options) {
|
256
|
+
options = {};
|
257
|
+
}
|
258
|
+
const timeout = options.timeout || this._cluster.managementTimeout;
|
259
|
+
return utilities_1.PromiseHelper.wrap((wrapCallback) => {
|
260
|
+
this._cluster.conn.managementSearchIndexControlQuery({
|
261
|
+
index_name: indexName,
|
262
|
+
allow: true,
|
263
|
+
timeout: timeout,
|
264
|
+
bucket_name: this._bucketName,
|
265
|
+
scope_name: this._scopeName,
|
266
|
+
}, (cppErr) => {
|
267
|
+
const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
|
268
|
+
if (err) {
|
269
|
+
return wrapCallback(err, null);
|
270
|
+
}
|
271
|
+
wrapCallback(err);
|
272
|
+
});
|
273
|
+
}, callback);
|
274
|
+
}
|
275
|
+
/**
|
276
|
+
* Disables querying of an index.
|
277
|
+
*
|
278
|
+
* @param indexName The name of the index to disable querying for.
|
279
|
+
* @param options Optional parameters for this operation.
|
280
|
+
* @param callback A node-style callback to be invoked after execution.
|
281
|
+
*/
|
282
|
+
async disallowQuerying(indexName, options, callback) {
|
283
|
+
if (options instanceof Function) {
|
284
|
+
callback = arguments[1];
|
285
|
+
options = undefined;
|
286
|
+
}
|
287
|
+
if (!options) {
|
288
|
+
options = {};
|
289
|
+
}
|
290
|
+
const timeout = options.timeout || this._cluster.managementTimeout;
|
291
|
+
return utilities_1.PromiseHelper.wrap((wrapCallback) => {
|
292
|
+
this._cluster.conn.managementSearchIndexControlQuery({
|
293
|
+
index_name: indexName,
|
294
|
+
allow: false,
|
295
|
+
timeout: timeout,
|
296
|
+
bucket_name: this._bucketName,
|
297
|
+
scope_name: this._scopeName,
|
298
|
+
}, (cppErr) => {
|
299
|
+
const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
|
300
|
+
if (err) {
|
301
|
+
return wrapCallback(err, null);
|
302
|
+
}
|
303
|
+
wrapCallback(err);
|
304
|
+
});
|
305
|
+
}, callback);
|
306
|
+
}
|
307
|
+
/**
|
308
|
+
* Freezes the indexing plan for execution of queries.
|
309
|
+
*
|
310
|
+
* @param indexName The name of the index to freeze the plan of.
|
311
|
+
* @param options Optional parameters for this operation.
|
312
|
+
* @param callback A node-style callback to be invoked after execution.
|
313
|
+
*/
|
314
|
+
async freezePlan(indexName, options, callback) {
|
315
|
+
if (options instanceof Function) {
|
316
|
+
callback = arguments[1];
|
317
|
+
options = undefined;
|
318
|
+
}
|
319
|
+
if (!options) {
|
320
|
+
options = {};
|
321
|
+
}
|
322
|
+
const timeout = options.timeout || this._cluster.managementTimeout;
|
323
|
+
return utilities_1.PromiseHelper.wrap((wrapCallback) => {
|
324
|
+
this._cluster.conn.managementSearchIndexControlPlanFreeze({
|
325
|
+
index_name: indexName,
|
326
|
+
freeze: true,
|
327
|
+
timeout: timeout,
|
328
|
+
bucket_name: this._bucketName,
|
329
|
+
scope_name: this._scopeName,
|
330
|
+
}, (cppErr) => {
|
331
|
+
const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
|
332
|
+
if (err) {
|
333
|
+
return wrapCallback(err, null);
|
334
|
+
}
|
335
|
+
wrapCallback(err);
|
336
|
+
});
|
337
|
+
}, callback);
|
338
|
+
}
|
339
|
+
/**
|
340
|
+
* Unfreezes the indexing plan for execution of queries.
|
341
|
+
*
|
342
|
+
* @param indexName The name of the index to freeze the plan of.
|
343
|
+
* @param options Optional parameters for this operation.
|
344
|
+
* @param callback A node-style callback to be invoked after execution.
|
345
|
+
*/
|
346
|
+
async unfreezePlan(indexName, options, callback) {
|
347
|
+
if (options instanceof Function) {
|
348
|
+
callback = arguments[1];
|
349
|
+
options = undefined;
|
350
|
+
}
|
351
|
+
if (!options) {
|
352
|
+
options = {};
|
353
|
+
}
|
354
|
+
const timeout = options.timeout || this._cluster.managementTimeout;
|
355
|
+
return utilities_1.PromiseHelper.wrap((wrapCallback) => {
|
356
|
+
this._cluster.conn.managementSearchIndexControlPlanFreeze({
|
357
|
+
index_name: indexName,
|
358
|
+
freeze: false,
|
359
|
+
timeout: timeout,
|
360
|
+
bucket_name: this._bucketName,
|
361
|
+
scope_name: this._scopeName,
|
362
|
+
}, (cppErr) => {
|
363
|
+
const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
|
364
|
+
if (err) {
|
365
|
+
return wrapCallback(err, null);
|
366
|
+
}
|
367
|
+
wrapCallback(err);
|
368
|
+
});
|
369
|
+
}, callback);
|
370
|
+
}
|
371
|
+
/**
|
372
|
+
* Performs analysis of a specific document by an index.
|
373
|
+
*
|
374
|
+
* @param indexName The name of the index to use for the analysis.
|
375
|
+
* @param document The document to analyze.
|
376
|
+
* @param options Optional parameters for this operation.
|
377
|
+
* @param callback A node-style callback to be invoked after execution.
|
378
|
+
*/
|
379
|
+
async analyzeDocument(indexName, document, options, callback) {
|
380
|
+
if (options instanceof Function) {
|
381
|
+
callback = arguments[2];
|
382
|
+
options = undefined;
|
383
|
+
}
|
384
|
+
if (!options) {
|
385
|
+
options = {};
|
386
|
+
}
|
387
|
+
const timeout = options.timeout || this._cluster.managementTimeout;
|
388
|
+
return utilities_1.PromiseHelper.wrap((wrapCallback) => {
|
389
|
+
this._cluster.conn.managementSearchIndexAnalyzeDocument({
|
390
|
+
index_name: indexName,
|
391
|
+
encoded_document: JSON.stringify(document),
|
392
|
+
timeout: timeout,
|
393
|
+
bucket_name: this._bucketName,
|
394
|
+
scope_name: this._scopeName,
|
395
|
+
}, (cppErr, resp) => {
|
396
|
+
const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
|
397
|
+
if (err) {
|
398
|
+
return wrapCallback(err, null);
|
399
|
+
}
|
400
|
+
const result = JSON.parse(resp.analysis);
|
401
|
+
wrapCallback(result, null);
|
402
|
+
});
|
403
|
+
}, callback);
|
404
|
+
}
|
405
|
+
}
|
406
|
+
exports.ScopeSearchIndexManager = ScopeSearchIndexManager;
|
package/dist/sdspecs.js
CHANGED
@@ -81,19 +81,19 @@ class MutateInMacro {
|
|
81
81
|
* A macro which references the cas of a document.
|
82
82
|
*/
|
83
83
|
static get Cas() {
|
84
|
-
return new MutateInMacro('${
|
84
|
+
return new MutateInMacro('${Mutation.CAS}');
|
85
85
|
}
|
86
86
|
/**
|
87
87
|
* A macro which references the seqno of a document.
|
88
88
|
*/
|
89
89
|
static get SeqNo() {
|
90
|
-
return new MutateInMacro('${
|
90
|
+
return new MutateInMacro('${Mutation.seqno}');
|
91
91
|
}
|
92
92
|
/**
|
93
93
|
* A macro which references the crc32 of the value of a document.
|
94
94
|
*/
|
95
95
|
static get ValueCrc32c() {
|
96
|
-
return new MutateInMacro('${
|
96
|
+
return new MutateInMacro('${Mutation.value_crc32c}');
|
97
97
|
}
|
98
98
|
}
|
99
99
|
exports.MutateInMacro = MutateInMacro;
|
@@ -200,18 +200,19 @@ class MutateInSpec {
|
|
200
200
|
options = {};
|
201
201
|
}
|
202
202
|
let flags = 0;
|
203
|
-
if (
|
204
|
-
value = value._value;
|
203
|
+
if (options.createPath) {
|
205
204
|
flags |=
|
206
205
|
binding_1.default.protocol_mutate_in_request_body_mutate_in_specs_path_flag
|
207
|
-
.
|
206
|
+
.create_parents;
|
208
207
|
}
|
209
|
-
if (
|
208
|
+
if (value instanceof MutateInMacro) {
|
209
|
+
value = value._value;
|
210
210
|
flags |=
|
211
211
|
binding_1.default.protocol_mutate_in_request_body_mutate_in_specs_path_flag
|
212
|
-
.
|
212
|
+
.expand_macros |
|
213
|
+
binding_1.default.protocol_mutate_in_request_body_mutate_in_specs_path_flag.xattr;
|
213
214
|
}
|
214
|
-
if (options.xattr) {
|
215
|
+
else if (options.xattr) {
|
215
216
|
flags |=
|
216
217
|
binding_1.default.protocol_mutate_in_request_body_mutate_in_specs_path_flag.xattr;
|
217
218
|
}
|
package/dist/sdutils.d.ts
CHANGED
package/dist/sdutils.js
CHANGED
@@ -100,5 +100,9 @@ class SdUtils {
|
|
100
100
|
const parts = this._parsePath(path);
|
101
101
|
return this._getByPath(value, parts);
|
102
102
|
}
|
103
|
+
static convertMacroCasToCas(cas) {
|
104
|
+
const buf = Buffer.from(cas.startsWith('0x') ? cas.slice(2) : cas, 'hex');
|
105
|
+
return `0x${buf.reverse().toString('hex')}`;
|
106
|
+
}
|
103
107
|
}
|
104
108
|
exports.SdUtils = SdUtils;
|
package/dist/searchexecutor.d.ts
CHANGED
@@ -7,10 +7,12 @@ import { StreamableRowPromise } from './streamablepromises';
|
|
7
7
|
*/
|
8
8
|
export declare class SearchExecutor {
|
9
9
|
private _cluster;
|
10
|
+
private _bucketName;
|
11
|
+
private _scopeName;
|
10
12
|
/**
|
11
13
|
* @internal
|
12
14
|
*/
|
13
|
-
constructor(cluster: Cluster);
|
15
|
+
constructor(cluster: Cluster, bucketName?: string, scopeName?: string);
|
14
16
|
/**
|
15
17
|
* @internal
|
16
18
|
*/
|
package/dist/searchexecutor.js
CHANGED
@@ -13,8 +13,10 @@ class SearchExecutor {
|
|
13
13
|
/**
|
14
14
|
* @internal
|
15
15
|
*/
|
16
|
-
constructor(cluster) {
|
16
|
+
constructor(cluster, bucketName, scopeName) {
|
17
17
|
this._cluster = cluster;
|
18
|
+
this._bucketName = bucketName;
|
19
|
+
this._scopeName = scopeName;
|
18
20
|
}
|
19
21
|
/**
|
20
22
|
* @internal
|
@@ -70,11 +72,16 @@ class SearchExecutor {
|
|
70
72
|
request.show_request = false;
|
71
73
|
if (query.vectorSearch) {
|
72
74
|
request.vector_search = JSON.stringify(query.vectorSearch.queries);
|
73
|
-
if (query.vectorSearch.options &&
|
75
|
+
if (query.vectorSearch.options &&
|
76
|
+
query.vectorSearch.options.vectorQueryCombination) {
|
74
77
|
request.vector_query_combination = (0, bindingutilities_1.vectorQueryCombinationToCpp)(query.vectorSearch.options.vectorQueryCombination);
|
75
78
|
}
|
76
79
|
}
|
77
80
|
}
|
81
|
+
if (this._bucketName && this._scopeName) {
|
82
|
+
request.bucket_name = this._bucketName;
|
83
|
+
request.scope_name = this._scopeName;
|
84
|
+
}
|
78
85
|
this._cluster.conn.search(request, (cppErr, resp) => {
|
79
86
|
const err = (0, bindingutilities_1.errorFromCpp)(cppErr);
|
80
87
|
if (err) {
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import { Cluster } from './cluster';
|
2
2
|
import { NodeCallback } from './utilities';
|
3
|
+
import { CppManagementSearchIndex } from './binding';
|
3
4
|
/**
|
4
5
|
* Provides information about a search index. This class is currently
|
5
6
|
* incomplete and must be casted from `any` in TypeScript.
|
@@ -57,15 +58,62 @@ export interface ISearchIndex {
|
|
57
58
|
*
|
58
59
|
* @category Management
|
59
60
|
*/
|
60
|
-
export declare class SearchIndex {
|
61
|
+
export declare class SearchIndex implements ISearchIndex {
|
62
|
+
/**
|
63
|
+
* The UUID of the search index. Used for updates to ensure consistency.
|
64
|
+
*/
|
65
|
+
uuid?: string;
|
61
66
|
/**
|
62
67
|
* The name of the search index.
|
63
68
|
*/
|
64
69
|
name: string;
|
70
|
+
/**
|
71
|
+
* Name of the source of the data (ie: the bucket name).
|
72
|
+
*/
|
73
|
+
sourceName: string;
|
74
|
+
/**
|
75
|
+
* The type of index to use (fulltext-index or fulltext-alias).
|
76
|
+
*/
|
77
|
+
type: string;
|
78
|
+
/**
|
79
|
+
* Parameters to specify such as the store type and mappins.
|
80
|
+
*/
|
81
|
+
params: {
|
82
|
+
[key: string]: any;
|
83
|
+
};
|
84
|
+
/**
|
85
|
+
* The UUID of the data source.
|
86
|
+
*/
|
87
|
+
sourceUuid: string;
|
88
|
+
/**
|
89
|
+
* Extra parameters for the source. These are usually things like advanced
|
90
|
+
* connection options and tuning parameters.
|
91
|
+
*/
|
92
|
+
sourceParams: {
|
93
|
+
[key: string]: any;
|
94
|
+
};
|
95
|
+
/**
|
96
|
+
* The type of the source (couchbase or nil).
|
97
|
+
*/
|
98
|
+
sourceType: string;
|
99
|
+
/**
|
100
|
+
* Plan properties such as the number of replicas and number of partitions.
|
101
|
+
*/
|
102
|
+
planParams: {
|
103
|
+
[key: string]: any;
|
104
|
+
};
|
65
105
|
/**
|
66
106
|
* @internal
|
67
107
|
*/
|
68
108
|
constructor(data: SearchIndex);
|
109
|
+
/**
|
110
|
+
* @internal
|
111
|
+
*/
|
112
|
+
static _toCppData(data: ISearchIndex): any;
|
113
|
+
/**
|
114
|
+
* @internal
|
115
|
+
*/
|
116
|
+
static _fromCppData(data: CppManagementSearchIndex): SearchIndex;
|
69
117
|
}
|
70
118
|
/**
|
71
119
|
* @category Management
|
@@ -187,7 +235,6 @@ export declare class SearchIndexManager {
|
|
187
235
|
* @internal
|
188
236
|
*/
|
189
237
|
constructor(cluster: Cluster);
|
190
|
-
private get _http();
|
191
238
|
/**
|
192
239
|
* Returns an index by it's name.
|
193
240
|
*
|
@@ -267,6 +314,14 @@ export declare class SearchIndexManager {
|
|
267
314
|
* @param callback A node-style callback to be invoked after execution.
|
268
315
|
*/
|
269
316
|
freezePlan(indexName: string, options?: FreezeSearchPlanOptions, callback?: NodeCallback<void>): Promise<void>;
|
317
|
+
/**
|
318
|
+
* Unfreezes the indexing plan for execution of queries.
|
319
|
+
*
|
320
|
+
* @param indexName The name of the index to freeze the plan of.
|
321
|
+
* @param options Optional parameters for this operation.
|
322
|
+
* @param callback A node-style callback to be invoked after execution.
|
323
|
+
*/
|
324
|
+
unfreezePlan(indexName: string, options?: UnfreezeSearchPlanOptions, callback?: NodeCallback<void>): Promise<void>;
|
270
325
|
/**
|
271
326
|
* Performs analysis of a specific document by an index.
|
272
327
|
*
|
@@ -275,5 +330,5 @@ export declare class SearchIndexManager {
|
|
275
330
|
* @param options Optional parameters for this operation.
|
276
331
|
* @param callback A node-style callback to be invoked after execution.
|
277
332
|
*/
|
278
|
-
analyzeDocument(indexName: string, document: any, options?: AnalyzeSearchDocumentOptions, callback?: NodeCallback<
|
333
|
+
analyzeDocument(indexName: string, document: any, options?: AnalyzeSearchDocumentOptions, callback?: NodeCallback<any>): Promise<any>;
|
279
334
|
}
|