libcouchbase 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (133) hide show
  1. checksums.yaml +4 -4
  2. data/ext/libcouchbase/.gitignore +2 -0
  3. data/ext/libcouchbase/CMakeLists.txt +5 -7
  4. data/ext/libcouchbase/README.markdown +2 -2
  5. data/ext/libcouchbase/RELEASE_NOTES.markdown +49 -0
  6. data/ext/libcouchbase/cmake/Modules/ConfigureDtrace.cmake +11 -0
  7. data/ext/libcouchbase/cmake/Modules/GenerateConfigDotH.cmake +2 -0
  8. data/ext/libcouchbase/cmake/Modules/GetLibcouchbaseFlags.cmake +2 -1
  9. data/ext/libcouchbase/cmake/Modules/GetVersionInfo.cmake +3 -3
  10. data/ext/libcouchbase/cmake/config-cmake.h.in +2 -0
  11. data/ext/libcouchbase/cmake/defs.mk.in +0 -2
  12. data/ext/libcouchbase/cmake/source_files.cmake +34 -14
  13. data/ext/libcouchbase/configure.pl +1 -1
  14. data/ext/libcouchbase/contrib/genhash/genhash.h +6 -0
  15. data/ext/libcouchbase/include/libcouchbase/auth.h +10 -0
  16. data/ext/libcouchbase/include/libcouchbase/couchbase.h +10 -0
  17. data/ext/libcouchbase/include/libcouchbase/error.h +7 -0
  18. data/ext/libcouchbase/include/libcouchbase/n1ql.h +13 -1
  19. data/ext/libcouchbase/include/libcouchbase/plugins/io/bsdio-inl.c +1 -1
  20. data/ext/libcouchbase/include/libcouchbase/subdoc.h +9 -0
  21. data/ext/libcouchbase/include/libcouchbase/views.h +7 -1
  22. data/ext/libcouchbase/include/libcouchbase/visibility.h +1 -0
  23. data/ext/libcouchbase/include/memcached/protocol_binary.h +21 -1132
  24. data/ext/libcouchbase/packaging/parse-git-describe.pl +1 -1
  25. data/ext/libcouchbase/plugins/io/libev/libev_io_opts.h +3 -2
  26. data/ext/libcouchbase/src/README.md +0 -2
  27. data/ext/libcouchbase/src/auth-priv.h +1 -0
  28. data/ext/libcouchbase/src/auth.cc +10 -0
  29. data/ext/libcouchbase/src/bootstrap.cc +216 -0
  30. data/ext/libcouchbase/src/bootstrap.h +50 -39
  31. data/ext/libcouchbase/src/bucketconfig/bc_cccp.cc +455 -0
  32. data/ext/libcouchbase/src/bucketconfig/bc_file.cc +281 -0
  33. data/ext/libcouchbase/src/bucketconfig/bc_http.cc +528 -0
  34. data/ext/libcouchbase/src/bucketconfig/bc_http.h +50 -25
  35. data/ext/libcouchbase/src/bucketconfig/bc_mcraw.cc +115 -0
  36. data/ext/libcouchbase/src/bucketconfig/clconfig.h +407 -386
  37. data/ext/libcouchbase/src/bucketconfig/confmon.cc +378 -0
  38. data/ext/libcouchbase/src/cbft.cc +22 -27
  39. data/ext/libcouchbase/src/cntl.cc +24 -24
  40. data/ext/libcouchbase/src/connspec.cc +30 -1
  41. data/ext/libcouchbase/src/connspec.h +17 -0
  42. data/ext/libcouchbase/src/dns-srv.cc +143 -0
  43. data/ext/libcouchbase/src/{dump.c → dump.cc} +8 -11
  44. data/ext/libcouchbase/src/getconfig.cc +73 -0
  45. data/ext/libcouchbase/src/handler.cc +84 -85
  46. data/ext/libcouchbase/src/hostlist.cc +0 -1
  47. data/ext/libcouchbase/src/hostlist.h +6 -1
  48. data/ext/libcouchbase/src/http/http-priv.h +125 -112
  49. data/ext/libcouchbase/src/http/http.cc +9 -29
  50. data/ext/libcouchbase/src/http/http.h +1 -34
  51. data/ext/libcouchbase/src/http/http_io.cc +22 -26
  52. data/ext/libcouchbase/src/instance.cc +102 -28
  53. data/ext/libcouchbase/src/internal.h +47 -29
  54. data/ext/libcouchbase/src/jsparse/parser.cc +146 -202
  55. data/ext/libcouchbase/src/jsparse/parser.h +91 -98
  56. data/ext/libcouchbase/src/lcbht/lcbht.cc +177 -0
  57. data/ext/libcouchbase/src/lcbht/lcbht.h +174 -163
  58. data/ext/libcouchbase/src/lcbio/connect.cc +562 -0
  59. data/ext/libcouchbase/src/lcbio/connect.h +9 -2
  60. data/ext/libcouchbase/src/lcbio/ctx.c +1 -1
  61. data/ext/libcouchbase/src/lcbio/iotable.h +61 -16
  62. data/ext/libcouchbase/src/lcbio/ioutils.h +1 -1
  63. data/ext/libcouchbase/src/lcbio/manager.c +2 -2
  64. data/ext/libcouchbase/src/lcbio/timer-cxx.h +87 -0
  65. data/ext/libcouchbase/src/mc/mcreq.h +9 -2
  66. data/ext/libcouchbase/src/mcserver/mcserver.cc +723 -0
  67. data/ext/libcouchbase/src/mcserver/mcserver.h +160 -70
  68. data/ext/libcouchbase/src/mcserver/negotiate.cc +118 -152
  69. data/ext/libcouchbase/src/mcserver/negotiate.h +85 -74
  70. data/ext/libcouchbase/src/mctx-helper.h +51 -0
  71. data/ext/libcouchbase/src/n1ql/ixmgmt.cc +1 -2
  72. data/ext/libcouchbase/src/n1ql/n1ql.cc +56 -32
  73. data/ext/libcouchbase/src/{newconfig.c → newconfig.cc} +42 -70
  74. data/ext/libcouchbase/src/nodeinfo.cc +4 -8
  75. data/ext/libcouchbase/src/operations/{cbflush.c → cbflush.cc} +7 -15
  76. data/ext/libcouchbase/src/operations/{counter.c → counter.cc} +0 -0
  77. data/ext/libcouchbase/src/operations/{durability-cas.c → durability-cas.cc} +92 -76
  78. data/ext/libcouchbase/src/operations/{durability-seqno.c → durability-seqno.cc} +55 -49
  79. data/ext/libcouchbase/src/operations/durability.cc +643 -0
  80. data/ext/libcouchbase/src/operations/durability_internal.h +212 -124
  81. data/ext/libcouchbase/src/operations/{get.c → get.cc} +24 -26
  82. data/ext/libcouchbase/src/operations/{observe-seqno.c → observe-seqno.cc} +5 -8
  83. data/ext/libcouchbase/src/operations/{observe.c → observe.cc} +69 -94
  84. data/ext/libcouchbase/src/operations/{pktfwd.c → pktfwd.cc} +0 -0
  85. data/ext/libcouchbase/src/operations/{remove.c → remove.cc} +0 -0
  86. data/ext/libcouchbase/src/operations/{stats.c → stats.cc} +66 -78
  87. data/ext/libcouchbase/src/operations/{store.c → store.cc} +27 -32
  88. data/ext/libcouchbase/src/operations/subdoc.cc +38 -18
  89. data/ext/libcouchbase/src/operations/{touch.c → touch.cc} +0 -0
  90. data/ext/libcouchbase/src/packetutils.h +200 -137
  91. data/ext/libcouchbase/src/probes.d +1 -1
  92. data/ext/libcouchbase/src/{retrychk.c → retrychk.cc} +3 -4
  93. data/ext/libcouchbase/src/retryq.cc +394 -0
  94. data/ext/libcouchbase/src/retryq.h +116 -104
  95. data/ext/libcouchbase/src/settings.h +2 -1
  96. data/ext/libcouchbase/src/ssl/ssl_c.c +1 -0
  97. data/ext/libcouchbase/src/ssl/ssl_e.c +0 -1
  98. data/ext/libcouchbase/src/trace.h +8 -8
  99. data/ext/libcouchbase/src/vbucket/vbucket.c +0 -1
  100. data/ext/libcouchbase/src/views/{docreq.c → docreq.cc} +48 -54
  101. data/ext/libcouchbase/src/views/docreq.h +24 -30
  102. data/ext/libcouchbase/src/views/viewreq.cc +318 -0
  103. data/ext/libcouchbase/src/views/viewreq.h +43 -13
  104. data/ext/libcouchbase/src/{wait.c → wait.cc} +12 -17
  105. data/ext/libcouchbase/tests/basic/t_connstr.cc +89 -50
  106. data/ext/libcouchbase/tests/basic/t_jsparse.cc +27 -78
  107. data/ext/libcouchbase/tests/basic/t_packet.cc +35 -42
  108. data/ext/libcouchbase/tests/htparse/t_basic.cc +58 -78
  109. data/ext/libcouchbase/tests/iotests/t_confmon.cc +94 -111
  110. data/ext/libcouchbase/tests/iotests/t_sched.cc +1 -2
  111. data/ext/libcouchbase/tests/mc/t_alloc.cc +9 -9
  112. data/ext/libcouchbase/tools/cbc-pillowfight.cc +1 -1
  113. data/lib/libcouchbase/version.rb +1 -1
  114. metadata +36 -39
  115. data/ext/libcouchbase/include/memcached/vbucket.h +0 -42
  116. data/ext/libcouchbase/src/bootstrap.c +0 -269
  117. data/ext/libcouchbase/src/bucketconfig/bc_cccp.c +0 -495
  118. data/ext/libcouchbase/src/bucketconfig/bc_file.c +0 -347
  119. data/ext/libcouchbase/src/bucketconfig/bc_http.c +0 -630
  120. data/ext/libcouchbase/src/bucketconfig/bc_mcraw.c +0 -150
  121. data/ext/libcouchbase/src/bucketconfig/confmon.c +0 -474
  122. data/ext/libcouchbase/src/getconfig.c +0 -100
  123. data/ext/libcouchbase/src/lcbht/lcbht.c +0 -282
  124. data/ext/libcouchbase/src/lcbio/connect.c +0 -557
  125. data/ext/libcouchbase/src/mcserver/mcserver.c +0 -784
  126. data/ext/libcouchbase/src/operations/durability.c +0 -668
  127. data/ext/libcouchbase/src/packetutils.c +0 -60
  128. data/ext/libcouchbase/src/retryq.c +0 -424
  129. data/ext/libcouchbase/src/simplestring.c +0 -211
  130. data/ext/libcouchbase/src/simplestring.h +0 -228
  131. data/ext/libcouchbase/src/ssobuf.h +0 -82
  132. data/ext/libcouchbase/src/views/viewreq.c +0 -358
  133. data/ext/libcouchbase/tests/basic/t_string.cc +0 -112
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e77f4344c80a4dcb25a8b4641eb1f451871999f3
4
- data.tar.gz: ad1dfe2a7276dbe6eaf72466203fb44f9989461a
3
+ metadata.gz: 1663915161bb8f351a30c388c2faca80aae361b5
4
+ data.tar.gz: fb8ba6fda5a579c68758ea4310e36c3ca118d49d
5
5
  SHA512:
