couchbase 3.2.2 → 3.2.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (129) hide show
  1. package/binding.gyp +5 -0
  2. package/deps/lcb/CMakeLists.txt +1 -1
  3. package/deps/lcb/CONTRIBUTING.md +1 -1
  4. package/deps/lcb/README.markdown +2 -2
  5. package/deps/lcb/RELEASE_NOTES.markdown +84 -17
  6. package/deps/lcb/cmake/Modules/GetVersionInfo.cmake +1 -1
  7. package/deps/lcb/contrib/cbsasl/src/scram-sha/scram_utils.cc +22 -26
  8. package/deps/lcb/contrib/lcb-jsoncpp/lcb-jsoncpp.cpp +20 -6
  9. package/deps/lcb/doc/Doxyfile +1 -1
  10. package/deps/lcb/example/minimal/query.c +9 -7
  11. package/deps/lcb/gyp_config/common/libcouchbase/configuration.h +3 -3
  12. package/deps/lcb/gyp_config/linux/arm64/config.h +243 -0
  13. package/deps/lcb/include/libcouchbase/couchbase.h +55 -1
  14. package/deps/lcb/include/libcouchbase/error.h +6 -1
  15. package/deps/lcb/include/libcouchbase/ixmgmt.h +15 -10
  16. package/deps/lcb/include/libcouchbase/tracing.h +2 -2
  17. package/deps/lcb/include/memcached/protocol_binary.h +21 -0
  18. package/deps/lcb/libcouchbase.gyp +353 -349
  19. package/deps/lcb/packaging/deb/control +1 -1
  20. package/deps/lcb/src/analytics/analytics_handle.cc +7 -5
  21. package/deps/lcb/src/analytics/analytics_handle.hh +28 -0
  22. package/deps/lcb/src/capi/cmd_counter.hh +18 -0
  23. package/deps/lcb/src/capi/cmd_exists.hh +18 -0
  24. package/deps/lcb/src/capi/cmd_get.hh +17 -0
  25. package/deps/lcb/src/capi/cmd_get_replica.hh +20 -1
  26. package/deps/lcb/src/capi/cmd_query.cc +13 -0
  27. package/deps/lcb/src/capi/cmd_query.hh +22 -14
  28. package/deps/lcb/src/capi/cmd_remove.hh +18 -0
  29. package/deps/lcb/src/capi/cmd_search.hh +6 -0
  30. package/deps/lcb/src/capi/cmd_store.hh +28 -21
  31. package/deps/lcb/src/capi/cmd_subdoc.hh +30 -0
  32. package/deps/lcb/src/capi/cmd_touch.hh +18 -0
  33. package/deps/lcb/src/capi/cmd_unlock.hh +18 -0
  34. package/deps/lcb/src/capi/cmd_view.hh +6 -0
  35. package/deps/lcb/src/capi/collection_qualifier.hh +6 -8
  36. package/deps/lcb/src/cntl.cc +42 -8
  37. package/deps/lcb/src/dns-srv.cc +5 -3
  38. package/deps/lcb/src/errmap.cc +5 -9
  39. package/deps/lcb/src/errmap.h +7 -3
  40. package/deps/lcb/src/handler.cc +24 -18
  41. package/deps/lcb/src/internal.h +2 -1
  42. package/deps/lcb/src/lcbio/ctx.cc +4 -2
  43. package/deps/lcb/src/mcserver/mcserver.cc +8 -5
  44. package/deps/lcb/src/mcserver/negotiate.cc +42 -17
  45. package/deps/lcb/src/n1ql/ixmgmt.cc +1 -2
  46. package/deps/lcb/src/n1ql/n1ql.cc +5 -1
  47. package/deps/lcb/src/n1ql/query_handle.cc +80 -44
  48. package/deps/lcb/src/n1ql/query_handle.hh +41 -3
  49. package/deps/lcb/src/operations/counter.cc +13 -1
  50. package/deps/lcb/src/operations/exists.cc +14 -2
  51. package/deps/lcb/src/operations/get.cc +14 -2
  52. package/deps/lcb/src/operations/get_replica.cc +18 -6
  53. package/deps/lcb/src/operations/observe.cc +1 -1
  54. package/deps/lcb/src/operations/remove.cc +13 -1
  55. package/deps/lcb/src/operations/store.cc +13 -1
  56. package/deps/lcb/src/operations/subdoc.cc +13 -2
  57. package/deps/lcb/src/operations/touch.cc +14 -2
  58. package/deps/lcb/src/operations/unlock.cc +14 -2
  59. package/deps/lcb/src/search/search_handle.cc +26 -8
  60. package/deps/lcb/src/search/search_handle.hh +29 -0
  61. package/deps/lcb/src/ssl/ssl_common.c +7 -8
  62. package/deps/lcb/src/tracing/span.cc +43 -10
  63. package/deps/lcb/src/tracing/tracing-internal.h +105 -93
  64. package/deps/lcb/src/utilities.cc +21 -0
  65. package/deps/lcb/src/utilities.h +3 -0
  66. package/deps/lcb/src/views/view_handle.cc +13 -5
  67. package/deps/lcb/src/views/view_handle.hh +29 -0
  68. package/deps/lcb/tests/CMakeLists.txt +21 -0
  69. package/deps/lcb/tests/basic/t_ctlcodes.cc +24 -3
  70. package/deps/lcb/tests/basic/t_jsparse.cc +8 -0
  71. package/deps/lcb/tests/iotests/mock-environment.cc +25 -1
  72. package/deps/lcb/tests/iotests/mock-environment.h +49 -1
  73. package/deps/lcb/tests/iotests/mock-unit-test.cc +96 -5
  74. package/deps/lcb/tests/iotests/mock-unit-test.h +32 -0
  75. package/deps/lcb/tests/iotests/serverparams.h +7 -2
  76. package/deps/lcb/tests/iotests/t_collections.cc +1 -1
  77. package/deps/lcb/tests/iotests/t_confmon.cc +4 -2
  78. package/deps/lcb/tests/iotests/t_get.cc +14 -4
  79. package/deps/lcb/tests/iotests/t_n1ql.cc +17 -1
  80. package/deps/lcb/tests/iotests/t_ratelimit.cc +729 -0
  81. package/deps/lcb/tests/iotests/t_views.cc +1 -0
  82. package/deps/lcb/tests/iotests/testutil.cc +342 -0
  83. package/deps/lcb/tests/iotests/testutil.h +164 -0
  84. package/deps/lcb/tests/mocksupport/procutil.c +32 -28
  85. package/deps/lcb/tests/mocksupport/server.c +0 -1
  86. package/deps/lcb/tools/cbc.cc +7 -0
  87. package/dist/analyticsexecutor.js +2 -2
  88. package/dist/analyticsindexmanager.js +512 -524
  89. package/dist/binarycollection.d.ts +17 -0
  90. package/dist/binding.d.ts +2 -0
  91. package/dist/binding.js +1 -1
  92. package/dist/bindingutilities.js +9 -1
  93. package/dist/bucketmanager.d.ts +32 -23
  94. package/dist/bucketmanager.js +197 -189
  95. package/dist/cluster.js +37 -36
  96. package/dist/collection.js +17 -23
  97. package/dist/collectionmanager.js +181 -200
  98. package/dist/connection.js +6 -3
  99. package/dist/connspec.js +5 -1
  100. package/dist/couchbase.js +7 -14
  101. package/dist/datastructures.js +239 -310
  102. package/dist/diagnosticsexecutor.js +70 -85
  103. package/dist/errors.d.ts +18 -0
  104. package/dist/errors.js +26 -2
  105. package/dist/eventingfunctionmanager.js +267 -294
  106. package/dist/httpexecutor.js +31 -38
  107. package/dist/logging.js +1 -1
  108. package/dist/queryexecutor.js +3 -3
  109. package/dist/queryindexmanager.js +236 -263
  110. package/dist/scope.js +8 -2
  111. package/dist/searchexecutor.js +3 -0
  112. package/dist/searchindexmanager.js +240 -271
  113. package/dist/searchquery.d.ts +17 -0
  114. package/dist/searchquery.js +22 -1
  115. package/dist/searchtypes.d.ts +7 -2
  116. package/dist/searchtypes.js +2 -2
  117. package/dist/usermanager.js +250 -263
  118. package/dist/utilities.d.ts +3 -2
  119. package/dist/utilities.js +16 -4
  120. package/dist/viewexecutor.js +1 -1
  121. package/dist/viewindexmanager.js +131 -150
  122. package/package.json +1 -1
  123. package/src/connection.cpp +2 -0
  124. package/src/constants.cpp +2 -0
  125. package/src/instance.cpp +8 -1
  126. package/src/instance.h +1 -0
  127. package/src/uv-plugin-all.cpp +1 -0
  128. package/dist/cas.d.ts +0 -0
  129. package/dist/cas.js +0 -1
