libcouchbase 0.0.7 → 0.0.8

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.
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