6
- metadata.gz: 77c92e787e39f9704148c3fce013fe11c52c3a0a6329b22c00f76bfbb47425fb389e3ffbda01b8f2fe2709dfdaa2d064afe2adf56eed3421ad3b044fcff8058d
7
- data.tar.gz: fb143e552a235d9aa96412636fe197644c10a81b39780ed9a52cad8729c6f400ce659050bbf41340cd0383e75f91e98d3ad3c91ee7c666afd3fe84f3dcd1685d
6
+ metadata.gz: 5ba0d969fff91188a9ac8fda5b7f40951746cb30749479a8732ab739fb14c088b057785ee6f93118a5fdab26bbb614bf66eabc0416d8768860a7ad5b81ada944
7
+ data.tar.gz: bc96762d3e047a3bf6becb91154bbe92866da46d4f22eb0f898984f364ec8e5b5930999893179f28d261aeae567549675d49da247134320a1446050e3cb1c9c7
@@ -128,3 +128,5 @@ packaging/distinfo/MANIFEST
128
128
  *.tlog
129
129
  *.nupkg
130
130
  *.suo
131
+ tests/LOCAL
132
+ inst
@@ -151,12 +151,12 @@ IF(WIN32)
151
151
  ADD_DEFINITIONS(-DWINVER=${NT_REQUIRED_VERSION})