@@ -0,0 +1,243 @@
1
+ /* src/config.h. Generated from config.h.in by configure. */
2
+ /* src/config.h.in. Generated from configure.ac by autoheader. */
3
+
4
+ #if defined(_WIN32) && !defined(HAVE_CONFIG_H)
5
+ /* skip config.h contents on a non-autotools win32 build */
6
+ #include "win32/config.h"
7
+ #define CONFIG_H
8
+ #endif
9
+
10
+ #ifndef CONFIG_H
11
+ #define CONFIG_H
12
+ /* -*- Mode: C; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */
13
+ /*
14
+ * Copyright 2010, 2011 Couchbase, Inc.
15
+ *
16
+ * Licensed under the Apache License, Version 2.0 (the "License");
17
+ * you may not use this file except in compliance with the License.
18
+ * You may obtain a copy of the License at
19
+ *
20
+ * http://www.apache.org/licenses/LICENSE-2.0
21
+ *
22
+ * Unless required by applicable law or agreed to in writing, software
23
+ * distributed under the License is distributed on an "AS IS" BASIS,
24
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
25
+ * See the License for the specific language governing permissions and
26
+ * limitations under the License.
27
+ */
28
+
29
+ /*
30
+ * This file is generated by running configure. Any changes you make to this
31
+ * file will be overwritten the next time you run configure. If you want to
32
+ * make permanent changes to the file you should edit configure.ac instead.
33
+ * All platform-specific includes should be placed inside config_static.h
34
+ * to keep the config.h as small as possible. That allows us for easily
35
+ * use another build systems with a poor support for automake (like Windows)
36
+ *
37
+ * @author Trond Norbye
38
+ */
39
+
40
+ #define HAVE_PKCS5_PBKDF2_HMAC 1
41
+
42
+ #define HAVE_ARPA_NAMESER_H 1
43
+ #define HAVE_RES_SEARCH 1
44
+
45
+ /* Define if building universal (internal helper macro) */
46
+ /* #undef AC_APPLE_UNIVERSAL_BUILD */
47
+
48
+ /* Build plugins */
49
+ /* #undef BUILD_PLUGINS */
50
+
51
+ /* gcov enabled */
52
+ /* #undef ENABLE_GCOV */
53
+
54
+ /* tcov enabled */
55
+ /* #undef ENABLE_TCOV */
56
+
57
+ /* Define to 1 if you have the `alarm' function. */
58
+ #define HAVE_ALARM 1
59
+
60
+ /* Define to 1 if you have the <arpa/inet.h> header file. */
61
+ #define HAVE_ARPA_INET_H 1
62
+
63
+ /* Define to 1 if you have the `clock_gettime' function. */
64
+ /* #undef HAVE_CLOCK_GETTIME */
65
+
66
+ /* We have CouchbaseMock.jar */
67
+ /* #undef HAVE_COUCHBASEMOCK */
68
+
69
+ /* Define to 1 if you have the <dlfcn.h> header file. */
70
+ #define HAVE_DLFCN_H 1
71
+
72
+ /* Enables SystemTap / DTrace Support */
73
+ /* #undef HAVE_DTRACE */
74
+
75
+ /* Define to 1 if you have the <event.h> header file. */
76
+ /* #undef HAVE_EVENT_H */
77
+
78
+ /* Define to 1 if you have the <ev.h> header file. */
79
+ /* #undef HAVE_EV_H */
80
+
81
+ /* Define to 1 if you have the <fcntl.h> header file. */
82
+ #define HAVE_FCNTL_H 1
83
+
84
+ /* Define to 1 if you have the `gethrtime' function. */
85
+ /* #undef HAVE_GETHRTIME */
86
+
87
+ /* Define to 1 if you have the `gettimeofday' function. */
88
+ #define HAVE_GETTIMEOFDAY 1
89
+
90
+ /* Have ntohll */
91
+ /* #undef HAVE_HTONLL */
92
+
93
+ /* Define to 1 if you have the <inttypes.h> header file. */
94
+ #define HAVE_INTTYPES_H 1
95
+
96
+ /* I will build libcouchbase_debug.so */
97
+ /* #undef HAVE_LIBCOUCHBASE_DEBUG */
98
+
99
+ /* We have libev3 */
100
+ /* #undef HAVE_LIBEV3 */
101
+
102
+ /* We have libev4 */
103
+ /* #undef HAVE_LIBEV4 */
104
+
105
+ /* We have libevent */
106
+ /* #undef HAVE_LIBEVENT */
107
+
108
+ /* We have libevent2 */
109
+ /* #undef HAVE_LIBEVENT2 */
110
+
111
+ /* Have non-standard place for libev header */
112
+ /* #undef HAVE_LIBEV_EV_H */
113
+
114
+ /* We have libuv */
115
+ /* #undef HAVE_LIBUV */
116
+
117
+ /* Define to 1 if you have the `xnet' library (-lxnet). */
118
+ /* #undef HAVE_LIBXNET */
119
+
120
+ /* We have libyajl2 */
121
+ /* #undef HAVE_LIBYAJL2 */
122
+
123
+ /* Define to 1 if you have the <limits.h> header file. */
124
+ #define HAVE_LIMITS_H 1
125
+
126
+ /* Define to 1 if you have the <mach/mach_time.h> header file. */
127
+ /* #undef HAVE_MACH_MACH_TIME_H */
128
+
129
+ /* Define to 1 if you have the <memory.h> header file. */
130
+ #define HAVE_MEMORY_H 1
131
+
132
+ /* Define to 1 if you have the <netdb.h> header file. */
133
+ #define HAVE_NETDB_H 1
134
+
135
+ /* Define to 1 if you have the <netinet/in.h> header file. */
136
+ #define HAVE_NETINET_IN_H 1
137
+
138
+ /* Define to 1 if you have the `QueryPerformanceCounter' function. */
139
+ /* #undef HAVE_QUERYPERFORMANCECOUNTER */
140
+
141
+ /* Define to 1 if you have the `setitimer' function. */
142
+ #define HAVE_SETITIMER 1
143
+
144
+ /* Define to 1 if you have the <stdarg.h> header file. */
145
+ #define HAVE_STDARG_H 1
146
+
147
+ /* Define to 1 if you have the <stdint.h> header file. */
148
+ #define HAVE_STDINT_H 1
149
+
150
+ /* Define to 1 if you have the <stdlib.h> header file. */
151
+ #define HAVE_STDLIB_H 1
152
+
153
+ /* Define to 1 if you have the <strings.h> header file. */
154
+ #define HAVE_STRINGS_H 1
155
+
156
+ /* Define to 1 if you have the <string.h> header file. */
157
+ #define HAVE_STRING_H 1
158
+
159
+ /* Define to 1 if you have the <sys/sdt.h> header file. */
160
+ /* #undef HAVE_SYS_SDT_H */
161
+
162
+ /* Define to 1 if you have the <sys/socket.h> header file. */
163
+ #define HAVE_SYS_SOCKET_H 1
164
+
165
+ /* Define to 1 if you have the <sys/stat.h> header file. */
166
+ #define HAVE_SYS_STAT_H 1
167
+
168
+ /* Define to 1 if you have the <sys/time.h> header file. */
169
+ #define HAVE_SYS_TIME_H 1
170
+
171
+ /* Define to 1 if you have the <sys/types.h> header file. */
172
+ #define HAVE_SYS_TYPES_H 1
173
+
174
+ /* Define to 1 if you have the <sys/uio.h> header file. */
175
+ #define HAVE_SYS_UIO_H 1
176
+
177
+ /* Define to 1 if you have the <unistd.h> header file. */
178
+ #define HAVE_UNISTD_H 1
179
+
180
+ /* Define to 1 if you have the <winsock2.h> header file. */
181
+ /* #undef HAVE_WINSOCK2_H */
182
+
183
+ /* Define to 1 if you have the <ws2tcpip.h> header file. */
184
+ /* #undef HAVE_WS2TCPIP_H */
185
+
186
+ /* Define to the sub-directory in which libtool stores uninstalled libraries.
187
+ */
188
+ #define LT_OBJDIR ".libs/"
189
+
190
+ /* Define to 1 if your C compiler doesn't accept -c and -o together. */
191
+ /* #undef NO_MINUS_C_MINUS_O */
192
+
193
+ /* Define to 1 if you have the ANSI C header files. */
194
+ #define STDC_HEADERS 1
195
+
196
+ /* Defined for systems where EAGAIN != EWOULDBLOCK */
197
+ /* #undef USE_EAGAIN */
198
+
199
+ /* Enable extensions on AIX 3, Interix. */
200
+ #ifndef _ALL_SOURCE
201
+ #define _ALL_SOURCE 1
202
+ #endif
203
+ /* Enable GNU extensions on systems that have them. */
204
+ #ifndef _GNU_SOURCE
205
+ #define _GNU_SOURCE 1
206
+ #endif
207
+ /* Enable threading extensions on Solaris. */
208
+ #ifndef _POSIX_PTHREAD_SEMANTICS
209
+ #define _POSIX_PTHREAD_SEMANTICS 1
210
+ #endif
211
+ /* Enable extensions on HP NonStop. */
212
+ #ifndef _TANDEM_SOURCE
213
+ #define _TANDEM_SOURCE 1
214
+ #endif
215
+ /* Enable general extensions on Solaris. */
216
+ #ifndef __EXTENSIONS__
217
+ #define __EXTENSIONS__ 1
218
+ #endif
219
+
220
+ /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
221
+ significant byte first (like Motorola and SPARC, unlike Intel). */
222
+ #if defined AC_APPLE_UNIVERSAL_BUILD
223
+ #if defined __BIG_ENDIAN__
224
+ #define WORDS_BIGENDIAN 1
225
+ #endif
226
+ #else
227
+ #ifndef WORDS_BIGENDIAN
228
+ /* # undef WORDS_BIGENDIAN */
229
+ #endif
230
+ #endif
231
+
232
+ /* Define to 1 if on MINIX. */
233
+ /* #undef _MINIX */
234
+
235
+ /* Define to 2 if the system does not provide POSIX.1 features except with
236
+ this defined. */
237
+ /* #undef _POSIX_1_SOURCE */
238
+
239
+ /* Define to 1 if you need to in order for `stat' and other things to work. */
240
+ /* #undef _POSIX_SOURCE */
241
+
242
+ #include "config_static.h"
243
+ #endif
@@ -710,6 +710,11 @@ LIBCOUCHBASE_API lcb_STATUS lcb_cmdget_timeout(lcb_CMDGET *cmd, uint32_t timeout
710
710
  * @internal Internal: This should never be used and is not supported.
711
711
  */
712
712
  LIBCOUCHBASE_API lcb_STATUS lcb_cmdget_on_behalf_of(lcb_CMDGET *cmd, const char *data, size_t data_len);
713
+ /**
714
+ * @internal Internal: This should never be used and is not supported.
715
+ */
716
+ LIBCOUCHBASE_API lcb_STATUS lcb_cmdget_on_behalf_of_extra_privilege(lcb_CMDGET *cmd, const char *privilege,
717
+ size_t privilege_len);
713
718
 
714
719
  LIBCOUCHBASE_API lcb_STATUS lcb_get(lcb_INSTANCE *instance, void *cookie, const lcb_CMDGET *cmd);
715
720
  /**@}*/
@@ -816,6 +821,11 @@ LIBCOUCHBASE_API lcb_STATUS lcb_cmdgetreplica_timeout(lcb_CMDGETREPLICA *cmd, ui
816
821
  * @internal Internal: This should never be used and is not supported.
817
822
  */
818
823
  LIBCOUCHBASE_API lcb_STATUS lcb_cmdgetreplica_on_behalf_of(lcb_CMDGETREPLICA *cmd, const char *data, size_t data_len);
824
+ /**
825
+ * @internal Internal: This should never be used and is not supported.
826
+ */
827
+ LIBCOUCHBASE_API lcb_STATUS lcb_cmdgetreplica_on_behalf_of_extra_privilege(lcb_CMDGETREPLICA *cmd,
828
+ const char *privilege, size_t privilege_len);
819
829
  LIBCOUCHBASE_API lcb_STATUS lcb_getreplica(lcb_INSTANCE *instance, void *cookie, const lcb_CMDGETREPLICA *cmd);
820
830
 
821
831
  /**@}*/
@@ -843,6 +853,11 @@ LIBCOUCHBASE_API lcb_STATUS lcb_cmdexists_timeout(lcb_CMDEXISTS *cmd, uint32_t t
843
853
  * @internal Internal: This should never be used and is not supported.
844
854
  */
845
855
  LIBCOUCHBASE_API lcb_STATUS lcb_cmdexists_on_behalf_of(lcb_CMDEXISTS *cmd, const char *data, size_t data_len);
856
+ /**
857
+ * @internal Internal: This should never be used and is not supported.
858
+ */
859
+ LIBCOUCHBASE_API lcb_STATUS lcb_cmdexists_on_behalf_of_extra_privilege(lcb_CMDEXISTS *cmd, const char *privilege,
860
+ size_t privilege_len);
846
861
 
847
862
  LIBCOUCHBASE_API lcb_STATUS lcb_exists(lcb_INSTANCE *instance, void *cookie, const lcb_CMDEXISTS *cmd);
848
863
 
@@ -994,6 +1009,11 @@ LIBCOUCHBASE_API lcb_STATUS lcb_cmdstore_timeout(lcb_CMDSTORE *cmd, uint32_t tim
994
1009
  * @internal Internal: This should never be used and is not supported.
995
1010
  */
996
1011
  LIBCOUCHBASE_API lcb_STATUS lcb_cmdstore_on_behalf_of(lcb_CMDSTORE *cmd, const char *data, size_t data_len);
1012
+ /**
1013
+ * @internal Internal: This should never be used and is not supported.
1014
+ */
1015
+ LIBCOUCHBASE_API lcb_STATUS lcb_cmdstore_on_behalf_of_extra_privilege(lcb_CMDSTORE *cmd, const char *privilege,
1016
+ size_t privilege_len);
997
1017
  LIBCOUCHBASE_API lcb_STATUS lcb_store(lcb_INSTANCE *instance, void *cookie, const lcb_CMDSTORE *cmd);
998
1018
  /**@}*/
999
1019
 
@@ -1103,6 +1123,11 @@ LIBCOUCHBASE_API lcb_STATUS lcb_cmdremove_timeout(lcb_CMDREMOVE *cmd, uint32_t t
1103
1123
  * @internal Internal: This should never be used and is not supported.
1104
1124
  */
1105
1125
  LIBCOUCHBASE_API lcb_STATUS lcb_cmdremove_on_behalf_of(lcb_CMDREMOVE *cmd, const char *data, size_t data_len);
1126
+ /**
1127
+ * @internal Internal: This should never be used and is not supported.
1128
+ */
1129
+ LIBCOUCHBASE_API lcb_STATUS lcb_cmdremove_on_behalf_of_extra_privilege(lcb_CMDREMOVE *cmd, const char *privilege,
1130
+ size_t privilege_len);
1106
1131
  LIBCOUCHBASE_API lcb_STATUS lcb_remove(lcb_INSTANCE *instance, void *cookie, const lcb_CMDREMOVE *cmd);
1107
1132
 
1108
1133
  /**@}*/
@@ -1196,6 +1221,11 @@ LIBCOUCHBASE_API lcb_STATUS lcb_cmdcounter_timeout(lcb_CMDCOUNTER *cmd, uint32_t
1196
1221
  * @internal Internal: This should never be used and is not supported.
1197
1222
  */
1198
1223
  LIBCOUCHBASE_API lcb_STATUS lcb_cmdcounter_on_behalf_of(lcb_CMDCOUNTER *cmd, const char *data, size_t data_len);
1224
+ /**
1225
+ * @internal Internal: This should never be used and is not supported.
1226
+ */
1227
+ LIBCOUCHBASE_API lcb_STATUS lcb_cmdcounter_on_behalf_of_extra_privilege(lcb_CMDCOUNTER *cmd, const char *privilege,
1228
+ size_t privilege_len);
1199
1229
  LIBCOUCHBASE_API lcb_STATUS lcb_counter(lcb_INSTANCE *instance, void *cookie, const lcb_CMDCOUNTER *cmd);
1200
1230
 
1201
1231
  /**@} (Group: Counter) */
@@ -1277,6 +1307,11 @@ LIBCOUCHBASE_API lcb_STATUS lcb_cmdunlock_timeout(lcb_CMDUNLOCK *cmd, uint32_t t
1277
1307
  * @internal Internal: This should never be used and is not supported.
1278
1308
  */
1279
1309
  LIBCOUCHBASE_API lcb_STATUS lcb_cmdunlock_on_behalf_of(lcb_CMDUNLOCK *cmd, const char *data, size_t data_len);
1310
+ /**
1311
+ * @internal Internal: This should never be used and is not supported.
1312
+ */
1313
+ LIBCOUCHBASE_API lcb_STATUS lcb_cmdunlock_on_behalf_of_extra_privilege(lcb_CMDUNLOCK *cmd, const char *privilege,
1314
+ size_t privilege_len);
1280
1315
  LIBCOUCHBASE_API lcb_STATUS lcb_unlock(lcb_INSTANCE *instance, void *cookie, const lcb_CMDUNLOCK *cmd);
1281
1316
 
1282
1317
  /**@} (Group: Unlock) */
@@ -1348,6 +1383,11 @@ LIBCOUCHBASE_API lcb_STATUS lcb_cmdtouch_timeout(lcb_CMDTOUCH *cmd, uint32_t tim
1348
1383
  * @internal Internal: This should never be used and is not supported.
1349
1384
  */
1350
1385
  LIBCOUCHBASE_API lcb_STATUS lcb_cmdtouch_on_behalf_of(lcb_CMDTOUCH *cmd, const char *data, size_t data_len);
1386
+ /**
1387
+ * @internal Internal: This should never be used and is not supported.
1388
+ */
1389
+ LIBCOUCHBASE_API lcb_STATUS lcb_cmdtouch_on_behalf_of_extra_privilege(lcb_CMDTOUCH *cmd, const char *privilege,
1390
+ size_t privilege_len);
1351
1391
  LIBCOUCHBASE_API lcb_STATUS lcb_touch(lcb_INSTANCE *instance, void *cookie, const lcb_CMDTOUCH *cmd);
1352
1392
 
1353
1393
  /**@} (Group: Touch) */
@@ -2562,7 +2602,9 @@ LIBCOUCHBASE_API lcb_STATUS lcb_cmdanalytics_scope_name(lcb_CMDANALYTICS *cmd, c
2562
2602
  *
2563
2603
  * Associate scope_qualifier (also known as `query_context`) with the query.
2564
2604
  *
2565
- * The qualifier must be in form `${bucket_name}.${scope_name}` or `default:${bucket_name}.${scope_name}`.
2605
+ * The qualifier must be in form `default:${bucket_name}.${scope_name}`.
2606
+ *
2607
+ * @see REST API definition at https://docs.couchbase.com/server/current/analytics/rest-service.html
2566
2608
  *
2567
2609
  * @param cmd the command
2568
2610
  * @param qualifier the string containing qualifier
@@ -3068,6 +3110,16 @@ LIBCOUCHBASE_API lcb_STATUS lcb_cmdquery_option(lcb_CMDQUERY *cmd, const char *n
3068
3110
  size_t value_len);
3069
3111
  LIBCOUCHBASE_API lcb_STATUS lcb_cmdquery_handle(lcb_CMDQUERY *cmd, lcb_QUERY_HANDLE **handle);
3070
3112
  LIBCOUCHBASE_API lcb_STATUS lcb_cmdquery_timeout(lcb_CMDQUERY *cmd, uint32_t timeout);
3113
+ /**
3114
+ * @uncommitted
3115
+ * Indicates that the query engine to preserve expiration values set on any
3116
+ * documents modified by this query.
3117
+ *
3118
+ *
3119
+ * @param cmd the command
3120
+ * @param preserve_expiry if non-zero, the query will preserve expiration values
3121
+ */
3122
+ LIBCOUCHBASE_API lcb_STATUS lcb_cmdquery_preserve_expiry(lcb_CMDQUERY *cmd, int preserve_expiry);
3071
3123
 
3072
3124
  /**
3073
3125
  * @internal Internal: This should never be used and is not supported.
@@ -3288,6 +3340,8 @@ LIBCOUCHBASE_API lcb_STATUS lcb_cmdsubdoc_timeout(lcb_CMDSUBDOC *cmd, uint32_t t
3288
3340
  * @internal Internal: This should never be used and is not supported.
3289
3341
  */
3290
3342
  LIBCOUCHBASE_API lcb_STATUS lcb_cmdsubdoc_on_behalf_of(lcb_CMDSUBDOC *cmd, const char *data, size_t data_len);
3343
+ LIBCOUCHBASE_API lcb_STATUS lcb_cmdsubdoc_on_behalf_of_extra_privilege(lcb_CMDSUBDOC *cmd, const char *privilege,
3344
+ size_t privilege_len);
3291
3345
 
3292
3346
  LIBCOUCHBASE_API lcb_STATUS lcb_subdoc(lcb_INSTANCE *instance, void *cookie, const lcb_CMDSUBDOC *cmd);
3293
3347
  /** @} */
@@ -86,6 +86,8 @@ X(LCB_ERR_UNAMBIGUOUS_TIMEOUT, 216, LCB_ERROR_TYPE_SHARED, 0, "Unambiguous
86
86
  X(LCB_ERR_SCOPE_NOT_FOUND, 217, LCB_ERROR_TYPE_SHARED, 0, "Scope is not found") \
87
87
  X(LCB_ERR_INDEX_NOT_FOUND, 218, LCB_ERROR_TYPE_SHARED, 0, "Index is not found") \
88
88
  X(LCB_ERR_INDEX_EXISTS, 219, LCB_ERROR_TYPE_SHARED, 0, "Index is exist already") \
89
+ X(LCB_ERR_RATE_LIMITED, 220, LCB_ERROR_TYPE_SHARED, 0, "The service decided that the caller must be rate limited due to exceeding a rate threshold") \
90
+ X(LCB_ERR_QUOTA_LIMITED, 221, LCB_ERROR_TYPE_SHARED, 0, "The service decided that the caller must be limited due to exceeding a quota threshold") \
89
91
  \
90
92
  /* KeyValue Error Definitions */ \
91
93
  X(LCB_ERR_DOCUMENT_NOT_FOUND, 301, LCB_ERROR_TYPE_KEYVALUE, 0, "Document is not found") \
@@ -248,6 +250,8 @@ LIBCOUCHBASE_API lcb_STATUS lcb_errctx_query_rc(const lcb_QUERY_ERROR_CONTEXT *c
248
250
  LIBCOUCHBASE_API lcb_STATUS lcb_errctx_query_first_error_code(const lcb_QUERY_ERROR_CONTEXT *ctx, uint32_t *code);
249
251
  LIBCOUCHBASE_API lcb_STATUS lcb_errctx_query_first_error_message(const lcb_QUERY_ERROR_CONTEXT *ctx,
250
252
  const char **message, size_t *message_len);
253
+ LIBCOUCHBASE_API lcb_STATUS lcb_errctx_query_error_response_body(const lcb_QUERY_ERROR_CONTEXT *ctx, const char **body,
254
+ size_t *body_len);
251
255
  LIBCOUCHBASE_API lcb_STATUS lcb_errctx_query_statement(const lcb_QUERY_ERROR_CONTEXT *ctx, const char **statement,
252
256
  size_t *statement_len);
253
257
  LIBCOUCHBASE_API lcb_STATUS lcb_errctx_query_client_context_id(const lcb_QUERY_ERROR_CONTEXT *ctx, const char **id,
@@ -386,7 +390,8 @@ lcb_errmap_callback lcb_set_errmap_callback(lcb_INSTANCE *instance, lcb_errmap_c
386
390
  X(LCB_RETRY_REASON_CIRCUIT_BREAKER_OPEN, 13, 1, 0) \
387
391
  X(LCB_RETRY_REASON_QUERY_PREPARED_STATEMENT_FAILURE, 14, 1, 0) \
388
392
  X(LCB_RETRY_REASON_ANALYTICS_TEMPORARY_FAILURE, 15, 1, 0) \
389
- X(LCB_RETRY_REASON_SEARCH_TOO_MANY_REQUESTS, 16, 1, 0)
393
+ X(LCB_RETRY_REASON_SEARCH_TOO_MANY_REQUESTS, 16, 1, 0) \
394
+ X(LCB_RETRY_REASON_QUERY_ERROR_RETRYABLE, 17, 1, 0)
390
395
  /* clang-format on */
391
396
 
392
397
  typedef enum {
@@ -177,8 +177,9 @@ typedef struct lcb_RESPN1XMGMT_st {
177
177
  * Retrieve a list of all indexes in the cluster. If lcb_CMDN1XMGMT::spec
178
178
  * contains entries then the search will be limited to the appropriate criteria.
179
179
  */
180
- LIBCOUCHBASE_API
181
- lcb_STATUS lcb_n1x_list(lcb_INSTANCE *instance, const void *cookie, const lcb_CMDN1XMGMT *cmd);
180
+ LCB_DEPRECATED2(LIBCOUCHBASE_API lcb_STATUS lcb_n1x_list(lcb_INSTANCE *instance, const void *cookie,
181
+ const lcb_CMDN1XMGMT *cmd),
182
+ "lcb_http must be used directly");
182
183
 
183
184
  /**
184
185
  * @volatile
@@ -186,15 +187,17 @@ lcb_STATUS lcb_n1x_list(lcb_INSTANCE *instance, const void *cookie, const lcb_CM
186
187
  * Create an index. The index can either be a primary or secondary index, and
187
188
  * it may be created immediately or it may be deferred.
188
189
  */
189
- LIBCOUCHBASE_API
190
- lcb_STATUS lcb_n1x_create(lcb_INSTANCE *instance, const void *cookie, const lcb_CMDN1XMGMT *cmd);
190
+ LCB_DEPRECATED2(LIBCOUCHBASE_API lcb_STATUS lcb_n1x_create(lcb_INSTANCE *instance, const void *cookie,
191
+ const lcb_CMDN1XMGMT *cmd),
192
+ "lcb_http must be used directly");
191
193
 
192
194
  /**
193
195
  * @volatile
194
196
  * Remove an index.
195
197
  */
196
- LIBCOUCHBASE_API
197
- lcb_STATUS lcb_n1x_drop(lcb_INSTANCE *instance, const void *cookie, const lcb_CMDN1XMGMT *cmd);
198
+ LCB_DEPRECATED2(LIBCOUCHBASE_API lcb_STATUS lcb_n1x_drop(lcb_INSTANCE *instance, const void *cookie,
199
+ const lcb_CMDN1XMGMT *cmd),
200
+ "lcb_http must be used directly");
198
201
 
199
202
  /**
200
203
  * @volatile
@@ -205,8 +208,9 @@ lcb_STATUS lcb_n1x_drop(lcb_INSTANCE *instance, const void *cookie, const lcb_CM
205
208
  *
206
209
  * lcb_n1x_watchbuild may be used to wait on the status of those indexes.
207
210
  */
208
- LIBCOUCHBASE_API
209
- lcb_STATUS lcb_n1x_startbuild(lcb_INSTANCE *instance, const void *cookie, const lcb_CMDN1XMGMT *cmd);
211
+ LCB_DEPRECATED2(LIBCOUCHBASE_API lcb_STATUS lcb_n1x_startbuild(lcb_INSTANCE *instance, const void *cookie,
212
+ const lcb_CMDN1XMGMT *cmd),
213
+ "lcb_http must be used directly");
210
214
 
211
215
  /**
212
216
  * @volatile
@@ -250,8 +254,9 @@ typedef struct {
250
254
  * which are being built (using lcb_n1x_startbuild()) have been fully
251
255
  * created.
252
256
  */
253
- LIBCOUCHBASE_API
254
- lcb_STATUS lcb_n1x_watchbuild(lcb_INSTANCE *instance, const void *cookie, const lcb_CMDN1XWATCH *cmd);
257
+ LCB_DEPRECATED2(LIBCOUCHBASE_API lcb_STATUS lcb_n1x_watchbuild(lcb_INSTANCE *instance, const void *cookie,
258
+ const lcb_CMDN1XWATCH *cmd),
259
+ "lcb_http must be used directly");
255
260
 
256
261
  #ifdef __cplusplus
257
262
  }
@@ -406,7 +406,7 @@ lcb_STATUS lcbtrace_span_set_is_dispatch(lcbtrace_SPAN *span, int dispatch);
406
406
  /**
407
407
  * Bucket name
408
408
  */
409
- #define LCBTRACE_TAG_DB_INSTANCE "db.instance"
409
+ #define LCBTRACE_TAG_DB_INSTANCE "db.name"
410
410
  /**
411
411
  * The client's identifier string (the 'u' property in the updated HELLO request),
412
412
  * the same one that is shared with the server to identify the SDK.
@@ -492,7 +492,7 @@ lcb_STATUS lcbtrace_span_set_is_dispatch(lcbtrace_SPAN *span, int dispatch);
492
492
  /**
493
493
  * Transport used in trace.
494
494
  */
495
- #define LCBTRACE_TAG_TRANSPORT "db.net.transport"
495
+ #define LCBTRACE_TAG_TRANSPORT "net.transport"
496
496
  /**
497
497
  * Get ID of the span.
498
498
  *
@@ -133,6 +133,27 @@ typedef enum {
133
133
  * users access to the cluster. */
134
134
  PROTOCOL_BINARY_RESPONSE_NOT_INITIALIZED = 0x25,
135
135
 
136
+ /**
137
+ * The tenant exceeded network ingress limit
138
+ */
139
+ PROTOCOL_BINARY_RATE_LIMITED_NETWORK_INGRESS = 0x30,
140
+ /**
141
+ * The tenant exceeded network egress limit
142
+ */
143
+ PROTOCOL_BINARY_RATE_LIMITED_NETWORK_EGRESS = 0x31,
144
+ /**
145
+ * The tenant exceeded max number of connections
146
+ */
147
+ PROTOCOL_BINARY_RATE_LIMITED_MAX_CONNECTIONS = 0x32,
148
+ /**
149
+ * The tenant exceeded max number of commands
150
+ */
151
+ PROTOCOL_BINARY_RATE_LIMITED_MAX_COMMANDS = 0x33,
152
+ /**
153
+ * There is too much data in the scope
154
+ */
155
+ PROTOCOL_BINARY_SCOPE_SIZE_LIMIT_EXCEEDED = 0x34,
156
+
136
157
  /** The server have no idea what this command is for */
137
158
  PROTOCOL_BINARY_RESPONSE_UNKNOWN_COMMAND = 0x81,
138
159
  /** Not enough memory */