couchbase 3.2.0 → 3.2.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/README.md +24 -18
- package/binding.gyp +88 -85
- package/deps/lcb/CMakeLists.txt +1 -1
- package/deps/lcb/CONTRIBUTING.md +1 -1
- package/deps/lcb/README.markdown +2 -2
- package/deps/lcb/RELEASE_NOTES.markdown +99 -14
- package/deps/lcb/cmake/Modules/GetVersionInfo.cmake +1 -1
- package/deps/lcb/contrib/cbsasl/src/scram-sha/scram_utils.cc +22 -26
- package/deps/lcb/contrib/lcb-jsoncpp/lcb-jsoncpp.cpp +20 -7
- package/deps/lcb/doc/Doxyfile +1 -1
- package/deps/lcb/example/CMakeLists.txt +4 -4
- package/deps/lcb/example/libuvdirect/main.c +39 -12
- package/deps/lcb/example/minimal/durability.cc +149 -0
- package/deps/lcb/example/minimal/query.c +11 -9
- package/deps/lcb/gyp_config/common/libcouchbase/configuration.h +3 -3
- package/deps/lcb/gyp_config/linux/arm64/config.h +243 -0
- package/deps/lcb/include/libcouchbase/couchbase.h +80 -5
- package/deps/lcb/include/libcouchbase/error.h +2 -0
- package/deps/lcb/include/libcouchbase/ixmgmt.h +15 -10
- package/deps/lcb/include/libcouchbase/tracing.h +2 -2
- package/deps/lcb/include/memcached/protocol_binary.h +21 -0
- package/deps/lcb/libcouchbase.gyp +347 -349
- package/deps/lcb/packaging/deb/control +1 -1
- package/deps/lcb/src/analytics/analytics_handle.cc +13 -5
- package/deps/lcb/src/analytics/analytics_handle.hh +29 -0
- package/deps/lcb/src/bootstrap.cc +6 -3
- package/deps/lcb/src/capi/cmd_analytics.cc +12 -1
- package/deps/lcb/src/capi/cmd_analytics.hh +30 -0
- package/deps/lcb/src/capi/cmd_counter.hh +23 -0
- package/deps/lcb/src/capi/cmd_exists.hh +24 -1
- package/deps/lcb/src/capi/cmd_get.hh +22 -0
- package/deps/lcb/src/capi/cmd_get_replica.hh +23 -0
- package/deps/lcb/src/capi/cmd_http.hh +7 -0
- package/deps/lcb/src/capi/cmd_query.cc +11 -1
- package/deps/lcb/src/capi/cmd_query.hh +31 -0
- package/deps/lcb/src/capi/cmd_remove.hh +23 -0
- package/deps/lcb/src/capi/cmd_search.cc +6 -0
- package/deps/lcb/src/capi/cmd_search.hh +23 -0
- package/deps/lcb/src/capi/cmd_store.hh +33 -21
- package/deps/lcb/src/capi/cmd_subdoc.hh +35 -0
- package/deps/lcb/src/capi/cmd_touch.hh +23 -0
- package/deps/lcb/src/capi/cmd_unlock.hh +23 -0
- package/deps/lcb/src/capi/cmd_view.hh +6 -0
- package/deps/lcb/src/capi/collection_qualifier.hh +2 -2
- package/deps/lcb/src/cntl.cc +45 -11
- package/deps/lcb/src/crypto.cc +2 -2
- package/deps/lcb/src/dns-srv.cc +5 -3
- package/deps/lcb/src/errmap.cc +5 -9
- package/deps/lcb/src/errmap.h +7 -3
- package/deps/lcb/src/handler.cc +24 -18
- package/deps/lcb/src/hostlist.h +2 -2
- package/deps/lcb/src/http/http-priv.h +2 -2
- package/deps/lcb/src/http/http.cc +5 -2
- package/deps/lcb/src/instance.cc +20 -11
- package/deps/lcb/src/internal.h +9 -0
- package/deps/lcb/src/lcbio/connect.cc +14 -2
- package/deps/lcb/src/lcbio/connect.h +2 -2
- package/deps/lcb/src/lcbio/ctx.cc +4 -2
- package/deps/lcb/src/lcbio/ioutils.cc +9 -10
- package/deps/lcb/src/lcbio/manager.cc +1 -1
- package/deps/lcb/src/mcserver/mcserver.cc +9 -6
- package/deps/lcb/src/mcserver/negotiate.cc +39 -17
- package/deps/lcb/src/n1ql/ixmgmt.cc +1 -2
- package/deps/lcb/src/n1ql/query_handle.cc +41 -19
- package/deps/lcb/src/n1ql/query_handle.hh +28 -1
- package/deps/lcb/src/operations/counter.cc +18 -5
- package/deps/lcb/src/operations/exists.cc +25 -4
- package/deps/lcb/src/operations/get.cc +39 -19
- package/deps/lcb/src/operations/get_replica.cc +28 -8
- package/deps/lcb/src/operations/observe.cc +1 -1
- package/deps/lcb/src/operations/ping.cc +8 -8
- package/deps/lcb/src/operations/pktfwd.cc +2 -1
- package/deps/lcb/src/operations/remove.cc +39 -22
- package/deps/lcb/src/operations/store.cc +18 -5
- package/deps/lcb/src/operations/subdoc.cc +18 -6
- package/deps/lcb/src/operations/touch.cc +34 -16
- package/deps/lcb/src/operations/unlock.cc +24 -5
- package/deps/lcb/src/packetutils.h +3 -2
- package/deps/lcb/src/retryq.cc +24 -5
- package/deps/lcb/src/search/search.cc +1 -0
- package/deps/lcb/src/search/search_handle.cc +30 -8
- package/deps/lcb/src/search/search_handle.hh +29 -0
- package/deps/lcb/src/settings.cc +1 -1
- package/deps/lcb/src/ssl/ssl_common.c +6 -7
- package/deps/lcb/src/tracing/span.cc +47 -14
- package/deps/lcb/src/tracing/tracer.cc +11 -2
- package/deps/lcb/src/tracing/tracing-internal.h +105 -93
- package/deps/lcb/src/utilities.cc +43 -0
- package/deps/lcb/src/utilities.h +53 -0
- package/deps/lcb/src/vbucket/vbucket.c +34 -33
- package/deps/lcb/src/views/view_handle.cc +13 -5
- package/deps/lcb/src/views/view_handle.hh +29 -0
- package/deps/lcb/tests/CMakeLists.txt +21 -0
- package/deps/lcb/tests/basic/t_ctlcodes.cc +24 -3
- package/deps/lcb/tests/basic/t_jsparse.cc +8 -0
- package/deps/lcb/tests/basic/t_n1qlstrings.cc +73 -0
- package/deps/lcb/tests/iotests/mock-environment.cc +30 -1
- package/deps/lcb/tests/iotests/mock-environment.h +49 -0
- package/deps/lcb/tests/iotests/mock-unit-test.cc +104 -6
- package/deps/lcb/tests/iotests/mock-unit-test.h +34 -0
- package/deps/lcb/tests/iotests/t_collections.cc +1 -1
- package/deps/lcb/tests/iotests/t_confmon.cc +4 -2
- package/deps/lcb/tests/iotests/t_get.cc +109 -7
- package/deps/lcb/tests/iotests/t_http.cc +9 -4
- package/deps/lcb/tests/iotests/t_lock.cc +18 -0
- package/deps/lcb/tests/iotests/t_mutate.cc +157 -63
- package/deps/lcb/tests/iotests/t_n1ql.cc +330 -33
- package/deps/lcb/tests/iotests/t_views.cc +1 -0
- package/deps/lcb/tests/iotests/testutil.cc +168 -0
- package/deps/lcb/tests/iotests/testutil.h +116 -0
- package/deps/lcb/tests/mocksupport/procutil.c +32 -28
- package/deps/lcb/tests/mocksupport/server.c +0 -1
- package/deps/lcb/tests/mocksupport/timeout.c +2 -2
- package/deps/lcb/tools/cbc.cc +7 -0
- package/dist/analyticsindexmanager.js +512 -524
- package/dist/binding.d.ts +3 -0
- package/dist/bindingutilities.js +4 -0
- package/dist/bucket.js +1 -1
- package/dist/bucketmanager.d.ts +31 -1
- package/dist/bucketmanager.js +194 -186
- package/dist/cluster.d.ts +7 -0
- package/dist/cluster.js +48 -38
- package/dist/collection.js +11 -17
- package/dist/collectionmanager.js +181 -197
- package/dist/connection.d.ts +3 -1
- package/dist/connection.js +27 -16
- package/dist/couchbase.d.ts +1 -0
- package/dist/couchbase.js +3 -13
- package/dist/datastructures.js +239 -310
- package/dist/diagnosticsexecutor.js +70 -85
- package/dist/errors.d.ts +70 -0
- package/dist/errors.js +96 -2
- package/dist/eventingfunctionmanager.d.ts +804 -0
- package/dist/eventingfunctionmanager.js +993 -0
- package/dist/httpexecutor.d.ts +2 -1
- package/dist/httpexecutor.js +30 -37
- package/dist/queryindexmanager.js +240 -266
- package/dist/scope.js +10 -4
- package/dist/sdspecs.d.ts +1 -1
- package/dist/searchexecutor.js +3 -0
- package/dist/searchindexmanager.js +240 -271
- package/dist/searchquery.d.ts +17 -0
- package/dist/searchquery.js +22 -1
- package/dist/searchtypes.d.ts +7 -2
- package/dist/searchtypes.js +2 -2
- package/dist/usermanager.js +251 -264
- package/dist/utilities.d.ts +2 -0
- package/dist/utilities.js +7 -2
- package/dist/viewexecutor.js +1 -1
- package/dist/viewindexmanager.js +131 -150
- package/package.json +1 -1
- package/src/addondata.cpp +58 -0
- package/src/addondata.h +40 -0
- package/src/binding.cpp +3 -1
- package/src/cas.h +2 -2
- package/src/connection.cpp +25 -178
- package/src/connection.h +8 -65
- package/src/connection_ops.cpp +57 -34
- package/src/constants.cpp +3 -0
- package/src/instance.cpp +235 -0
- package/src/instance.h +102 -0
- package/src/{connection_callbacks.cpp → instance_callbacks.cpp} +34 -34
- package/src/logger.cpp +11 -1
- package/src/logger.h +3 -0
- package/src/metrics.cpp +10 -0
- package/src/metrics.h +3 -0
- package/src/mutationtoken.h +2 -2
- package/src/opbuilder.h +13 -15
- package/src/respreader.cpp +1 -0
- package/src/respreader.h +6 -4
- package/src/tracespan.h +11 -11
- package/src/tracing.cpp +11 -0
- package/src/tracing.h +3 -0
- package/src/valueparser.h +5 -0
- package/deps/lcb/example/observe/durability.c +0 -110
package/dist/cluster.js
CHANGED
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.Cluster = void 0;
|
|
13
4
|
const analyticsexecutor_1 = require("./analyticsexecutor");
|
|
@@ -17,6 +8,7 @@ const bucketmanager_1 = require("./bucketmanager");
|
|
|
17
8
|
const connection_1 = require("./connection");
|
|
18
9
|
const diagnosticsexecutor_1 = require("./diagnosticsexecutor");
|
|
19
10
|
const errors_1 = require("./errors");
|
|
11
|
+
const eventingfunctionmanager_1 = require("./eventingfunctionmanager");
|
|
20
12
|
const logging_1 = require("./logging");
|
|
21
13
|
const logging_2 = require("./logging");
|
|
22
14
|
const metrics_1 = require("./metrics");
|
|
@@ -108,14 +100,12 @@ class Cluster {
|
|
|
108
100
|
/**
|
|
109
101
|
@internal
|
|
110
102
|
*/
|
|
111
|
-
static connect(connStr, options, callback) {
|
|
112
|
-
return
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
}), callback);
|
|
118
|
-
});
|
|
103
|
+
static async connect(connStr, options, callback) {
|
|
104
|
+
return utilities_1.PromiseHelper.wrapAsync(async () => {
|
|
105
|
+
const cluster = new Cluster(connStr, options);
|
|
106
|
+
await cluster._clusterConnect();
|
|
107
|
+
return cluster;
|
|
108
|
+
}, callback);
|
|
119
109
|
}
|
|
120
110
|
/**
|
|
121
111
|
* Creates a Bucket object reference to a specific bucket.
|
|
@@ -160,6 +150,14 @@ class Cluster {
|
|
|
160
150
|
searchIndexes() {
|
|
161
151
|
return new searchindexmanager_1.SearchIndexManager(this);
|
|
162
152
|
}
|
|
153
|
+
/**
|
|
154
|
+
* Returns a EventingFunctionManager which can be used to manage the eventing
|
|
155
|
+
* functions of this cluster.
|
|
156
|
+
* Volatile: This API is subject to change at any time.
|
|
157
|
+
*/
|
|
158
|
+
eventingFunctions() {
|
|
159
|
+
return new eventingfunctionmanager_1.EventingFunctionManager(this);
|
|
160
|
+
}
|
|
163
161
|
/**
|
|
164
162
|
* Executes a N1QL query against the cluster.
|
|
165
163
|
*
|
|
@@ -169,7 +167,7 @@ class Cluster {
|
|
|
169
167
|
*/
|
|
170
168
|
query(statement, options, callback) {
|
|
171
169
|
if (options instanceof Function) {
|
|
172
|
-
callback = arguments[
|
|
170
|
+
callback = arguments[1];
|
|
173
171
|
options = undefined;
|
|
174
172
|
}
|
|
175
173
|
if (!options) {
|
|
@@ -189,7 +187,7 @@ class Cluster {
|
|
|
189
187
|
*/
|
|
190
188
|
analyticsQuery(statement, options, callback) {
|
|
191
189
|
if (options instanceof Function) {
|
|
192
|
-
callback = arguments[
|
|
190
|
+
callback = arguments[1];
|
|
193
191
|
options = undefined;
|
|
194
192
|
}
|
|
195
193
|
if (!options) {
|
|
@@ -210,7 +208,7 @@ class Cluster {
|
|
|
210
208
|
*/
|
|
211
209
|
searchQuery(indexName, query, options, callback) {
|
|
212
210
|
if (options instanceof Function) {
|
|
213
|
-
callback = arguments[
|
|
211
|
+
callback = arguments[2];
|
|
214
212
|
options = undefined;
|
|
215
213
|
}
|
|
216
214
|
if (!options) {
|
|
@@ -272,12 +270,12 @@ class Cluster {
|
|
|
272
270
|
* @param callback A node-style callback to be invoked after execution.
|
|
273
271
|
*/
|
|
274
272
|
close(callback) {
|
|
275
|
-
return utilities_1.PromiseHelper.wrapAsync(() =>
|
|
276
|
-
const closeOneConn = (conn) =>
|
|
273
|
+
return utilities_1.PromiseHelper.wrapAsync(async () => {
|
|
274
|
+
const closeOneConn = async (conn) => {
|
|
277
275
|
return utilities_1.PromiseHelper.wrap((wrapCallback) => {
|
|
278
276
|
conn.close(wrapCallback);
|
|
279
277
|
});
|
|
280
|
-
}
|
|
278
|
+
};
|
|
281
279
|
let allConns = Object.values(this._conns);
|
|
282
280
|
this._conns = {};
|
|
283
281
|
if (this._clusterConn) {
|
|
@@ -285,11 +283,25 @@ class Cluster {
|
|
|
285
283
|
this._clusterConn = null;
|
|
286
284
|
}
|
|
287
285
|
this._closed = true;
|
|
288
|
-
|
|
289
|
-
}
|
|
286
|
+
await Promise.all(allConns.map((conn) => closeOneConn(conn)));
|
|
287
|
+
}, callback);
|
|
290
288
|
}
|
|
291
289
|
_buildConnOpts(extraOpts) {
|
|
292
|
-
const connOpts =
|
|
290
|
+
const connOpts = {
|
|
291
|
+
connStr: this._connStr,
|
|
292
|
+
trustStorePath: this._trustStorePath,
|
|
293
|
+
tracer: this._tracer,
|
|
294
|
+
meter: this._meter,
|
|
295
|
+
logFunc: this._logFunc,
|
|
296
|
+
kvTimeout: this._kvTimeout,
|
|
297
|
+
kvDurableTimeout: this._kvDurableTimeout,
|
|
298
|
+
viewTimeout: this._viewTimeout,
|
|
299
|
+
queryTimeout: this._queryTimeout,
|
|
300
|
+
analyticsTimeout: this._analyticsTimeout,
|
|
301
|
+
searchTimeout: this._searchTimeout,
|
|
302
|
+
managementTimeout: this._managementTimeout,
|
|
303
|
+
...extraOpts,
|
|
304
|
+
};
|
|
293
305
|
if (this._auth) {
|
|
294
306
|
const passAuth = this._auth;
|
|
295
307
|
if (passAuth.username || passAuth.password) {
|
|
@@ -304,18 +316,16 @@ class Cluster {
|
|
|
304
316
|
}
|
|
305
317
|
return connOpts;
|
|
306
318
|
}
|
|
307
|
-
_clusterConnect() {
|
|
308
|
-
return
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
resolve(null);
|
|
318
|
-
});
|
|
319
|
+
async _clusterConnect() {
|
|
320
|
+
return new Promise((resolve, reject) => {
|
|
321
|
+
const connOpts = this._buildConnOpts({});
|
|
322
|
+
const conn = new connection_1.Connection(connOpts);
|
|
323
|
+
conn.connect((err) => {
|
|
324
|
+
if (err) {
|
|
325
|
+
return reject(err);
|
|
326
|
+
}
|
|
327
|
+
this._clusterConn = conn;
|
|
328
|
+
resolve(null);
|
|
319
329
|
});
|
|
320
330
|
});
|
|
321
331
|
}
|
package/dist/collection.js
CHANGED
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
4
|
};
|
|
@@ -145,8 +136,11 @@ class Collection {
|
|
|
145
136
|
spec.push(sdspecs_1.LookupInSpec.get(''));
|
|
146
137
|
needReproject = true;
|
|
147
138
|
}
|
|
148
|
-
return utilities_1.PromiseHelper.wrapAsync(() =>
|
|
149
|
-
const res =
|
|
139
|
+
return utilities_1.PromiseHelper.wrapAsync(async () => {
|
|
140
|
+
const res = await this.lookupIn(key, spec, {
|
|
141
|
+
...options,
|
|
142
|
+
parentSpan: options.parentSpan,
|
|
143
|
+
});
|
|
150
144
|
let content = null;
|
|
151
145
|
let expiry = undefined;
|
|
152
146
|
if (expiryStart >= 0) {
|
|
@@ -178,7 +172,7 @@ class Collection {
|
|
|
178
172
|
cas: res.cas,
|
|
179
173
|
expiryTime: expiry,
|
|
180
174
|
});
|
|
181
|
-
}
|
|
175
|
+
}, callback);
|
|
182
176
|
}
|
|
183
177
|
/**
|
|
184
178
|
* Checks whether a specific document exists or not.
|
|
@@ -218,10 +212,10 @@ class Collection {
|
|
|
218
212
|
* @param callback A node-style callback to be invoked after execution.
|
|
219
213
|
*/
|
|
220
214
|
getAnyReplica(key, options, callback) {
|
|
221
|
-
return utilities_1.PromiseHelper.wrapAsync(() =>
|
|
222
|
-
const replicas =
|
|
215
|
+
return utilities_1.PromiseHelper.wrapAsync(async () => {
|
|
216
|
+
const replicas = await this._getReplica(binding_1.default.LCB_REPLICA_MODE_ANY, key, options);
|
|
223
217
|
return replicas[0];
|
|
224
|
-
}
|
|
218
|
+
}, callback);
|
|
225
219
|
}
|
|
226
220
|
/**
|
|
227
221
|
* Retrieves the value of the document from all available replicas. Note that
|
|
@@ -342,7 +336,7 @@ class Collection {
|
|
|
342
336
|
*/
|
|
343
337
|
touch(key, expiry, options, callback) {
|
|
344
338
|
if (options instanceof Function) {
|
|
345
|
-
callback = arguments[
|
|
339
|
+
callback = arguments[2];
|
|
346
340
|
options = undefined;
|
|
347
341
|
}
|
|
348
342
|
if (!options) {
|
|
@@ -592,7 +586,7 @@ class Collection {
|
|
|
592
586
|
}
|
|
593
587
|
_getReplica(mode, key, options, callback) {
|
|
594
588
|
if (options instanceof Function) {
|
|
595
|
-
callback = arguments[
|
|
589
|
+
callback = arguments[2];
|
|
596
590
|
options = undefined;
|
|
597
591
|
}
|
|
598
592
|
if (!options) {
|