152
152
  ADD_DEFINITIONS(-D_WIN32_WINNT=${NT_REQUIRED_VERSION})
153
153
  SET(lcb_plat_includes "${SOURCE_ROOT}/contrib/win32-defs")
154
- SET(lcb_plat_libs ws2_32.lib)
154
+ SET(lcb_plat_libs ws2_32.lib dnsapi.lib)
155
155
  SET(lcb_plat_objs $<TARGET_OBJECTS:couchbase_iocp>)
156
156
  ELSE()
157
157
  SET(lcb_plat_libs m)
158
158
  IF(NOT CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
159
- SET(lcb_plat_libs ${lcb_plat_libs} dl)
159
+ SET(lcb_plat_libs ${lcb_plat_libs} dl resolv)
160
160
  ELSE()
161
161
  # BSD _and_ DTrace
162
162
  IF(LCB_BUILD_DTRACE)
@@ -205,6 +205,7 @@ ADD_LIBRARY(netbuf-malloc OBJECT ${LCB_NETBUF_SRC})
205
205
  ADD_LIBRARY(mcreq OBJECT ${LCB_MC_SRC})
206
206
  ADD_LIBRARY(rdb OBJECT ${LCB_RDB_SRC})
207
207
  ADD_LIBRARY(lcbio OBJECT ${LCB_IO_SRC})
208
+ ADD_LIBRARY(lcbio-cxx OBJECT ${LCB_IO_CXXSRC})
208
209
  ADD_LIBRARY(lcbht OBJECT ${LCB_HT_SRC})
209
210
  ADD_LIBRARY(lcbcore OBJECT ${LCB_CORE_SRC})
210
211
  ADD_LIBRARY(lcbcore-cxx OBJECT ${LCB_CORE_CXXSRC})
@@ -214,6 +215,7 @@ LCB_UTIL(netbuf-malloc)
214
215
  LCB_UTIL(netbuf)
215
216
  LCB_UTIL(rdb)
216
217
  LCB_UTIL(lcbio)
218
+ LCB_CXXUTIL(lcbio-cxx)
217
219
  LCB_UTIL(couchbase_utils)
218
220
  LCB_UTIL(mcreq)
219
221
  LCB_UTIL(lcbht)
@@ -245,10 +247,6 @@ IF(NOT WIN32 AND LCB_BUILD_DTRACE)
245
247
  INCLUDE(cmake/Modules/ConfigureDtrace.cmake)
246
248
  ENDIF()
247
249
 
248
- FILE(GLOB LCB_VIEWS_C_SRC src/views/*.c)
249
- ADD_LIBRARY(lcb_views_c OBJECT ${LCB_VIEWS_C_SRC})
250
- LCB_UTIL(lcb_views_c)
251
-
252
250
  FILE(GLOB LCB_JSPARSE_SRC src/jsparse/*.cc)
253
251
  ADD_LIBRARY(lcb_jsparse OBJECT ${LCB_JSPARSE_SRC})
254
252
  LCB_CXXUTIL(lcb_jsparse)
@@ -261,11 +259,11 @@ SET(LCB_CORE_OBJS
261
259
  $<TARGET_OBJECTS:netbuf>
262
260
  $<TARGET_OBJECTS:cbsasl>
263
261
  $<TARGET_OBJECTS:lcbio>
262
+ $<TARGET_OBJECTS:lcbio-cxx>
264
263
  $<TARGET_OBJECTS:rdb>
265
264
  $<TARGET_OBJECTS:lcbht>
266
265
  $<TARGET_OBJECTS:lcbcore>
267
266
  $<TARGET_OBJECTS:lcbcore-cxx>
268
- $<TARGET_OBJECTS:lcb_views_c>
269
267
  $<TARGET_OBJECTS:lcb_jsparse>
270
268
  $<TARGET_OBJECTS:lcb_jsoncpp>
271
269
  ${LCB_DTRACE_OBJECT}
@@ -78,7 +78,7 @@ If you wish to link against OpenSSL, you should set the value of
78
78
 
79
79
  ## Bugs, Support, Issues
80
80
  You may report issues in the library in our issue tracked at
81
- <http://couchbase.com/issues>. Sign up for an account and file an issue
81
+ <https://issues.couchbase.com>. Sign up for an account and file an issue
82
82
  against the _Couchbase C Client Library_ project.
83
83
 
84
84
  The developers of the library hang out in IRC on `#libcouchbase` on
@@ -95,7 +95,7 @@ irc.freenode.net.
95
95
  * [PHP](http://github.com/couchbase/php-couchbase) (uses the old < 2.6 API)
96
96
  * Community projects using libcouchbase
97
97
  * [C++11 wrapper](https://github.com/couchbaselabs/libcouchbase-cxx)
98
- * [cberl - Couchbase NIF](https://github.com/chitika/cberl)
98
+ * [cberl - Couchbase NIF](https://github.com/wcummings/cberl)
99
99
  * [Perl client](https://github.com/mnunberg/perl-Couchbase-Client)
100
100
 
101
101
  ## Documentation
@@ -1,5 +1,54 @@
1
1
  # Release Notes
2
2
 
3
+ ## 2.7.2 (February 21 2017)
4
+
5
+ This release consists of additional internal refactoring and some improved
6
+ logging messages. There is enhanced experimental XATTR support. This release
7
+ also contains some bug fixes:
8
+
9
+ * Fix build issues on FreeBSD. This allows normal BSD `make` to be used, rather
10
+ than forcing `gmake`
11
+
12
+ * Fixed broken JIRA link in README
13
+
14
+ * Fix hanging SSL connections in IOCP/Completion mode. This would sometimes
15
+ stall the connection by not requesting a write if a read was in progress.
16
+ This would result in the command not being sent and the client hanging.
17
+ Note that this only affects completion-style I/O plugins such as IOCP and
18
+ libuv.
19
+ * Issues: [CCBC-744](https://issues.couchbase.com/browse/CCBC-744)
20
+
21
+ * Rename `LCB_SDSPEC_F_VIRTPATH` to `LCB_SDSPEC_F_MACROVALUES`. `VIRTPATH`
22
+ is intended for possible future materialized XATTRs.
23
+
24
+ * Add `LCB_SDSPEC_F_XATTR_DELETED_OK`, which maps to the protocol flag of
25
+ roughly the same name.
26
+
27
+ ## 2.7.1 (January 19 2017)
28
+
29
+ This release consists of additional internal refactoring. More internals have
30
+ been converted to C++.
31
+
32
+ * Provide XATTR (Extended Attribute) prototype support.
33
+ This provides a prototype implementation of xattrs, allowing the client to
34
+ access extended (hidden) attributes of a document. This feature can be used
35
+ on the client side by simply setting the `LCB_SDSPEC_F_XATTRPATH` bit in
36
+ the `lcb_SDSPEC::options` field.
37
+ * Issues: [CCBC-728](https://issues.couchbase.com/browse/CCBC-728)
38
+
39
+ * Add automatic DNS SRV record lookup when simple hostname supplied.
40
+ The library will now automatically attempt to look up SRV records
41
+ for various couchbase services if only one host is present in the
42
+ connection string. Automatic lookup will not be performed if more
43
+ than a single host is provded. See the [Java Documentation](https://developer.couchbase.com/documentation/server/current/sdk/java/managing-connections.html)
44
+ on the matter (go to the bottom of the page).
45
+ * Issues: [CCBC-566](https://issues.couchbase.com/browse/CCBC-566)
46
+
47
+ ## 2.7.0 (December 21 2016)
48
+
49
+ This release consists mainly of internal refactoring. Many of the internals
50
+ have been 'upgraded' to C++
51
+
3
52
  ## 2.6.4 (November 28 2016)
4
53
 
5
54
  * Fix bug in pillowfight where large value sizes would cause a segfault.
@@ -11,6 +11,17 @@ IF(DTRACE)
11
11
  RETURN()
12
12
  ENDIF()
13
13
 
14
+ # Fix probes.h on FreeBSD
15
+ IF(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
16
+ FIND_PROGRAM(SED sed)
17
+ EXECUTE_PROCESS(COMMAND ${SED} -i.tmp "s/, *char \\*/, const char \\*/g" ${LCB_DTRACE_HEADER}
18
+ RESULT_VARIABLE _rv)
19
+ IF(NOT ${_rv} EQUAL 0)
20
+ MESSAGE(WARNING "Could not execute sed to update dtrace-generated header. DTrace support will be disabled!")
21
+ RETURN()
22
+ ENDIF()
23
+ ENDIF()
24
+
14
25
  ADD_DEFINITIONS(-DHAVE_DTRACE)
15
26
  IF(NOT APPLE)
16
27
  SET(LCB_DTRACE_OBJECT "${LCB_GENSRCDIR}/probes.o")
@@ -9,6 +9,7 @@ IF(UNIX)
9
9
  CHECK_FUNCTION_EXISTS(clock_gettime HAVE_CLOCK_GETTIME)
10
10
  CHECK_FUNCTION_EXISTS(setitimer HAVE_SETITIMER)
11
11
  CHECK_SYMBOL_EXISTS(htonll arpa/inet.h HAVE_HTONLL)
12
+ CHECK_SYMBOL_EXISTS(res_search resolv.h HAVE_RES_SEARCH)
12
13
  CHECK_INCLUDE_FILES(dlfcn.h HAVE_DLFCN_H)
13
14
  CHECK_INCLUDE_FILES(netdb.h HAVE_NETDB_H)
14
15
  CHECK_INCLUDE_FILES(stdint.h HAVE_STDINT_H)
@@ -22,6 +23,7 @@ IF(UNIX)
22
23
  CHECK_INCLUDE_FILES(sys/time.h HAVE_SYS_TIME_H)
23
24
  CHECK_INCLUDE_FILES(arpa/inet.h HAVE_ARPA_INET_H)
24
25
  CHECK_INCLUDE_FILES(inttypes.h HAVE_INTTYPES_H)
26
+ CHECK_INCLUDE_FILES(arpa/nameser.h HAVE_ARPA_NAMESER_H)
25
27
  ENDIF()
26
28
 
27
29
  CONFIGURE_FILE(
@@ -22,7 +22,8 @@ ENDMACRO(list2args)
22
22
 
23
23
  LIST(APPEND LCB_GNUC_CPP_WARNINGS
24
24
  -Wall -pedantic -Wshadow -fdiagnostics-show-option -Wformat
25
- -Wno-strict-aliasing -Wextra -Winit-self -Wno-missing-field-initializers)
25
+ -Wno-strict-aliasing -Wextra -Winit-self -Wno-missing-field-initializers
26
+ -Wno-variadic-macros)
26
27
 
27
28
  IF("${CMAKE_C_COMPILER_ID}" STREQUAL "Clang")
28
29
  LIST(APPEND LCB_GNUC_CPP_WARNINGS -Wno-cast-align -Wno-dollar-in-identifier-extension)
@@ -42,13 +42,13 @@ ENDIF()
42
42
 
43
43
  IF (NOT LCB_VERSION)
44
44
  SET(LCB_NOGITVERSION ON)
45
- SET(LCB_VERSION "2.6.4")
45
+ SET(LCB_VERSION "2.7.2")
46
46
  ENDIF()
47
47
  IF (NOT LCB_VERSION_CHANGESET)
48
48
  SET(LCB_VERSION_CHANGESET "0xdeadbeef")
49
49
  ENDIF()
50
50
  IF (NOT LCB_VERSION_HEX)
51
- SET(LCB_VERSION_HEX 0x020604)
51
+ SET(LCB_VERSION_HEX 0x020702)
52
52
  ENDIF()
53
53
 
54
54
  # Now parse the version string
@@ -63,7 +63,7 @@ IF(APPLE)
63
63
  ELSE()
64
64
  SET(LCB_SONAME_MAJOR "2")
65
65
  ENDIF()
66
- SET(LCB_SONAME_FULL "${LCB_SONAME_MAJOR}.0.39")
66
+ SET(LCB_SONAME_FULL "${LCB_SONAME_MAJOR}.0.42")
67
67
 
68
68
  MESSAGE(STATUS
69
69
  "libcouchbase ${LCB_VERSION_MAJOR},${LCB_VERSION_MINOR},${LCB_VERSION_PATCH}")
@@ -31,6 +31,8 @@
31
31
  #cmakedefine HAVE_SYS_UIO_H
32
32
  #cmakedefine HAVE_UNISTD_H
33
33
  #cmakedefine HAVE_ARPA_INET_H
34
+ #cmakedefine HAVE_RES_SEARCH
35
+ #cmakedefine HAVE_ARPA_NAMESER_H
34
36
 
35
37
  #ifndef HAVE_LIBEVENT
36
38
  #cmakedefine HAVE_LIBEVENT
@@ -4,5 +4,3 @@ SRCROOT=${CMAKE_SOURCE_DIR}
4
4
  REVDESCRIBE=${LCB_REVDESCRIBE}
5
5
  PACKAGE=libcouchbase
6
6
  VERSION=${LCB_VERSION}
7
- LCB_BUILDING_WITH_CMAKE=1
8
- export LCB_BUILDING_WITH_CMAKE
@@ -10,12 +10,11 @@ SET(LCB_UTILS_SRC
10
10
  src/hashtable.c
11
11
  src/list.c
12
12
  src/logging.c
13
- src/packetutils.c
14
- src/ringbuffer.c
15
- src/simplestring.c)
13
+ src/ringbuffer.c)
16
14
 
17
15
  # lcbio
18
16
  FILE(GLOB LCB_IO_SRC src/lcbio/*.c)
17
+ FILE(GLOB LCB_IO_CXXSRC src/lcbio/*.cc)
19
18
 
20
19
  # common memcached operations
21
20
  FILE(GLOB LCB_OP_SRC src/operations/*.c)
@@ -30,7 +29,6 @@ FILE(GLOB LCB_RDB_SRC src/rdb/*.c)
30
29
  FILE(GLOB LCB_NETBUF_SRC src/netbuf/*.c)
31
30
 
32
31
  # HTTP protocol management
33
- FILE(GLOB LCB_HT_SRC src/lcbht/*.c)
34
32
  LIST(APPEND LCB_HT_SRC "contrib/http_parser/http_parser.c")
35
33
 
36
34
  # bucket config ("confmon")
@@ -40,34 +38,56 @@ SET(LCB_CORE_SRC
40
38
  ${LCB_OP_SRC}
41
39
  ${LCB_BCONF_SRC}
42
40
  ${LCB_N1QL_SRC}
43
- src/bootstrap.c
44
41
  src/callbacks.c
45
- src/dump.c
46
- src/getconfig.c
47
42
  src/legacy.c
48
43
  # src/mcserver/negotiate.c
49
- src/mcserver/mcserver.c
50
- src/newconfig.c
51
44
  src/iofactory.c
52
- src/retryq.c
53
- src/retrychk.c
54
45
  src/settings.c
55
- src/utilities.c
56
- src/wait.c)
46
+ src/utilities.c)
57
47
 
58
48
  SET(LCB_CORE_CXXSRC
59
49
  src/instance.cc
60
50
  src/auth.cc
51
+ src/bootstrap.cc
52
+ src/bucketconfig/bc_cccp.cc
53
+ src/bucketconfig/bc_http.cc
54
+ src/bucketconfig/bc_file.cc
55
+ src/bucketconfig/bc_mcraw.cc
56
+ src/bucketconfig/confmon.cc
61
57
  src/connspec.cc
58
+ src/dns-srv.cc
59
+ src/dump.cc
60
+ src/getconfig.cc
62
61
  src/nodeinfo.cc
63
62
  src/handler.cc
64
63
  src/hostlist.cc
65
64
  src/http/http.cc
66
65
  src/http/http_io.cc
66
+ src/lcbht/lcbht.cc
67
+ src/newconfig.cc
67
68
  src/n1ql/params.cc
68
69
  src/n1ql/n1ql.cc
69
70
  src/n1ql/ixmgmt.cc
70
71
  src/cbft.cc
72
+ src/operations/cbflush.cc
73
+ src/operations/counter.cc
74
+ src/operations/durability.cc
75
+ src/operations/durability-cas.cc
76
+ src/operations/durability-seqno.cc
77
+ src/operations/get.cc
78
+ src/operations/observe.cc
79
+ src/operations/observe-seqno.cc
80
+ src/operations/pktfwd.cc
81
+ src/operations/remove.cc
82
+ src/operations/stats.cc
83
+ src/operations/store.cc
71
84
  src/operations/subdoc.cc
85
+ src/operations/touch.cc
86
+ src/mcserver/mcserver.cc
72
87
  src/mcserver/negotiate.cc
73
- src/cntl.cc)
88
+ src/retrychk.cc
89
+ src/retryq.cc
90
+ src/views/docreq.cc
91
+ src/views/viewreq.cc
92
+ src/cntl.cc
93
+ src/wait.cc)
@@ -1 +1 @@
1
- cmake/configure
1
+ ext/libcouchbase/cmake/configure
@@ -6,6 +6,9 @@
6
6
 
7
7
  #ifndef GENHASH_H
8
8
  #define GENHASH_H 1
9
+ #ifdef __cplusplus
10
+ extern "C" {
11
+ #endif
9
12
 
10
13
  /*! \mainpage genhash
11
14
  *
@@ -232,4 +235,7 @@ int genhash_string_hash(const void *k, lcb_size_t nkey);
232
235
  * @}
233
236
  */
234
237
 
238
+ #ifdef __cplusplus
239
+ }
240
+ #endif
235
241
  #endif /* GENHASH_H */
@@ -95,6 +95,16 @@ LIBCOUCHBASE_API
95
95
  void
96
96
  lcbauth_unref(lcb_AUTHENTICATOR *auth);
97
97
 
98
+ /**
99
+ * Makes a copy of an existing lcb_AUTHENTICATOR object. The returned
100
+ * authenticator object has a reference count of 1.
101
+ * @param src the authenticator object to clone
102
+ * @return the cloned authenticator.
103
+ */
104
+ LIBCOUCHBASE_API
105
+ lcb_AUTHENTICATOR *
106
+ lcbauth_clone(const lcb_AUTHENTICATOR *src);
107
+
98
108
  #ifdef __cplusplus
99
109
  }
100
110
  #endif
@@ -3679,6 +3679,16 @@ lcb_histogram_read(const lcb_HISTOGRAM *hg, const void *cookie,
3679
3679
  LCB_INTERNAL_API
3680
3680
  void lcb_histogram_print(lcb_HISTOGRAM* hg, FILE* stream);
3681
3681
 
3682
+ struct hostlist_st;
3683
+
3684
+ LCB_INTERNAL_API
3685
+ lcb_error_t
3686
+ lcb_dnssrv_query(const char *, struct hostlist_st*);
3687
+
3688
+ LCB_INTERNAL_API
3689
+ struct hostlist_st*
3690
+ lcb_dnssrv_getbslist(const char *, int, lcb_error_t*);
3691
+
3682
3692
  /* Post-include some other headers */
3683
3693
  #ifdef __cplusplus
3684
3694
  }
@@ -566,6 +566,13 @@ int lcb_get_errtype(lcb_error_t err);
566
566
  LIBCOUCHBASE_API
567
567
  const char *lcb_strerror(lcb_t instance, lcb_error_t error);
568
568
 
569
+ /**
570
+ * Get a shorter textual description of an error message. This is the
571
+ * constant name
572
+ */
573
+ LCB_INTERNAL_API
574
+ const char *lcb_strerror_short(lcb_error_t error);
575
+
569
576
  /**
570
577
  * This may be used in conjunction with the errmap callback if it wishes
571
578
  * to fallback for default behavior for the given code.
@@ -261,6 +261,15 @@ lcb_n1p_mkcmd(lcb_N1QLPARAMS *params, lcb_CMDN1QL *cmd);
261
261
  /** @private The lcb_CMDN1QL::query member is an internal JSON structure */
262
262
  #define LCB_CMDN1QL_F_JSONQUERY 1<<17
263
263
 
264
+ /**
265
+ * This is an analytics query. Use the `host` field to specify the host/port
266
+ * to target. When this flag is set, things like prepared queries and
267
+ * parametrized statements will not work.
268
+ *
269
+ * @uncommited
270
+ */
271
+ #define LCB_CMDN1QL_F_CBASQUERY 1<<18
272
+
264
273
  /**
265
274
  * Command structure for N1QL queries. Typically an application will use the
266
275
  * lcb_N1QLPARAMS structure to populate the #query and #content_type fields.
@@ -287,7 +296,10 @@ struct lcb_CMDN1QL {
287
296
  /** Length of the query data */
288
297
  size_t nquery;
289
298
 
290
- /** Ignored since version 2.5.3 */
299
+ /**
300
+ * Ignored since version 2.5.3.
301
+ * Starting from version 2.7.3, is used for experimental CBAS support
302
+ */
291
303
  const char *host;
292
304
 
293
305
  /** Ignored since version 2.5.3 */
@@ -284,7 +284,7 @@ cntl_getset_impl(lcb_io_opt_t io, lcb_socket_t sock, int mode, int oslevel,
284
284
  #ifndef _WIN32
285
285
  socklen_t dummy = optsize;
286
286
  #else
287
- int dummy = optsize;
287
+ char dummy = optsize;
288
288
  #endif
289
289
 
290
290
  if (mode == LCB_IO_CNTL_GET) {
@@ -180,6 +180,15 @@ typedef struct {
180
180
  /** Create document if it does not exist */
181
181
  #define LCB_SDSPEC_F_MKDOCUMENT (1<<17)
182
182
 
183
+ /** Access document XATTR path */
184
+ #define LCB_SDSPEC_F_XATTRPATH (1<<18)
185
+
186
+ /** Access document virtual/materialized path. Implies F_XATTRPATH */
187
+ #define LCB_SDSPEC_F_XATTR_MACROVALUES (1<<19)
188
+
189
+ /** Access Xattrs of deleted documents */
190
+ #define LCB_SDSPEC_F_XATTR_DELETED_OK (1<<20)
191
+
183
192
  /**
184
193
  * Set the path for an @ref lcb_SDSPEC structure
185
194
  * @param s pointer to spec