mt-libcouchbase 1.4.0

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 (707) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +22 -0
  3. data/.gitmodules +3 -0
  4. data/.rspec +1 -0
  5. data/.travis.yml +38 -0
  6. data/Gemfile +4 -0
  7. data/LICENSE +24 -0
  8. data/README.md +445 -0
  9. data/Rakefile +76 -0
  10. data/ext/README.md +6 -0
  11. data/ext/Rakefile +19 -0
  12. data/ext/libcouchbase/.gitignore +132 -0
  13. data/ext/libcouchbase/CMakeLists.txt +455 -0
  14. data/ext/libcouchbase/CONTRIBUTING.md +105 -0
  15. data/ext/libcouchbase/LICENSE +202 -0
  16. data/ext/libcouchbase/README.markdown +195 -0
  17. data/ext/libcouchbase/RELEASE_NOTES.markdown +3523 -0
  18. data/ext/libcouchbase/cmake/Modules/ConfigureDtrace.cmake +52 -0
  19. data/ext/libcouchbase/cmake/Modules/CopyPDB.cmake +42 -0
  20. data/ext/libcouchbase/cmake/Modules/DistScript.cmake +17 -0
  21. data/ext/libcouchbase/cmake/Modules/DownloadLcbDep.cmake +18 -0
  22. data/ext/libcouchbase/cmake/Modules/FindCouchbaseHdrHistogram.cmake +15 -0
  23. data/ext/libcouchbase/cmake/Modules/FindCouchbaseLibev.cmake +73 -0
  24. data/ext/libcouchbase/cmake/Modules/FindCouchbaseLibevent.cmake +54 -0
  25. data/ext/libcouchbase/cmake/Modules/FindCouchbaseLibuv.cmake +57 -0
  26. data/ext/libcouchbase/cmake/Modules/FindProfiler.cmake +16 -0
  27. data/ext/libcouchbase/cmake/Modules/GenerateConfigDotH.cmake +49 -0
  28. data/ext/libcouchbase/cmake/Modules/GetLibcouchbaseFlags.cmake +142 -0
  29. data/ext/libcouchbase/cmake/Modules/GetPlatformCCInfo.cmake +45 -0
  30. data/ext/libcouchbase/cmake/Modules/GetVersionInfo.cmake +70 -0
  31. data/ext/libcouchbase/cmake/config-cmake.h.in +80 -0
  32. data/ext/libcouchbase/cmake/configure +355 -0
  33. data/ext/libcouchbase/cmake/defs.mk.in +6 -0
  34. data/ext/libcouchbase/cmake/dtrace-instr-link.pl +51 -0
  35. data/ext/libcouchbase/cmake/libcouchbase.stp.in +829 -0
  36. data/ext/libcouchbase/cmake/source_files.cmake +104 -0
  37. data/ext/libcouchbase/contrib/cJSON/cJSON.c +1022 -0
  38. data/ext/libcouchbase/contrib/cJSON/cJSON.h +158 -0
  39. data/ext/libcouchbase/contrib/cbsasl/CMakeLists.txt +25 -0
  40. data/ext/libcouchbase/contrib/cbsasl/COPYING +202 -0
  41. data/ext/libcouchbase/contrib/cbsasl/include/cbsasl/cbsasl.h +259 -0
  42. data/ext/libcouchbase/contrib/cbsasl/src/client.c +419 -0
  43. data/ext/libcouchbase/contrib/cbsasl/src/common.c +50 -0
  44. data/ext/libcouchbase/contrib/cbsasl/src/cram-md5/hmac.c +67 -0
  45. data/ext/libcouchbase/contrib/cbsasl/src/cram-md5/hmac.h +33 -0
  46. data/ext/libcouchbase/contrib/cbsasl/src/cram-md5/md5.c +296 -0
  47. data/ext/libcouchbase/contrib/cbsasl/src/cram-md5/md5.h +45 -0
  48. data/ext/libcouchbase/contrib/cbsasl/src/hash.c +573 -0
  49. data/ext/libcouchbase/contrib/cbsasl/src/hash.h +15 -0
  50. data/ext/libcouchbase/contrib/cbsasl/src/scram-sha/scram_utils.c +500 -0
  51. data/ext/libcouchbase/contrib/cbsasl/src/scram-sha/scram_utils.h +99 -0
  52. data/ext/libcouchbase/contrib/cbsasl/src/util.h +31 -0
  53. data/ext/libcouchbase/contrib/cliopts/CMakeLists.txt +2 -0
  54. data/ext/libcouchbase/contrib/cliopts/cliopts.c +938 -0
  55. data/ext/libcouchbase/contrib/cliopts/cliopts.h +610 -0
  56. data/ext/libcouchbase/contrib/genhash/genhash.c +371 -0
  57. data/ext/libcouchbase/contrib/genhash/genhash.h +241 -0
  58. data/ext/libcouchbase/contrib/gtest-1.7.0/CHANGES +157 -0
  59. data/ext/libcouchbase/contrib/gtest-1.7.0/CMakeLists.txt +252 -0
  60. data/ext/libcouchbase/contrib/gtest-1.7.0/CONTRIBUTORS +37 -0
  61. data/ext/libcouchbase/contrib/gtest-1.7.0/LICENSE +28 -0
  62. data/ext/libcouchbase/contrib/gtest-1.7.0/MINIFY.sh +15 -0
  63. data/ext/libcouchbase/contrib/gtest-1.7.0/README +435 -0
  64. data/ext/libcouchbase/contrib/gtest-1.7.0/cmake/internal_utils.cmake +227 -0
  65. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-death-test.h +294 -0
  66. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-message.h +250 -0
  67. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-param-test.h +1421 -0
  68. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-param-test.h.pump +487 -0
  69. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-printers.h +855 -0
  70. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-spi.h +232 -0
  71. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-test-part.h +179 -0
  72. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-typed-test.h +259 -0
  73. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest.h +2291 -0
  74. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest_pred_impl.h +358 -0
  75. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest_prod.h +58 -0
  76. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-death-test-internal.h +319 -0
  77. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-filepath.h +206 -0
  78. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-internal.h +1158 -0
  79. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-linked_ptr.h +233 -0
  80. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-param-util-generated.h +5143 -0
  81. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-param-util-generated.h.pump +301 -0
  82. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-param-util.h +619 -0
  83. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-port.h +1947 -0
  84. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-string.h +167 -0
  85. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-tuple.h +1012 -0
  86. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-tuple.h.pump +339 -0
  87. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-type-util.h +3331 -0
  88. data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-type-util.h.pump +297 -0
  89. data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-all.cc +48 -0
  90. data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-death-test.cc +1344 -0
  91. data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-filepath.cc +382 -0
  92. data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-internal-inl.h +1218 -0
  93. data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-port.cc +805 -0
  94. data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-printers.cc +363 -0
  95. data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-test-part.cc +110 -0
  96. data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-typed-test.cc +110 -0
  97. data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest.cc +5015 -0
  98. data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest_main.cc +38 -0
  99. data/ext/libcouchbase/contrib/http_parser/LICENSE-MIT +23 -0
  100. data/ext/libcouchbase/contrib/http_parser/README.md +178 -0
  101. data/ext/libcouchbase/contrib/http_parser/http_parser.c +2060 -0
  102. data/ext/libcouchbase/contrib/http_parser/http_parser.h +321 -0
  103. data/ext/libcouchbase/contrib/jsonsl/LICENSE +20 -0
  104. data/ext/libcouchbase/contrib/jsonsl/jsonsl.c +1452 -0
  105. data/ext/libcouchbase/contrib/jsonsl/jsonsl.h +971 -0
  106. data/ext/libcouchbase/contrib/lcb-jsoncpp/CMakeLists.txt +6 -0
  107. data/ext/libcouchbase/contrib/lcb-jsoncpp/LICENSE +55 -0
  108. data/ext/libcouchbase/contrib/lcb-jsoncpp/lcb-jsoncpp-forwards.h +255 -0
  109. data/ext/libcouchbase/contrib/lcb-jsoncpp/lcb-jsoncpp.cpp +4893 -0
  110. data/ext/libcouchbase/contrib/lcb-jsoncpp/lcb-jsoncpp.h +1961 -0
  111. data/ext/libcouchbase/contrib/snappy/CMakeLists.txt +7 -0
  112. data/ext/libcouchbase/contrib/snappy/COPYING +28 -0
  113. data/ext/libcouchbase/contrib/snappy/snappy-c.cc +90 -0
  114. data/ext/libcouchbase/contrib/snappy/snappy-c.h +138 -0
  115. data/ext/libcouchbase/contrib/snappy/snappy-internal.h +150 -0
  116. data/ext/libcouchbase/contrib/snappy/snappy-lcb-msvc.h +5 -0
  117. data/ext/libcouchbase/contrib/snappy/snappy-sinksource.cc +75 -0
  118. data/ext/libcouchbase/contrib/snappy/snappy-sinksource.h +137 -0
  119. data/ext/libcouchbase/contrib/snappy/snappy-stubs-internal.cc +42 -0
  120. data/ext/libcouchbase/contrib/snappy/snappy-stubs-internal.h +491 -0
  121. data/ext/libcouchbase/contrib/snappy/snappy-stubs-public.h +100 -0
  122. data/ext/libcouchbase/contrib/snappy/snappy.cc +1312 -0
  123. data/ext/libcouchbase/contrib/snappy/snappy.h +184 -0
  124. data/ext/libcouchbase/contrib/win32-defs/iocpdefs.h +133 -0
  125. data/ext/libcouchbase/contrib/win32-defs/mingwdefs.h +4396 -0
  126. data/ext/libcouchbase/contrib/win32-defs/win_stdint.h +258 -0
  127. data/ext/libcouchbase/doc/Doxyfile +2495 -0
  128. data/ext/libcouchbase/doc/DoxygenLayout.xml +109 -0
  129. data/ext/libcouchbase/doc/Makefile +44 -0
  130. data/ext/libcouchbase/doc/apiattr.h +117 -0
  131. data/ext/libcouchbase/doc/cbc-n1qlback.markdown +88 -0
  132. data/ext/libcouchbase/doc/cbc-pillowfight.markdown +296 -0
  133. data/ext/libcouchbase/doc/cbc-subdoc.markdown +299 -0
  134. data/ext/libcouchbase/doc/cbc.markdown +763 -0
  135. data/ext/libcouchbase/doc/cbcrc.markdown +52 -0
  136. data/ext/libcouchbase/doc/common-additional-options.markdown +82 -0
  137. data/ext/libcouchbase/doc/common-options.markdown +71 -0
  138. data/ext/libcouchbase/doc/environment.h +93 -0
  139. data/ext/libcouchbase/doc/example/threads.c +77 -0
  140. data/ext/libcouchbase/doc/footer.html +22 -0
  141. data/ext/libcouchbase/doc/genman.sh +25 -0
  142. data/ext/libcouchbase/doc/header.html +52 -0
  143. data/ext/libcouchbase/doc/intro.h +130 -0
  144. data/ext/libcouchbase/doc/mainpage.h +136 -0
  145. data/ext/libcouchbase/doc/man/cbc-admin.1 +1 -0
  146. data/ext/libcouchbase/doc/man/cbc-bucket-create.1 +1 -0
  147. data/ext/libcouchbase/doc/man/cbc-bucket-delete.1 +1 -0
  148. data/ext/libcouchbase/doc/man/cbc-cat.1 +1 -0
  149. data/ext/libcouchbase/doc/man/cbc-connstr.1 +1 -0
  150. data/ext/libcouchbase/doc/man/cbc-cp.1 +1 -0
  151. data/ext/libcouchbase/doc/man/cbc-create.1 +1 -0
  152. data/ext/libcouchbase/doc/man/cbc-decr.1 +1 -0
  153. data/ext/libcouchbase/doc/man/cbc-flush.1 +1 -0
  154. data/ext/libcouchbase/doc/man/cbc-hash.1 +1 -0
  155. data/ext/libcouchbase/doc/man/cbc-incr.1 +1 -0
  156. data/ext/libcouchbase/doc/man/cbc-lock.1 +1 -0
  157. data/ext/libcouchbase/doc/man/cbc-mcflush.1 +1 -0
  158. data/ext/libcouchbase/doc/man/cbc-mcversion.1 +1 -0
  159. data/ext/libcouchbase/doc/man/cbc-n1ql.1 +1 -0
  160. data/ext/libcouchbase/doc/man/cbc-n1qlback.1 +198 -0
  161. data/ext/libcouchbase/doc/man/cbc-observe.1 +1 -0
  162. data/ext/libcouchbase/doc/man/cbc-pillowfight.1 +499 -0
  163. data/ext/libcouchbase/doc/man/cbc-ping.1 +1 -0
  164. data/ext/libcouchbase/doc/man/cbc-rm.1 +1 -0
  165. data/ext/libcouchbase/doc/man/cbc-role-list.1 +1 -0
  166. data/ext/libcouchbase/doc/man/cbc-stats.1 +1 -0
  167. data/ext/libcouchbase/doc/man/cbc-subdoc.1 +494 -0
  168. data/ext/libcouchbase/doc/man/cbc-unlock.1 +1 -0
  169. data/ext/libcouchbase/doc/man/cbc-user-delete.1 +1 -0
  170. data/ext/libcouchbase/doc/man/cbc-user-list.1 +1 -0
  171. data/ext/libcouchbase/doc/man/cbc-user-upsert.1 +1 -0
  172. data/ext/libcouchbase/doc/man/cbc-verbosity.1 +1 -0
  173. data/ext/libcouchbase/doc/man/cbc-version.1 +1 -0
  174. data/ext/libcouchbase/doc/man/cbc-view.1 +1 -0
  175. data/ext/libcouchbase/doc/man/cbc-watch.1 +1 -0
  176. data/ext/libcouchbase/doc/man/cbc.1 +1035 -0
  177. data/ext/libcouchbase/doc/man/cbcrc.4 +71 -0
  178. data/ext/libcouchbase/doc/style.css +1162 -0
  179. data/ext/libcouchbase/example/CMakeLists.txt +52 -0
  180. data/ext/libcouchbase/example/README.markdown +47 -0
  181. data/ext/libcouchbase/example/analytics/.gitignore +1 -0
  182. data/ext/libcouchbase/example/analytics/analytics.c +158 -0
  183. data/ext/libcouchbase/example/analytics/build-queries.rb +34 -0
  184. data/ext/libcouchbase/example/analytics/cJSON.c +1 -0
  185. data/ext/libcouchbase/example/analytics/cJSON.h +1 -0
  186. data/ext/libcouchbase/example/analytics/queries/00-show-dataverse.json +5 -0
  187. data/ext/libcouchbase/example/analytics/queries/01-setup-dataset-breweries.json +6 -0
  188. data/ext/libcouchbase/example/analytics/queries/02-setup-dataset-beers.json +6 -0
  189. data/ext/libcouchbase/example/analytics/queries/03-initiate-shadow.json +6 -0
  190. data/ext/libcouchbase/example/analytics/queries/04-list-datasets.json +7 -0
  191. data/ext/libcouchbase/example/analytics/queries/05-count-breweries.json +5 -0
  192. data/ext/libcouchbase/example/analytics/queries/06-first-brewery.json +6 -0
  193. data/ext/libcouchbase/example/analytics/queries/07-key-based-lookup.json +6 -0
  194. data/ext/libcouchbase/example/analytics/queries/08-exact-match-lookup.json +7 -0
  195. data/ext/libcouchbase/example/analytics/queries/09-exact-match-lookup-different-shape.json +6 -0
  196. data/ext/libcouchbase/example/analytics/queries/10-other-query-filters.json +6 -0
  197. data/ext/libcouchbase/example/analytics/queries/11-equijoin.json +9 -0
  198. data/ext/libcouchbase/example/analytics/queries/12-equijoin-select-star.json +10 -0
  199. data/ext/libcouchbase/example/analytics/queries/13-ansi-join.json +8 -0
  200. data/ext/libcouchbase/example/analytics/queries/14-join-select-values.json +8 -0
  201. data/ext/libcouchbase/example/analytics/queries/15-nested-outer-join.json +7 -0
  202. data/ext/libcouchbase/example/analytics/queries/16-theta-join.json +8 -0
  203. data/ext/libcouchbase/example/analytics/queries/17-existential-quantification.json +9 -0
  204. data/ext/libcouchbase/example/analytics/queries/18-universal-quantification.json +7 -0
  205. data/ext/libcouchbase/example/analytics/queries/19-simple-aggregation.json +6 -0
  206. data/ext/libcouchbase/example/analytics/queries/20-simple-aggregation-unwrapped-value.json +6 -0
  207. data/ext/libcouchbase/example/analytics/queries/21-simple-aggregation-explicit.json +6 -0
  208. data/ext/libcouchbase/example/analytics/queries/22-grouping-and-aggregation.json +6 -0
  209. data/ext/libcouchbase/example/analytics/queries/23-grouping-and-aggregation-with-hint.json +7 -0
  210. data/ext/libcouchbase/example/analytics/queries/24-grouping-and-limits.json +7 -0
  211. data/ext/libcouchbase/example/analytics/queries/25-named-parameters.json +7 -0
  212. data/ext/libcouchbase/example/analytics/queries/26-positional-parameters.json +7 -0
  213. data/ext/libcouchbase/example/analytics/queries.h +113 -0
  214. data/ext/libcouchbase/example/crypto/.gitignore +2 -0
  215. data/ext/libcouchbase/example/crypto/Makefile +13 -0
  216. data/ext/libcouchbase/example/crypto/common_provider.c +26 -0
  217. data/ext/libcouchbase/example/crypto/common_provider.h +33 -0
  218. data/ext/libcouchbase/example/crypto/openssl_symmetric_decrypt.c +144 -0
  219. data/ext/libcouchbase/example/crypto/openssl_symmetric_encrypt.c +146 -0
  220. data/ext/libcouchbase/example/crypto/openssl_symmetric_provider.c +271 -0
  221. data/ext/libcouchbase/example/crypto/openssl_symmetric_provider.h +29 -0
  222. data/ext/libcouchbase/example/db/db.c +171 -0
  223. data/ext/libcouchbase/example/db/vb.c +227 -0
  224. data/ext/libcouchbase/example/fts/.gitignore +1 -0
  225. data/ext/libcouchbase/example/fts/build-queries.rb +33 -0
  226. data/ext/libcouchbase/example/fts/fts.c +142 -0
  227. data/ext/libcouchbase/example/fts/queries/00-simple-text-query.json +12 -0
  228. data/ext/libcouchbase/example/fts/queries/01-simple-text-query-on-non-default-index.json +9 -0
  229. data/ext/libcouchbase/example/fts/queries/02-simple-text-query-on-stored-field.json +13 -0
  230. data/ext/libcouchbase/example/fts/queries/03-match-query-with-facet.json +19 -0
  231. data/ext/libcouchbase/example/fts/queries/04-docid-query.json +11 -0
  232. data/ext/libcouchbase/example/fts/queries/05-unanalyzed-term-query-with-fuzziness-level-of-0.json +13 -0
  233. data/ext/libcouchbase/example/fts/queries/06-unanalyzed-term-query-with-fuzziness-level-of-2.json +14 -0
  234. data/ext/libcouchbase/example/fts/queries/07-match-phrase-query.json +13 -0
  235. data/ext/libcouchbase/example/fts/queries/08-phrase-query.json +16 -0
  236. data/ext/libcouchbase/example/fts/queries/09-query-string-query.json +9 -0
  237. data/ext/libcouchbase/example/fts/queries/10-conjunction-query.json +21 -0
  238. data/ext/libcouchbase/example/fts/queries/11-wild-card-query.json +13 -0
  239. data/ext/libcouchbase/example/fts/queries/12-numeric-range-query.json +11 -0
  240. data/ext/libcouchbase/example/fts/queries/13-regexp-query.json +13 -0
  241. data/ext/libcouchbase/example/fts/queries.h +61 -0
  242. data/ext/libcouchbase/example/instancepool/main.cc +112 -0
  243. data/ext/libcouchbase/example/instancepool/pool.cc +102 -0
  244. data/ext/libcouchbase/example/instancepool/pool.h +69 -0
  245. data/ext/libcouchbase/example/libeventdirect/main.c +222 -0
  246. data/ext/libcouchbase/example/mcc/mcc.cc +246 -0
  247. data/ext/libcouchbase/example/minimal/.gitignore +1 -0
  248. data/ext/libcouchbase/example/minimal/minimal.c +132 -0
  249. data/ext/libcouchbase/example/minimal/query.c +185 -0
  250. data/ext/libcouchbase/example/observe/durability.c +102 -0
  251. data/ext/libcouchbase/example/observe/observe.c +159 -0
  252. data/ext/libcouchbase/example/subdoc/subdoc-multi.cc +143 -0
  253. data/ext/libcouchbase/example/subdoc/subdoc-simple.cc +201 -0
  254. data/ext/libcouchbase/example/subdoc/subdoc-xattrs.c +286 -0
  255. data/ext/libcouchbase/example/tick/tick.c +119 -0
  256. data/ext/libcouchbase/example/tracing/.gitignore +2 -0
  257. data/ext/libcouchbase/example/tracing/Makefile +8 -0
  258. data/ext/libcouchbase/example/tracing/cJSON.c +1 -0
  259. data/ext/libcouchbase/example/tracing/cJSON.h +1 -0
  260. data/ext/libcouchbase/example/tracing/tracing.c +439 -0
  261. data/ext/libcouchbase/example/tracing/views.c +444 -0
  262. data/ext/libcouchbase/example/users/README +48 -0
  263. data/ext/libcouchbase/example/users/users.c +147 -0
  264. data/ext/libcouchbase/example/views/views-example.cc +83 -0
  265. data/ext/libcouchbase/include/libcouchbase/_cxxwrap.h +150 -0
  266. data/ext/libcouchbase/include/libcouchbase/api-legacy.h +1689 -0
  267. data/ext/libcouchbase/include/libcouchbase/api3.h +2 -0
  268. data/ext/libcouchbase/include/libcouchbase/assert.h +44 -0
  269. data/ext/libcouchbase/include/libcouchbase/auth.h +297 -0
  270. data/ext/libcouchbase/include/libcouchbase/cbft.h +151 -0
  271. data/ext/libcouchbase/include/libcouchbase/cntl-private.h +319 -0
  272. data/ext/libcouchbase/include/libcouchbase/cntl.h +1418 -0
  273. data/ext/libcouchbase/include/libcouchbase/configuration.h.in +29 -0
  274. data/ext/libcouchbase/include/libcouchbase/couchbase.h +4089 -0
  275. data/ext/libcouchbase/include/libcouchbase/crypto.h +306 -0
  276. data/ext/libcouchbase/include/libcouchbase/deprecated.h +312 -0
  277. data/ext/libcouchbase/include/libcouchbase/error.h +680 -0
  278. data/ext/libcouchbase/include/libcouchbase/http.h +1 -0
  279. data/ext/libcouchbase/include/libcouchbase/iops.h +1053 -0
  280. data/ext/libcouchbase/include/libcouchbase/ixmgmt.h +263 -0
  281. data/ext/libcouchbase/include/libcouchbase/kvbuf.h +137 -0
  282. data/ext/libcouchbase/include/libcouchbase/metrics.h +79 -0
  283. data/ext/libcouchbase/include/libcouchbase/n1ql.h +539 -0
  284. data/ext/libcouchbase/include/libcouchbase/pktfwd.h +270 -0
  285. data/ext/libcouchbase/include/libcouchbase/plugins/io/bsdio-inl.c +370 -0
  286. data/ext/libcouchbase/include/libcouchbase/plugins/io/wsaerr-inl.c +76 -0
  287. data/ext/libcouchbase/include/libcouchbase/plugins/io/wsaerr.h +199 -0
  288. data/ext/libcouchbase/include/libcouchbase/subdoc.h +347 -0
  289. data/ext/libcouchbase/include/libcouchbase/sysdefs.h +98 -0
  290. data/ext/libcouchbase/include/libcouchbase/tracing.h +437 -0
  291. data/ext/libcouchbase/include/libcouchbase/vbucket.h +680 -0
  292. data/ext/libcouchbase/include/libcouchbase/views.h +357 -0
  293. data/ext/libcouchbase/include/libcouchbase/visibility.h +66 -0
  294. data/ext/libcouchbase/include/memcached/COPYING +30 -0
  295. data/ext/libcouchbase/include/memcached/README +10 -0
  296. data/ext/libcouchbase/include/memcached/protocol_binary.h +885 -0
  297. data/ext/libcouchbase/packaging/README +7 -0
  298. data/ext/libcouchbase/packaging/abicheck/.gitignore +4 -0
  299. data/ext/libcouchbase/packaging/abicheck/Makefile +17 -0
  300. data/ext/libcouchbase/packaging/abicheck/README.md +27 -0
  301. data/ext/libcouchbase/packaging/abicheck/template.xml +3 -0
  302. data/ext/libcouchbase/packaging/deb/compat +1 -0
  303. data/ext/libcouchbase/packaging/deb/control +72 -0
  304. data/ext/libcouchbase/packaging/deb/copyright +10 -0
  305. data/ext/libcouchbase/packaging/deb/libcouchbase-dev.docs +3 -0
  306. data/ext/libcouchbase/packaging/deb/package.mk +31 -0
  307. data/ext/libcouchbase/packaging/deb/rules +46 -0
  308. data/ext/libcouchbase/packaging/deb/source/format +1 -0
  309. data/ext/libcouchbase/packaging/distinfo/README +1 -0
  310. data/ext/libcouchbase/packaging/distinfo/distinfo.cmake.in +4 -0
  311. data/ext/libcouchbase/packaging/dllversion.rc.in +39 -0
  312. data/ext/libcouchbase/packaging/libcouchbase.pc.in +10 -0
  313. data/ext/libcouchbase/packaging/nuget/libcouchbase.autopkg +76 -0
  314. data/ext/libcouchbase/packaging/parse-git-describe.pl +166 -0
  315. data/ext/libcouchbase/packaging/rpm/libcouchbase.spec.in +101 -0
  316. data/ext/libcouchbase/packaging/rpm/package.mk +40 -0
  317. data/ext/libcouchbase/plugins/io/iocp/CMakeLists.txt +9 -0
  318. data/ext/libcouchbase/plugins/io/iocp/iocp_iops.c +467 -0
  319. data/ext/libcouchbase/plugins/io/iocp/iocp_iops.h +217 -0
  320. data/ext/libcouchbase/plugins/io/iocp/iocp_loop.c +295 -0
  321. data/ext/libcouchbase/plugins/io/iocp/iocp_timer.c +79 -0
  322. data/ext/libcouchbase/plugins/io/iocp/iocp_util.c +229 -0
  323. data/ext/libcouchbase/plugins/io/libev/CMakeLists.txt +31 -0
  324. data/ext/libcouchbase/plugins/io/libev/libev_io_opts.h +66 -0
  325. data/ext/libcouchbase/plugins/io/libev/plugin-libev.c +289 -0
  326. data/ext/libcouchbase/plugins/io/libevent/CMakeLists.txt +31 -0
  327. data/ext/libcouchbase/plugins/io/libevent/libevent_io_opts.h +67 -0
  328. data/ext/libcouchbase/plugins/io/libevent/plugin-libevent.c +292 -0
  329. data/ext/libcouchbase/plugins/io/libuv/CMakeLists.txt +44 -0
  330. data/ext/libcouchbase/plugins/io/libuv/libuv_compat.h +218 -0
  331. data/ext/libcouchbase/plugins/io/libuv/libuv_io_opts.h +118 -0
  332. data/ext/libcouchbase/plugins/io/libuv/plugin-internal.h +155 -0
  333. data/ext/libcouchbase/plugins/io/libuv/plugin-libuv.c +709 -0
  334. data/ext/libcouchbase/plugins/io/select/CMakeLists.txt +13 -0
  335. data/ext/libcouchbase/plugins/io/select/plugin-select.c +451 -0
  336. data/ext/libcouchbase/plugins/io/select/select_io_opts.h +39 -0
  337. data/ext/libcouchbase/src/README.md +101 -0
  338. data/ext/libcouchbase/src/aspend.h +105 -0
  339. data/ext/libcouchbase/src/auth-priv.h +85 -0
  340. data/ext/libcouchbase/src/auth.cc +146 -0
  341. data/ext/libcouchbase/src/bootstrap.cc +263 -0
  342. data/ext/libcouchbase/src/bootstrap.h +149 -0
  343. data/ext/libcouchbase/src/bucketconfig/bc_cccp.cc +450 -0
  344. data/ext/libcouchbase/src/bucketconfig/bc_file.cc +281 -0
  345. data/ext/libcouchbase/src/bucketconfig/bc_http.cc +527 -0
  346. data/ext/libcouchbase/src/bucketconfig/bc_http.h +107 -0
  347. data/ext/libcouchbase/src/bucketconfig/bc_static.cc +150 -0
  348. data/ext/libcouchbase/src/bucketconfig/clconfig.h +700 -0
  349. data/ext/libcouchbase/src/bucketconfig/confmon.cc +403 -0
  350. data/ext/libcouchbase/src/callbacks.c +380 -0
  351. data/ext/libcouchbase/src/cbft.cc +253 -0
  352. data/ext/libcouchbase/src/cntl.cc +1057 -0
  353. data/ext/libcouchbase/src/config_static.h +176 -0
  354. data/ext/libcouchbase/src/connspec.cc +555 -0
  355. data/ext/libcouchbase/src/connspec.h +155 -0
  356. data/ext/libcouchbase/src/crypto.cc +399 -0
  357. data/ext/libcouchbase/src/ctx-log-inl.h +44 -0
  358. data/ext/libcouchbase/src/dns-srv.cc +146 -0
  359. data/ext/libcouchbase/src/dump.cc +103 -0
  360. data/ext/libcouchbase/src/errmap.cc +173 -0
  361. data/ext/libcouchbase/src/errmap.h +271 -0
  362. data/ext/libcouchbase/src/getconfig.cc +72 -0
  363. data/ext/libcouchbase/src/gethrtime.c +109 -0
  364. data/ext/libcouchbase/src/handler.cc +1101 -0
  365. data/ext/libcouchbase/src/hashtable.c +75 -0
  366. data/ext/libcouchbase/src/hdr_timings.c +92 -0
  367. data/ext/libcouchbase/src/hostlist.cc +293 -0
  368. data/ext/libcouchbase/src/hostlist.h +160 -0
  369. data/ext/libcouchbase/src/http/http-priv.h +326 -0
  370. data/ext/libcouchbase/src/http/http.cc +672 -0
  371. data/ext/libcouchbase/src/http/http.h +1 -0
  372. data/ext/libcouchbase/src/http/http_io.cc +316 -0
  373. data/ext/libcouchbase/src/instance.cc +917 -0
  374. data/ext/libcouchbase/src/internal.h +285 -0
  375. data/ext/libcouchbase/src/iofactory.c +575 -0
  376. data/ext/libcouchbase/src/jsparse/parser.cc +445 -0
  377. data/ext/libcouchbase/src/jsparse/parser.h +159 -0
  378. data/ext/libcouchbase/src/lcbht/lcbht.cc +177 -0
  379. data/ext/libcouchbase/src/lcbht/lcbht.h +210 -0
  380. data/ext/libcouchbase/src/lcbio/connect.cc +603 -0
  381. data/ext/libcouchbase/src/lcbio/connect.h +400 -0
  382. data/ext/libcouchbase/src/lcbio/ctx.c +658 -0
  383. data/ext/libcouchbase/src/lcbio/ctx.h +405 -0
  384. data/ext/libcouchbase/src/lcbio/iotable.c +290 -0
  385. data/ext/libcouchbase/src/lcbio/iotable.h +169 -0
  386. data/ext/libcouchbase/src/lcbio/ioutils.cc +356 -0
  387. data/ext/libcouchbase/src/lcbio/ioutils.h +144 -0
  388. data/ext/libcouchbase/src/lcbio/lcbio.h +51 -0
  389. data/ext/libcouchbase/src/lcbio/manager.cc +579 -0
  390. data/ext/libcouchbase/src/lcbio/manager.h +195 -0
  391. data/ext/libcouchbase/src/lcbio/protoctx.c +84 -0
  392. data/ext/libcouchbase/src/lcbio/rw-inl.h +137 -0
  393. data/ext/libcouchbase/src/lcbio/ssl.h +159 -0
  394. data/ext/libcouchbase/src/lcbio/timer-cxx.h +87 -0
  395. data/ext/libcouchbase/src/lcbio/timer-ng.h +179 -0
  396. data/ext/libcouchbase/src/lcbio/timer.c +132 -0
  397. data/ext/libcouchbase/src/legacy.c +431 -0
  398. data/ext/libcouchbase/src/list.c +144 -0
  399. data/ext/libcouchbase/src/list.h +127 -0
  400. data/ext/libcouchbase/src/logging.c +244 -0
  401. data/ext/libcouchbase/src/logging.h +88 -0
  402. data/ext/libcouchbase/src/mc/compress.cc +171 -0
  403. data/ext/libcouchbase/src/mc/compress.h +56 -0
  404. data/ext/libcouchbase/src/mc/forward.c +186 -0
  405. data/ext/libcouchbase/src/mc/forward.h +90 -0
  406. data/ext/libcouchbase/src/mc/iovcursor-inl.h +279 -0
  407. data/ext/libcouchbase/src/mc/iovcursor.h +66 -0
  408. data/ext/libcouchbase/src/mc/mcreq-flush-inl.h +115 -0
  409. data/ext/libcouchbase/src/mc/mcreq.c +983 -0
  410. data/ext/libcouchbase/src/mc/mcreq.h +1015 -0
  411. data/ext/libcouchbase/src/mcserver/mcserver.cc +1055 -0
  412. data/ext/libcouchbase/src/mcserver/mcserver.h +221 -0
  413. data/ext/libcouchbase/src/mcserver/negotiate.cc +757 -0
  414. data/ext/libcouchbase/src/mcserver/negotiate.h +128 -0
  415. data/ext/libcouchbase/src/mctx-helper.h +62 -0
  416. data/ext/libcouchbase/src/metrics.cc +132 -0
  417. data/ext/libcouchbase/src/n1ql/ixmgmt.cc +857 -0
  418. data/ext/libcouchbase/src/n1ql/n1ql-internal.h +22 -0
  419. data/ext/libcouchbase/src/n1ql/n1ql.cc +830 -0
  420. data/ext/libcouchbase/src/n1ql/params.cc +260 -0
  421. data/ext/libcouchbase/src/netbuf/netbuf-defs.h +89 -0
  422. data/ext/libcouchbase/src/netbuf/netbuf-mblock.h +235 -0
  423. data/ext/libcouchbase/src/netbuf/netbuf.c +929 -0
  424. data/ext/libcouchbase/src/netbuf/netbuf.h +452 -0
  425. data/ext/libcouchbase/src/newconfig.cc +365 -0
  426. data/ext/libcouchbase/src/nodeinfo.cc +184 -0
  427. data/ext/libcouchbase/src/operations/cbflush.cc +63 -0
  428. data/ext/libcouchbase/src/operations/counter.cc +117 -0
  429. data/ext/libcouchbase/src/operations/durability-cas.cc +251 -0
  430. data/ext/libcouchbase/src/operations/durability-seqno.cc +170 -0
  431. data/ext/libcouchbase/src/operations/durability.cc +668 -0
  432. data/ext/libcouchbase/src/operations/durability_internal.h +306 -0
  433. data/ext/libcouchbase/src/operations/get.cc +409 -0
  434. data/ext/libcouchbase/src/operations/observe-seqno.cc +94 -0
  435. data/ext/libcouchbase/src/operations/observe.cc +367 -0
  436. data/ext/libcouchbase/src/operations/ping.cc +496 -0
  437. data/ext/libcouchbase/src/operations/pktfwd.cc +86 -0
  438. data/ext/libcouchbase/src/operations/remove.cc +84 -0
  439. data/ext/libcouchbase/src/operations/stats.cc +459 -0
  440. data/ext/libcouchbase/src/operations/store.cc +358 -0
  441. data/ext/libcouchbase/src/operations/subdoc.cc +614 -0
  442. data/ext/libcouchbase/src/operations/touch.cc +84 -0
  443. data/ext/libcouchbase/src/packetutils.h +388 -0
  444. data/ext/libcouchbase/src/probes.d +182 -0
  445. data/ext/libcouchbase/src/rdb/bigalloc.c +225 -0
  446. data/ext/libcouchbase/src/rdb/bigalloc.h +73 -0
  447. data/ext/libcouchbase/src/rdb/chunkalloc.c +174 -0
  448. data/ext/libcouchbase/src/rdb/libcalloc.c +94 -0
  449. data/ext/libcouchbase/src/rdb/rope.c +419 -0
  450. data/ext/libcouchbase/src/rdb/rope.h +488 -0
  451. data/ext/libcouchbase/src/retrychk.cc +113 -0
  452. data/ext/libcouchbase/src/retryq.cc +458 -0
  453. data/ext/libcouchbase/src/retryq.h +170 -0
  454. data/ext/libcouchbase/src/ringbuffer.c +442 -0
  455. data/ext/libcouchbase/src/ringbuffer.h +100 -0
  456. data/ext/libcouchbase/src/rnd.cc +61 -0
  457. data/ext/libcouchbase/src/rnd.h +39 -0
  458. data/ext/libcouchbase/src/settings.c +125 -0
  459. data/ext/libcouchbase/src/settings.h +273 -0
  460. data/ext/libcouchbase/src/sllist-inl.h +197 -0
  461. data/ext/libcouchbase/src/sllist.h +76 -0
  462. data/ext/libcouchbase/src/ssl/CMakeLists.txt +11 -0
  463. data/ext/libcouchbase/src/ssl/ssl_c.c +442 -0
  464. data/ext/libcouchbase/src/ssl/ssl_common.c +478 -0
  465. data/ext/libcouchbase/src/ssl/ssl_e.c +421 -0
  466. data/ext/libcouchbase/src/ssl/ssl_iot_common.h +182 -0
  467. data/ext/libcouchbase/src/strcodecs/base64.c +307 -0
  468. data/ext/libcouchbase/src/strcodecs/strcodecs.h +302 -0
  469. data/ext/libcouchbase/src/timings.c +207 -0
  470. data/ext/libcouchbase/src/trace.h +117 -0
  471. data/ext/libcouchbase/src/tracing/span.cc +421 -0
  472. data/ext/libcouchbase/src/tracing/threshold_logging_tracer.cc +213 -0
  473. data/ext/libcouchbase/src/tracing/tracer.cc +53 -0
  474. data/ext/libcouchbase/src/tracing/tracing-internal.h +198 -0
  475. data/ext/libcouchbase/src/utilities.c +176 -0
  476. data/ext/libcouchbase/src/vbucket/CMakeLists.txt +2 -0
  477. data/ext/libcouchbase/src/vbucket/aliases.h +35 -0
  478. data/ext/libcouchbase/src/vbucket/crc32.h +83 -0
  479. data/ext/libcouchbase/src/vbucket/hash.h +30 -0
  480. data/ext/libcouchbase/src/vbucket/json-inl.h +112 -0
  481. data/ext/libcouchbase/src/vbucket/ketama.c +66 -0
  482. data/ext/libcouchbase/src/vbucket/rfc1321/global.h +32 -0
  483. data/ext/libcouchbase/src/vbucket/rfc1321/md5.h +35 -0
  484. data/ext/libcouchbase/src/vbucket/rfc1321/md5c-inl.h +335 -0
  485. data/ext/libcouchbase/src/vbucket/vbucket.c +1735 -0
  486. data/ext/libcouchbase/src/views/docreq.cc +213 -0
  487. data/ext/libcouchbase/src/views/docreq.h +94 -0
  488. data/ext/libcouchbase/src/views/viewreq.cc +381 -0
  489. data/ext/libcouchbase/src/views/viewreq.h +87 -0
  490. data/ext/libcouchbase/src/wait.cc +156 -0
  491. data/ext/libcouchbase/tests/CMakeLists.txt +149 -0
  492. data/ext/libcouchbase/tests/basic/t_base64.cc +109 -0
  493. data/ext/libcouchbase/tests/basic/t_ccbc103.cc +95 -0
  494. data/ext/libcouchbase/tests/basic/t_connstr.cc +456 -0
  495. data/ext/libcouchbase/tests/basic/t_creds.cc +96 -0
  496. data/ext/libcouchbase/tests/basic/t_ctlcodes.cc +92 -0
  497. data/ext/libcouchbase/tests/basic/t_host.cc +210 -0
  498. data/ext/libcouchbase/tests/basic/t_jsparse.cc +82 -0
  499. data/ext/libcouchbase/tests/basic/t_jsparse.h +589 -0
  500. data/ext/libcouchbase/tests/basic/t_list.cc +155 -0
  501. data/ext/libcouchbase/tests/basic/t_logger.cc +65 -0
  502. data/ext/libcouchbase/tests/basic/t_misc.cc +24 -0
  503. data/ext/libcouchbase/tests/basic/t_n1qlstrings.cc +17 -0
  504. data/ext/libcouchbase/tests/basic/t_netbuf.cc +446 -0
  505. data/ext/libcouchbase/tests/basic/t_packet.cc +215 -0
  506. data/ext/libcouchbase/tests/basic/t_ringbuffer.cc +278 -0
  507. data/ext/libcouchbase/tests/basic/t_scram.cc +514 -0
  508. data/ext/libcouchbase/tests/basic/t_slist.cc +429 -0
  509. data/ext/libcouchbase/tests/basic/t_strerror.cc +64 -0
  510. data/ext/libcouchbase/tests/basic/t_urlencode.cc +132 -0
  511. data/ext/libcouchbase/tests/check-all.cc +612 -0
  512. data/ext/libcouchbase/tests/htparse/t_basic.cc +173 -0
  513. data/ext/libcouchbase/tests/ioserver/connection.cc +166 -0
  514. data/ext/libcouchbase/tests/ioserver/future.cc +50 -0
  515. data/ext/libcouchbase/tests/ioserver/ioserver.cc +117 -0
  516. data/ext/libcouchbase/tests/ioserver/ioserver.h +478 -0
  517. data/ext/libcouchbase/tests/ioserver/socket.cc +88 -0
  518. data/ext/libcouchbase/tests/ioserver/ssl_connection.cc +145 -0
  519. data/ext/libcouchbase/tests/ioserver/threads-pthreads.cc +119 -0
  520. data/ext/libcouchbase/tests/ioserver/threads-win32.cc +117 -0
  521. data/ext/libcouchbase/tests/ioserver/threads.h +66 -0
  522. data/ext/libcouchbase/tests/iotests/iotests.h +15 -0
  523. data/ext/libcouchbase/tests/iotests/mock-environment.cc +632 -0
  524. data/ext/libcouchbase/tests/iotests/mock-environment.h +480 -0
  525. data/ext/libcouchbase/tests/iotests/mock-unit-test.cc +67 -0
  526. data/ext/libcouchbase/tests/iotests/mock-unit-test.h +61 -0
  527. data/ext/libcouchbase/tests/iotests/serverparams.h +76 -0
  528. data/ext/libcouchbase/tests/iotests/t_arithmetic.cc +143 -0
  529. data/ext/libcouchbase/tests/iotests/t_behavior.cc +220 -0
  530. data/ext/libcouchbase/tests/iotests/t_configcache.cc +117 -0
  531. data/ext/libcouchbase/tests/iotests/t_confmon.cc +223 -0
  532. data/ext/libcouchbase/tests/iotests/t_durability.cc +1108 -0
  533. data/ext/libcouchbase/tests/iotests/t_eerrs.cc +121 -0
  534. data/ext/libcouchbase/tests/iotests/t_errmap.cc +181 -0
  535. data/ext/libcouchbase/tests/iotests/t_forward.cc +118 -0
  536. data/ext/libcouchbase/tests/iotests/t_get.cc +512 -0
  537. data/ext/libcouchbase/tests/iotests/t_http.cc +438 -0
  538. data/ext/libcouchbase/tests/iotests/t_iops.cc +175 -0
  539. data/ext/libcouchbase/tests/iotests/t_lock.cc +274 -0
  540. data/ext/libcouchbase/tests/iotests/t_misc.cc +777 -0
  541. data/ext/libcouchbase/tests/iotests/t_mutate.cc +609 -0
  542. data/ext/libcouchbase/tests/iotests/t_n1ql.cc +270 -0
  543. data/ext/libcouchbase/tests/iotests/t_netfail.cc +778 -0
  544. data/ext/libcouchbase/tests/iotests/t_obseqno.cc +156 -0
  545. data/ext/libcouchbase/tests/iotests/t_regression.cc +321 -0
  546. data/ext/libcouchbase/tests/iotests/t_sched.cc +87 -0
  547. data/ext/libcouchbase/tests/iotests/t_serverops.cc +231 -0
  548. data/ext/libcouchbase/tests/iotests/t_smoke.cc +528 -0
  549. data/ext/libcouchbase/tests/iotests/t_snappy.cc +316 -0
  550. data/ext/libcouchbase/tests/iotests/t_subdoc.cc +857 -0
  551. data/ext/libcouchbase/tests/iotests/t_syncmode.cc +64 -0
  552. data/ext/libcouchbase/tests/iotests/t_views.cc +417 -0
  553. data/ext/libcouchbase/tests/iotests/testutil.cc +251 -0
  554. data/ext/libcouchbase/tests/iotests/testutil.h +163 -0
  555. data/ext/libcouchbase/tests/mc/mctest.h +119 -0
  556. data/ext/libcouchbase/tests/mc/pktmaker.h +101 -0
  557. data/ext/libcouchbase/tests/mc/t_alloc.cc +269 -0
  558. data/ext/libcouchbase/tests/mc/t_context.cc +100 -0
  559. data/ext/libcouchbase/tests/mc/t_flush.cc +185 -0
  560. data/ext/libcouchbase/tests/mc/t_forward.cc +239 -0
  561. data/ext/libcouchbase/tests/mc/t_ioflush.cc +102 -0
  562. data/ext/libcouchbase/tests/mc/t_iovcursor.cc +173 -0
  563. data/ext/libcouchbase/tests/mocksupport/procutil.c +305 -0
  564. data/ext/libcouchbase/tests/mocksupport/procutil.h +89 -0
  565. data/ext/libcouchbase/tests/mocksupport/server.c +391 -0
  566. data/ext/libcouchbase/tests/mocksupport/server.h +72 -0
  567. data/ext/libcouchbase/tests/mocksupport/timeout.c +69 -0
  568. data/ext/libcouchbase/tests/nonio_tests.cc +23 -0
  569. data/ext/libcouchbase/tests/rdb/rdbtest.h +133 -0
  570. data/ext/libcouchbase/tests/rdb/t_basic.cc +128 -0
  571. data/ext/libcouchbase/tests/rdb/t_bigalloc.cc +93 -0
  572. data/ext/libcouchbase/tests/rdb/t_refs.cc +112 -0
  573. data/ext/libcouchbase/tests/socktests/socktest.cc +344 -0
  574. data/ext/libcouchbase/tests/socktests/socktest.h +447 -0
  575. data/ext/libcouchbase/tests/socktests/t_basic.cc +143 -0
  576. data/ext/libcouchbase/tests/socktests/t_ctx.cc +73 -0
  577. data/ext/libcouchbase/tests/socktests/t_manager.cc +159 -0
  578. data/ext/libcouchbase/tests/socktests/t_putex.cc +256 -0
  579. data/ext/libcouchbase/tests/socktests/t_read.cc +187 -0
  580. data/ext/libcouchbase/tests/socktests/t_reentrant.cc +143 -0
  581. data/ext/libcouchbase/tests/socktests/t_ssl.cc +80 -0
  582. data/ext/libcouchbase/tests/socktests/t_write.cc +95 -0
  583. data/ext/libcouchbase/tests/start_mock.bat +15 -0
  584. data/ext/libcouchbase/tests/start_mock.sh +42 -0
  585. data/ext/libcouchbase/tests/unit_tests.cc +43 -0
  586. data/ext/libcouchbase/tests/vbucket/confdata/bad.json +101 -0
  587. data/ext/libcouchbase/tests/vbucket/confdata/full_25.json +363 -0
  588. data/ext/libcouchbase/tests/vbucket/confdata/ketama_expected.json +2562 -0
  589. data/ext/libcouchbase/tests/vbucket/confdata/map_node_present_nodesext_missing_nodes.json +94 -0
  590. data/ext/libcouchbase/tests/vbucket/confdata/memd_25.json +90 -0
  591. data/ext/libcouchbase/tests/vbucket/confdata/memd_30.json +1 -0
  592. data/ext/libcouchbase/tests/vbucket/confdata/memd_45.json +1 -0
  593. data/ext/libcouchbase/tests/vbucket/confdata/memd_ketama_config.json +31 -0
  594. data/ext/libcouchbase/tests/vbucket/confdata/terse_25.json +291 -0
  595. data/ext/libcouchbase/tests/vbucket/confdata/terse_30.json +1 -0
  596. data/ext/libcouchbase/tests/vbucket/t_config.cc +386 -0
  597. data/ext/libcouchbase/tools/CMakeLists.txt +80 -0
  598. data/ext/libcouchbase/tools/cbc-handlers.h +636 -0
  599. data/ext/libcouchbase/tools/cbc-n1qlback.cc +496 -0
  600. data/ext/libcouchbase/tools/cbc-pillowfight.cc +1230 -0
  601. data/ext/libcouchbase/tools/cbc-proxy.cc +534 -0
  602. data/ext/libcouchbase/tools/cbc-subdoc.cc +825 -0
  603. data/ext/libcouchbase/tools/cbc.cc +1928 -0
  604. data/ext/libcouchbase/tools/common/histogram.cc +44 -0
  605. data/ext/libcouchbase/tools/common/histogram.h +23 -0
  606. data/ext/libcouchbase/tools/common/options.cc +451 -0
  607. data/ext/libcouchbase/tools/common/options.h +90 -0
  608. data/ext/libcouchbase/tools/docgen/docgen.h +495 -0
  609. data/ext/libcouchbase/tools/docgen/loc.h +211 -0
  610. data/ext/libcouchbase/tools/docgen/placeholders.h +211 -0
  611. data/ext/libcouchbase/tools/docgen/seqgen.h +122 -0
  612. data/ext/libcouchbase/tools/extract-packets.rb +110 -0
  613. data/ext/libcouchbase/tools/linenoise/linenoise.c +1199 -0
  614. data/ext/libcouchbase/tools/linenoise/linenoise.h +73 -0
  615. data/lib/mt-libcouchbase/bucket.rb +825 -0
  616. data/lib/mt-libcouchbase/callbacks.rb +69 -0
  617. data/lib/mt-libcouchbase/connection.rb +896 -0
  618. data/lib/mt-libcouchbase/design_docs.rb +92 -0
  619. data/lib/mt-libcouchbase/error.rb +68 -0
  620. data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdbase.rb +23 -0
  621. data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdcounter.rb +36 -0
  622. data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdendure.rb +26 -0
  623. data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdfts.rb +24 -0
  624. data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdget.rb +30 -0
  625. data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdgetreplica.rb +49 -0
  626. data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdhttp.rb +58 -0
  627. data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdn1ql.rb +40 -0
  628. data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdobseqno.rb +33 -0
  629. data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdobserve.rb +30 -0
  630. data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdstore.rb +40 -0
  631. data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdstoredur.rb +45 -0
  632. data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdsubdoc.rb +61 -0
  633. data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdverbosity.rb +29 -0
  634. data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdviewquery.rb +61 -0
  635. data/lib/mt-libcouchbase/ext/mt-libcouchbase/contigbuf.rb +14 -0
  636. data/lib/mt-libcouchbase/ext/mt-libcouchbase/create_st.rb +15 -0
  637. data/lib/mt-libcouchbase/ext/mt-libcouchbase/create_st0.rb +23 -0
  638. data/lib/mt-libcouchbase/ext/mt-libcouchbase/create_st1.rb +26 -0
  639. data/lib/mt-libcouchbase/ext/mt-libcouchbase/create_st2.rb +32 -0
  640. data/lib/mt-libcouchbase/ext/mt-libcouchbase/create_st3.rb +26 -0
  641. data/lib/mt-libcouchbase/ext/mt-libcouchbase/crst_u.rb +20 -0
  642. data/lib/mt-libcouchbase/ext/mt-libcouchbase/durability_opts_st_v.rb +11 -0
  643. data/lib/mt-libcouchbase/ext/mt-libcouchbase/durability_opts_t.rb +14 -0
  644. data/lib/mt-libcouchbase/ext/mt-libcouchbase/durabilityopt_sv0.rb +63 -0
  645. data/lib/mt-libcouchbase/ext/mt-libcouchbase/enums.rb +1007 -0
  646. data/lib/mt-libcouchbase/ext/mt-libcouchbase/fragbuf.rb +18 -0
  647. data/lib/mt-libcouchbase/ext/mt-libcouchbase/ftshandle.rb +7 -0
  648. data/lib/mt-libcouchbase/ext/mt-libcouchbase/histogram.rb +34 -0
  649. data/lib/mt-libcouchbase/ext/mt-libcouchbase/http_request_t.rb +7 -0
  650. data/lib/mt-libcouchbase/ext/mt-libcouchbase/keybuf.rb +20 -0
  651. data/lib/mt-libcouchbase/ext/mt-libcouchbase/multicmd_ctx.rb +30 -0
  652. data/lib/mt-libcouchbase/ext/mt-libcouchbase/mutation_token.rb +17 -0
  653. data/lib/mt-libcouchbase/ext/mt-libcouchbase/n1qlhandle.rb +7 -0
  654. data/lib/mt-libcouchbase/ext/mt-libcouchbase/n1qlparams.rb +7 -0
  655. data/lib/mt-libcouchbase/ext/mt-libcouchbase/respbase.rb +29 -0
  656. data/lib/mt-libcouchbase/ext/mt-libcouchbase/respcounter.rb +32 -0
  657. data/lib/mt-libcouchbase/ext/mt-libcouchbase/respendure.rb +49 -0
  658. data/lib/mt-libcouchbase/ext/mt-libcouchbase/respfts.rb +40 -0
  659. data/lib/mt-libcouchbase/ext/mt-libcouchbase/respget.rb +44 -0
  660. data/lib/mt-libcouchbase/ext/mt-libcouchbase/resphttp.rb +48 -0
  661. data/lib/mt-libcouchbase/ext/mt-libcouchbase/respmcversion.rb +38 -0
  662. data/lib/mt-libcouchbase/ext/mt-libcouchbase/respn1ql.rb +41 -0
  663. data/lib/mt-libcouchbase/ext/mt-libcouchbase/respobseqno.rb +52 -0
  664. data/lib/mt-libcouchbase/ext/mt-libcouchbase/respobserve.rb +41 -0
  665. data/lib/mt-libcouchbase/ext/mt-libcouchbase/respserverbase.rb +32 -0
  666. data/lib/mt-libcouchbase/ext/mt-libcouchbase/respstats.rb +38 -0
  667. data/lib/mt-libcouchbase/ext/mt-libcouchbase/respstore.rb +32 -0
  668. data/lib/mt-libcouchbase/ext/mt-libcouchbase/respstoredur.rb +38 -0
  669. data/lib/mt-libcouchbase/ext/mt-libcouchbase/respsubdoc.rb +35 -0
  670. data/lib/mt-libcouchbase/ext/mt-libcouchbase/respviewquery.rb +67 -0
  671. data/lib/mt-libcouchbase/ext/mt-libcouchbase/sdentry.rb +22 -0
  672. data/lib/mt-libcouchbase/ext/mt-libcouchbase/sdspec.rb +31 -0
  673. data/lib/mt-libcouchbase/ext/mt-libcouchbase/t.rb +7 -0
  674. data/lib/mt-libcouchbase/ext/mt-libcouchbase/valbuf.rb +22 -0
  675. data/lib/mt-libcouchbase/ext/mt-libcouchbase/valbuf_u_buf.rb +14 -0
  676. data/lib/mt-libcouchbase/ext/mt-libcouchbase/viewhandle.rb +7 -0
  677. data/lib/mt-libcouchbase/ext/mt-libcouchbase.rb +1175 -0
  678. data/lib/mt-libcouchbase/ext/mt-libcouchbase_libuv.rb +22 -0
  679. data/lib/mt-libcouchbase/ext/tasks.rb +39 -0
  680. data/lib/mt-libcouchbase/n1ql.rb +80 -0
  681. data/lib/mt-libcouchbase/query_full_text.rb +147 -0
  682. data/lib/mt-libcouchbase/query_n1ql.rb +123 -0
  683. data/lib/mt-libcouchbase/query_view.rb +135 -0
  684. data/lib/mt-libcouchbase/results_fiber.rb +281 -0
  685. data/lib/mt-libcouchbase/results_native.rb +220 -0
  686. data/lib/mt-libcouchbase/subdoc_request.rb +139 -0
  687. data/lib/mt-libcouchbase/version.rb +5 -0
  688. data/lib/mt-libcouchbase.rb +40 -0
  689. data/mt-libcouchbase.gemspec +68 -0
  690. data/spec/bucket_spec.rb +290 -0
  691. data/spec/connection_spec.rb +257 -0
  692. data/spec/design_docs_spec.rb +31 -0
  693. data/spec/error_spec.rb +26 -0
  694. data/spec/fts_spec.rb +135 -0
  695. data/spec/n1ql_spec.rb +260 -0
  696. data/spec/results_libuv_spec.rb +244 -0
  697. data/spec/results_native_spec.rb +259 -0
  698. data/spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/design.json +1 -0
  699. data/spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/node-127.0.0.1%3A8091/data-0000.cbb +0 -0
  700. data/spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/node-127.0.0.1%3A8091/failover.json +1 -0
  701. data/spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/node-127.0.0.1%3A8091/meta.json +1 -0
  702. data/spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/node-127.0.0.1%3A8091/seqno.json +1 -0
  703. data/spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/node-127.0.0.1%3A8091/snapshot_markers.json +1 -0
  704. data/spec/subdoc_spec.rb +192 -0
  705. data/spec/view_spec.rb +201 -0
  706. data/windows_build.md +36 -0
  707. metadata +873 -0
@@ -0,0 +1,132 @@
1
+ # Keep the entries sorted to reduce the risk for a merge conflict
2
+ *.[ao]
3
+ *.dirstamp
4
+ *.dll
5
+ *.dobj
6
+ *.exe
7
+ *.exp
8
+ *.gcda
9
+ *.gcno
10
+ *.gcov
11
+ *.l[aon]
12
+ *.lib
13
+ *.obj
14
+ *.orig
15
+ *.pdb
16
+ *.profile
17
+ *.sln
18
+ *.swo
19
+ *.swp
20
+ *.vcxproj
21
+ *.vcxproj.filters
22
+ *.vcxproj.user
23
+ *~
24
+ .DS_Store
25
+ ._*
26
+ .deps/
27
+ .libs/
28
+ /INSTALL
29
+ /Makefile
30
+ /Makefile.in
31
+ /aclocal.m4
32
+ /autom4te.cache
33
+ /check-all*
34
+ /config.cache
35
+ /config.log
36
+ /config.status
37
+ /config/compile
38
+ /config/config.guess
39
+ /config/config.sub
40
+ /config/depcomp
41
+ /config/install-sh
42
+ /config/ltmain.sh
43
+ /config/missing
44
+ /config/mkinstalldirs
45
+ /config/plugin.ac
46
+ /config/test-driver
47
+ /configure
48
+ /debug/sizes
49
+ /example/db/db
50
+ /example/db/vb
51
+ /example/debug/debug
52
+ /example/instancepool/instancepool
53
+ /example/libeventdirect/eventloop
54
+ /example/mcc/mcc
55
+ /example/minimal/minimal
56
+ /example/observe/observe
57
+ /example/syncmode/syncmode
58
+ /example/yajl/couchview
59
+ filelist.mk
60
+ /gtest-1.*
61
+ /include/libcouchbase/configuration.h
62
+ /libcouchbase*.changes
63
+ /libcouchbase*.deb
64
+ /libcouchbase*.dsc
65
+ /libcouchbase*.rpm
66
+ /libcouchbase*.tar.gz
67
+ /libtool
68
+ /config/m4/libtool.m4
69
+ /config/m4/ltoptions.m4
70
+ /config/m4/ltsugar.m4
71
+ /config/m4/ltversion.m4
72
+ /config/m4/lt~obsolete.m4
73
+ /config/m4/version.m4
74
+ /src/config.h
75
+ /src/config.h.in
76
+ /src/probes.h
77
+ /src/stamp-h1
78
+ /test-suite.log
79
+ /tests/*-test
80
+ /tests/*.log
81
+ /tests/*.trs
82
+ /tests/CouchbaseMock.jar
83
+ /tests/check-all
84
+ /tests/htparse-tests
85
+ /tests/nonio-tests
86
+ /tests/unit-tests
87
+ /tests/mc-tests
88
+ /tests/sock-tests
89
+ /tests/rdb-tests
90
+ /tools/cbc
91
+ /tools/cbc-pillowfight
92
+ /tools/cbc_debug.ilk
93
+ /vc100.idb
94
+ CMakeCache.txt
95
+ CMakeFiles/
96
+ CTestTestfile.cmake
97
+ Project.opensdf
98
+ Project.sdf
99
+ Project.suo
100
+ VERSION
101
+ build/
102
+ cbc-pillowfight.dir/
103
+ cbc.dir/
104
+ cmake_install.cmake
105
+ core*
106
+ couchbase.dir/
107
+ debug/cbc-pillowfight.ilk
108
+ debug/cbc.ilk
109
+ debug/libcouchbase.idb
110
+ debug/libcouchbase.ilk
111
+ ipch/
112
+ lcbutils.dir/
113
+ libcouchbase.opensdf
114
+ libcouchbase.sdf
115
+ libcouchbase.suo
116
+ unit-tests.dir/
117
+ win32/Debug/
118
+ MANIFEST
119
+ doc/public
120
+ doc/internal
121
+
122
+ # Symlinks
123
+ m4
124
+ configure.ac
125
+ Makefile.am
126
+ packaging/distinfo/distinfo.cmake
127
+ packaging/distinfo/MANIFEST
128
+ *.tlog
129
+ *.nupkg
130
+ *.suo
131
+ tests/LOCAL
132
+ inst
@@ -0,0 +1,455 @@
1
+ # -*- mode: cmake; cmake-tab-width: 4; indent-tabs-mode: nil -*-
2
+ #
3
+ # libcouchbase
4
+ # Copyright (C) 2013 Couchbase, Inc
5
+ # All rights reserved.
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+
19
+ CMAKE_MINIMUM_REQUIRED(VERSION 2.8.9)
20
+ # Currently this file is only used for Windows
21
+
22
+ ### BEGIN CONFIGURABLES ###
23
+ # These variables can be modified as needed
24
+
25
+ # Couchbase mock path to download
26
+ SET(COUCHBASE_MOCK_VERSION 1.5.19)
27
+ SET(COUCHBASE_MOCK_URL "https://github.com/couchbase/CouchbaseMock/releases/download/${COUCHBASE_MOCK_VERSION}/CouchbaseMock-${COUCHBASE_MOCK_VERSION}.jar")
28
+ project(libcouchbase)
29
+
30
+ OPTION(LCB_NO_TESTS "Disable building of tests" OFF)
31
+ OPTION(LCB_NO_TOOLS "Disable building of additional tools" OFF)
32
+ OPTION(LCB_NO_PLUGINS "Disable the building of IO plugins for external libs" OFF)
33
+ OPTION(LCB_BUILD_LIBEVENT "Build the libevent plugin" ON)
34
+ OPTION(LCB_BUILD_LIBEV "Build the libev plugin (if available)" ON)
35
+ OPTION(LCB_BUILD_LIBUV "Build the libuv plugin (if available)" ON)
36
+ OPTION(LCB_MAINTAINER_MODE "Enables maintainer mode" OFF)
37
+ OPTION(LCB_NO_SSL "Do not compile SSL support" OFF)
38
+ OPTION(LCB_USE_ASAN "Use AddressSanitizer support (Requires Clang)" OFF)
39
+ OPTION(LCB_USE_COVERAGE "Build with code coverage support" OFF)
40
+ OPTION(LCB_USE_ARCHLIBDIR "Use architecture-prefixed library installation directory, if possible" OFF)
41
+ OPTION(LCB_BUILD_EXAMPLES "Build example applications" OFF)
42
+ OPTION(LCB_NO_MOCK "Don't run tests which depend on the mock" OFF)
43
+ OPTION(LCB_BUILD_DTRACE "Build DTrace instrumentation, if available on platform" ON)
44
+ OPTION(LCB_EMBED_PLUGIN_LIBEVENT "Embed the libevent plugin" OFF)
45
+ OPTION(LCB_STATIC_LIBEVENT "Link static libevent (only applicable if EMBED_PLUGIN_LIBEVENT is ON" OFF)
46
+ OPTION(LCB_USE_HDR_HISTOGRAM "Use HdrHistogram for statistics recording" OFF)
47
+ OPTION(LCB_TRACING "Enable builtin tracing" ON)
48
+ OPTION(LCB_INSTALL_HEADERS "Install header files" ON)
49
+ OPTION(LCB_INSTALL_PKGCONFIG "Install pkgconfig/libcouchbase.pc" ON)
50
+ OPTION(LCB_DUMP_PACKETS "Enable dumping network packets on TRACE log level" OFF)
51
+ OPTION(LCB_USE_PROFILER "Build with profiler support (from gperftools)" OFF)
52
+ OPTION(LCB_SKIP_GIT_VERSION "Skip version detection using git" OFF)
53
+
54
+ STRING(TIMESTAMP LCB_BUILD_TIMESTAMP "%Y-%m-%d %H:%M:%S" UTC)
55
+
56
+ ### END CONFIGURABLES ###
57
+ IF(MSVC)
58
+ SET(CMAKE_DEBUG_POSTFIX "_d")
59
+ ELSE()
60
+ IF(APPLE)
61
+ SET(CMAKE_MACOSX_RPATH ON)
62
+ ENDIF()
63
+ SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
64
+ SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
65
+ LIST(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/lib" isSystemDir)
66
+ IF("${isSystemDir}" STREQUAL "-1")
67
+ SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
68
+ ENDIF("${isSystemDir}" STREQUAL "-1")
69
+ ENDIF()
70
+
71
+ # If building from a configured autotools tree, bail.
72
+ IF(EXISTS ${PROJECT_SOURCE_DIR}/src/config.h)
73
+ MESSAGE(FATAL_ERROR "config.h found in src/. This will break the CMake build. Remove it manually then rerun")
74
+ ENDIF()
75
+
76
+ SET(LCB_GENSRCDIR ${PROJECT_BINARY_DIR}/generated)
77
+ INCLUDE_DIRECTORIES(${LCB_GENSRCDIR})
78
+ SET(LCB_GENINFODIR ${PROJECT_SOURCE_DIR}/packaging/distinfo)
79
+
80
+ INCLUDE(cmake/Modules/GetLibcouchbaseFlags.cmake)
81
+ INCLUDE(cmake/Modules/FindCouchbaseLibevent.cmake)
82
+ INCLUDE(cmake/Modules/FindCouchbaseLibev.cmake)
83
+ INCLUDE(cmake/Modules/FindCouchbaseLibuv.cmake)
84
+ INCLUDE(cmake/Modules/GetPlatformCCInfo.cmake)
85
+ INCLUDE(cmake/Modules/GetVersionInfo.cmake)
86
+ IF (MSVC)
87
+ INCLUDE(cmake/Modules/CopyPDB.cmake)
88
+ ENDIF ()
89
+ INCLUDE(cmake/Modules/DownloadLcbDep.cmake)
90
+ INCLUDE(CheckIncludeFiles)
91
+ INCLUDE(cmake/source_files.cmake)
92
+
93
+ IF(LCB_USE_PROFILER)
94
+ INCLUDE(cmake/Modules/FindProfiler.cmake)
95
+ ENDIF()
96
+ IF(LCB_USE_HDR_HISTOGRAM)
97
+ INCLUDE(cmake/Modules/FindCouchbaseHdrHistogram.cmake)
98
+ ENDIF()
99
+ IF(HDR_HISTOGRAM_FOUND)
100
+ INCLUDE_DIRECTORIES(${HDR_HISTOGRAM_INCLUDES})
101
+ SET(LCB_HDR_HISTOGRAM_LINK "${HDR_HISTOGRAM_LIBRARIES}")
102
+ LIST(APPEND LCB_CORE_SRC "src/hdr_timings.c")
103
+ ELSE()
104
+ SET(LCB_HDR_HISTOGRAM_LINK "")
105
+ LIST(APPEND LCB_CORE_SRC "src/timings.c")
106
+ ENDIF()
107
+
108
+ IF(LIB_INSTALL_DIR)
109
+ SET(CMAKE_INSTALL_LIBDIR "${LIB_INSTALL_DIR}")
110
+ ENDIF()
111
+ IF(NOT LCB_USE_ARCHLIBDIR AND NOT CMAKE_INSTALL_LIBDIR)
112
+ SET(CMAKE_INSTALL_LIBDIR "lib")
113
+ ENDIF()
114
+ INCLUDE(GNUInstallDirs)
115
+
116
+
117
+ SET(CPACK_PACKAGE_VERSION_MAJOR "${LCB_VERSION_MAJOR}")
118
+ SET(CPACK_PACKAGE_VERSION_MINOR "${LCB_VERSION_MINOR}")
119
+ SET(CPACK_PACKAGE_VERSION_PATCH "${LCB_VERSION_PATCH}")
120
+ IF(NOT CMAKE_BUILD_TYPE)
121
+ SET(CPACK_INSTALL_SCRIPT
122
+ "${PROJECT_SOURCE_DIR}/cmake/Modules/DistScript.cmake")
123
+ ENDIF()
124
+ SET(lcb_package_name "libcouchbase-${LCB_VERSION}_${LCB_CC_STRING}_${LCB_ARCH_STRING}")
125
+ SET(CPACK_PACKAGE_FILE_NAME ${lcb_package_name})
126
+
127
+ IF(WIN32)
128
+ SET(CPACK_GENERATOR "ZIP")
129
+ ELSE()
130
+ SET(CPACK_GENERATOR "TGZ")
131
+ ENDIF()
132
+
133
+ INCLUDE(CPack)
134
+
135
+ CONFIGURE_FILE(
136
+ ${PROJECT_SOURCE_DIR}/include/libcouchbase/configuration.h.in
137
+ ${LCB_GENSRCDIR}/libcouchbase/configuration.h
138
+ @ONLY)
139
+
140
+ CONFIGURE_FILE(
141
+ ${PROJECT_SOURCE_DIR}/cmake/defs.mk.in
142
+ ${PROJECT_BINARY_DIR}/defs.mk)
143
+
144
+ CONFIGURE_FILE(
145
+ ${PROJECT_SOURCE_DIR}/packaging/dllversion.rc.in
146
+ ${PROJECT_BINARY_DIR}/dllversion.rc)
147
+
148
+ SET(NT_REQUIRED_VERSION 0x0600)
149
+
150
+ ADD_DEFINITIONS(-DLIBCOUCHBASE_INTERNAL=1)
151
+
152
+ SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
153
+ SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
154
+ IF(WIN32)
155
+ SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
156
+ ELSE()
157
+ SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
158
+ ENDIF()
159
+
160
+ SET(SOURCE_ROOT ${PROJECT_SOURCE_DIR})
161
+
162
+ IF(WIN32)
163
+ ADD_DEFINITIONS(-DWINVER=${NT_REQUIRED_VERSION})
164
+ ADD_DEFINITIONS(-D_WIN32_WINNT=${NT_REQUIRED_VERSION})
165
+ SET(lcb_plat_includes "${SOURCE_ROOT}/contrib/win32-defs")
166
+ SET(lcb_plat_libs ws2_32.lib dnsapi.lib)
167
+ SET(lcb_plat_objs $<TARGET_OBJECTS:couchbase_iocp>)
168
+ ELSE()
169
+ SET(lcb_plat_libs m)
170
+ IF(NOT CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
171
+ SET(lcb_plat_libs ${lcb_plat_libs} dl resolv)
172
+ ELSE()
173
+ # BSD _and_ DTrace
174
+ IF(LCB_BUILD_DTRACE)
175
+ SET(lcb_plat_libs ${lcb_plat_libs} elf)
176
+ ENDIF()
177
+ ENDIF()
178
+ IF(CMAKE_SYSTEM_NAME STREQUAL "SunOS")
179
+ SET(lcb_plat_libs ${lcb_plat_libs} nsl socket)
180
+ ENDIF()
181
+ IF(LCB_EMBED_PLUGIN_LIBEVENT)
182
+ SET(lcb_plat_objs ${lcb_plat_objs} $<TARGET_OBJECTS:couchbase_libevent>)
183
+ SET(lcb_plat_libs ${lcb_plat_libs} ${LIBEVENT_LIBRARIES})
184
+ ADD_DEFINITIONS(-DLCB_EMBED_PLUGIN_LIBEVENT)
185
+ ENDIF()
186
+ ENDIF()
187
+
188
+ INCLUDE_DIRECTORIES(BEFORE ${SOURCE_ROOT}/include
189
+ ${SOURCE_ROOT}/contrib
190
+ ${SOURCE_ROOT}/contrib/cbsasl/include
191
+ ${SOURCE_ROOT}/src
192
+ ${lcb_plat_includes}
193
+ ${SOURCE_ROOT})
194
+
195
+ # These files are bundled in a static library.
196
+ # They export no symbols of their own and may
197
+ # be considered as 'static'
198
+
199
+ ADD_LIBRARY(couchbase_utils OBJECT ${LCB_UTILS_SRC})
200
+
201
+ MACRO(LCB_UTIL tgt)
202
+ SET_TARGET_PROPERTIES(${tgt}
203
+ PROPERTIES
204
+ COMPILE_FLAGS "${LCB_CORE_CFLAGS}"
205
+ POSITION_INDEPENDENT_CODE TRUE)
206
+ ENDMACRO()
207
+
208
+ MACRO(LCB_CXXUTIL tgt)
209
+ SET_TARGET_PROPERTIES(${tgt}
210
+ PROPERTIES
211
+ COMPILE_FLAGS "${LCB_CORE_CXXFLAGS}"
212
+ POSITION_INDEPENDENT_CODE TRUE)
213
+ ENDMACRO()
214
+
215
+ ADD_LIBRARY(netbuf OBJECT ${LCB_NETBUF_SRC})
216
+ ADD_LIBRARY(netbuf-malloc OBJECT ${LCB_NETBUF_SRC})
217
+ ADD_LIBRARY(mcreq OBJECT ${LCB_MC_SRC})
218
+ ADD_LIBRARY(mcreq-cxx OBJECT ${LCB_MC_CXXSRC})
219
+ ADD_LIBRARY(rdb OBJECT ${LCB_RDB_SRC})
220
+ ADD_LIBRARY(lcbio OBJECT ${LCB_IO_SRC})
221
+ ADD_LIBRARY(lcbio-cxx OBJECT ${LCB_IO_CXXSRC})
222
+ ADD_LIBRARY(lcbht OBJECT ${LCB_HT_SRC})
223
+ ADD_LIBRARY(lcbcore OBJECT ${LCB_CORE_SRC})
224
+ ADD_LIBRARY(lcbcore-cxx OBJECT ${LCB_CORE_CXXSRC})
225
+
226
+ SET_TARGET_PROPERTIES(netbuf-malloc PROPERTIES COMPILE_DEFINITIONS NETBUF_LIBC_PROXY=1)
227
+ LCB_UTIL(netbuf-malloc)
228
+ LCB_UTIL(netbuf)
229
+ LCB_UTIL(rdb)
230
+ LCB_UTIL(lcbio)
231
+ LCB_CXXUTIL(lcbio-cxx)
232
+ LCB_UTIL(couchbase_utils)
233
+ LCB_UTIL(mcreq)
234
+ LCB_CXXUTIL(mcreq-cxx)
235
+ LCB_UTIL(lcbht)
236
+ LCB_UTIL(lcbcore)
237
+ LCB_CXXUTIL(lcbcore-cxx)
238
+
239
+ IF(LCB_NO_SSL)
240
+ MESSAGE(STATUS "SSL support will be disabled")
241
+ ADD_DEFINITIONS(-DLCB_NO_SSL=1)
242
+ ELSE()
243
+ IF(NOT OPENSSL_FOUND)
244
+ # When building under Couchbase Server we've already detected
245
+ # and set the appropriate OpenSSL variables
246
+ IF(APPLE)
247
+ IF(NOT OpenSSL_DIR)
248
+ EXECUTE_PROCESS(COMMAND brew --prefix openssl
249
+ OUTPUT_VARIABLE OPENSSL_ROOT_DIR
250
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
251
+ MESSAGE(STATUS "Found OpenSSL Prefix: ${OPENSSL_ROOT_DIR}")
252
+ ENDIF()
253
+ ENDIF()
254
+ FIND_PACKAGE(OpenSSL)
255
+ ENDIF(NOT OPENSSL_FOUND)
256
+
257
+ IF(OPENSSL_FOUND)
258
+ MESSAGE(STATUS "SSL Found")
259
+ ELSE()
260
+ MESSAGE(STATUS "SSL Not Found. SSL support will be disabled")
261
+ ADD_DEFINITIONS(-DLCB_NO_SSL=1)
262
+ ENDIF()
263
+ ENDIF()
264
+
265
+ ADD_SUBDIRECTORY(src/vbucket)
266
+ ADD_SUBDIRECTORY(contrib/cbsasl)
267
+ ADD_SUBDIRECTORY(contrib/cliopts)
268
+ ADD_SUBDIRECTORY(src/ssl)
269
+ ADD_SUBDIRECTORY(contrib/lcb-jsoncpp)
270
+ ADD_SUBDIRECTORY(contrib/snappy)
271
+ IF(LCB_BUILD_EXAMPLES)
272
+ ADD_SUBDIRECTORY(example)
273
+ ENDIF()
274
+
275
+ IF(LCB_BUILD_STATIC)
276
+ SET(_lcb_linkspec STATIC)
277
+ ELSE()
278
+ SET(_lcb_linkspec SHARED)
279
+ ENDIF()
280
+
281
+ # CMake configuration
282
+ IF(NOT WIN32 AND LCB_BUILD_DTRACE)
283
+ INCLUDE(cmake/Modules/ConfigureDtrace.cmake)
284
+ ENDIF()
285
+
286
+ FILE(GLOB LCB_JSPARSE_SRC src/jsparse/*.cc)
287
+ ADD_LIBRARY(lcb_jsparse OBJECT ${LCB_JSPARSE_SRC})
288
+ LCB_CXXUTIL(lcb_jsparse)
289
+
290
+ INCLUDE_DIRECTORIES(contrib/snappy)
291
+
292
+ SET(LCB_CORE_OBJS
293
+ $<TARGET_OBJECTS:couchbase_select>
294
+ $<TARGET_OBJECTS:couchbase_utils>
295
+ $<TARGET_OBJECTS:vbucket-lcb>
296
+ $<TARGET_OBJECTS:mcreq>
297
+ $<TARGET_OBJECTS:mcreq-cxx>
298
+ $<TARGET_OBJECTS:netbuf>
299
+ $<TARGET_OBJECTS:cbsasl-lcb>
300
+ $<TARGET_OBJECTS:lcbio>
301
+ $<TARGET_OBJECTS:lcbio-cxx>
302
+ $<TARGET_OBJECTS:rdb>
303
+ $<TARGET_OBJECTS:lcbht>
304
+ $<TARGET_OBJECTS:lcbcore>
305
+ $<TARGET_OBJECTS:lcbcore-cxx>
306
+ $<TARGET_OBJECTS:lcb_jsparse>
307
+ $<TARGET_OBJECTS:lcb_jsoncpp>
308
+ $<TARGET_OBJECTS:lcb_snappy>
309
+ ${LCB_DTRACE_OBJECT}
310
+ ${lcb_plat_objs}
311
+ ${lcb_ssl_objs})
312
+
313
+ ADD_LIBRARY(couchbaseS STATIC ${LCB_CORE_OBJS})
314
+ ADD_LIBRARY(couchbase ${_lcb_linkspec} ${LCB_CORE_OBJS} ${PROJECT_BINARY_DIR}/dllversion.rc)
315
+
316
+ # For DTrace implementations which need to gain access to all the *.o files first
317
+ # we need to hook the linker command to a custom perl script which will intercept
318
+ # the object files passed to the linker, run dtrace on them, and inject the generated
319
+ # object into the linker commandline. This is a bit fragile but we don't officially
320
+ # support any of these platforms anyway
321
+ IF(LCB_DTRACE_INSTRO)
322
+ SET(_lcb_linkhook "${PROJECT_SOURCE_DIR}/cmake/dtrace-instr-link.pl ${LCB_DTRACE_SRC}")
323
+ SET_TARGET_PROPERTIES(couchbase PROPERTIES RULE_LAUNCH_LINK ${_lcb_linkhook})
324
+ SET_TARGET_PROPERTIES(couchbaseS PROPERTIES RULE_LAUNCH_LINK ${_lcb_linkhook})
325
+ ENDIF()
326
+
327
+ # This is done to be ABI-compatible with Autotools. On OSX, autotools generates
328
+ # a library with a Compatibility and Current versions of 3.x despite our library
329
+ # actually being versioned at 2.x. To make things worse, autotools also actually
330
+ # provided a _symlink_ of libcouchbase.2.dylib. CMake cannot do this manually
331
+ # and thus we disable the SOVERSION appending when on OS X, and revert to
332
+ # inserting the version information by hand.
333
+ IF(NOT APPLE)
334
+ SET_TARGET_PROPERTIES(couchbase PROPERTIES
335
+ SOVERSION "${LCB_SONAME_MAJOR}" VERSION "${LCB_SONAME_FULL}")
336
+ ELSE()
337
+ SET_TARGET_PROPERTIES(couchbase PROPERTIES
338
+ LINK_FLAGS "-compatibility_version ${LCB_SONAME_MAJOR} -current_version ${LCB_SONAME_FULL}"
339
+ OUTPUT_NAME couchbase.2)
340
+ IF(NOT LCB_BUILD_STATIC)
341
+ ADD_CUSTOM_COMMAND(TARGET couchbase POST_BUILD
342
+ COMMAND rm -f libcouchbase.dylib
343
+ COMMAND ln libcouchbase.2.dylib libcouchbase.dylib
344
+ WORKING_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
345
+ INSTALL(FILES ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/libcouchbase.dylib
346
+ DESTINATION ${CMAKE_INSTALL_LIBDIR})
347
+ ENDIF()
348
+ ENDIF()
349
+
350
+ SET_TARGET_PROPERTIES(couchbase PROPERTIES PREFIX "lib")
351
+ SET_TARGET_PROPERTIES(couchbase PROPERTIES IMPORT_PREFIX "lib")
352
+ SET(LCB_LINK_DEPS ${lcb_plat_libs} ${lcb_ssl_libs} ${LCB_HDR_HISTOGRAM_LINK})
353
+ IF(CMAKE_SYSTEM_NAME STREQUAL "Linux")
354
+ SET(LCB_LINK_DEPS ${LCB_LINK_DEPS} rt)
355
+ ENDIF()
356
+ IF(LIBPROFILER)
357
+ SET(LCB_LINK_DEPS ${LCB_LINK_DEPS} ${LIBPROFILER})
358
+ ENDIF()
359
+
360
+ TARGET_LINK_LIBRARIES(couchbase ${LCB_LINK_DEPS})
361
+ TARGET_LINK_LIBRARIES(couchbaseS ${LCB_LINK_DEPS})
362
+
363
+ ENABLE_TESTING()
364
+ IF(NOT LCB_NO_TESTS)
365
+ ADD_SUBDIRECTORY(tests tests)
366
+ ELSE()
367
+ ADD_TEST(NAME dummytest COMMAND echo "No Tests!")
368
+ ENDIF(NOT LCB_NO_TESTS)
369
+
370
+ IF(NOT LCB_NO_TOOLS)
371
+ ADD_SUBDIRECTORY(tools tools)
372
+ ENDIF(NOT LCB_NO_TOOLS)
373
+
374
+ # Always add this file, as we need the headers for this!
375
+ ADD_SUBDIRECTORY(plugins/io/libuv)
376
+ IF(NOT LCB_NO_PLUGINS AND LCB_BUILD_LIBUV)
377
+ ENDIF()
378
+
379
+ IF(NOT LCB_NO_PLUGINS AND NOT WIN32)
380
+ IF(LCB_BUILD_LIBEVENT)
381
+ ADD_SUBDIRECTORY(plugins/io/libevent)
382
+ ENDIF()
383
+ IF(LCB_BUILD_LIBEV)
384
+ ADD_SUBDIRECTORY(plugins/io/libev)
385
+ ENDIF()
386
+ IF(NOT (HAVE_LIBEV OR HAVE_LIBEVENT))
387
+ MESSAGE(FATAL_ERROR
388
+ "libev or libevent development files missing.
389
+ You can disable these dependencies by passing
390
+ -DLCB_NO_PLUGINS=1 to Cmake, or
391
+ --disable-plugins to the configure script")
392
+ ENDIF()
393
+ ENDIF()
394
+
395
+
396
+ IF(LCB_MAINTAINER_MODE)
397
+ IF(NOT (HAVE_LIBEV AND HAVE_LIBEVENT AND HAVE_LIBUV))
398
+ MESSAGE(FATAL_ERROR "Maintainer mode requires all plugins to be present")
399
+ ENDIF()
400
+ ENDIF()
401
+
402
+ ADD_SUBDIRECTORY(plugins/io/select)
403
+ ADD_SUBDIRECTORY(plugins/io/iocp)
404
+ INSTALL(TARGETS couchbase
405
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
406
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
407
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
408
+
409
+ IF(LCB_INSTALL_HEADERS)
410
+ INSTALL(DIRECTORY include/libcouchbase ${LCB_GENSRCDIR}/libcouchbase
411
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
412
+ FILES_MATCHING PATTERN *.h PATTERN *.c)
413
+ ENDIF()
414
+
415
+ INSTALL(DIRECTORY doc/man/ DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 FILES_MATCHING PATTERN *.1)
416
+ INSTALL(DIRECTORY doc/man/ DESTINATION ${CMAKE_INSTALL_MANDIR}/man4 FILES_MATCHING PATTERN *.4)
417
+
418
+ IF(MSVC)
419
+ INSTALL_PDBS(couchbase)
420
+ ENDIF()
421
+
422
+ SET(_lcb_tarname "libcouchbase-${LCB_VERSION}")
423
+ SET(_lcb_manifest "${LCB_GENINFODIR}/MANIFEST")
424
+
425
+ # pkg-config stuff goes with installation
426
+ IF(NOT WIN32 AND LCB_INSTALL_PKGCONFIG)
427
+ CONFIGURE_FILE(packaging/libcouchbase.pc.in packaging/libcouchbase.pc @ONLY)
428
+ INSTALL(FILES ${PROJECT_BINARY_DIR}/packaging/libcouchbase.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
429
+ ENDIF()
430
+
431
+
432
+ ADD_CUSTOM_TARGET(uninstall
433
+ COMMAND xargs rm -vf < ${CMAKE_CURRENT_BINARY_DIR}/install_manifest.txt)
434
+
435
+ ADD_CUSTOM_TARGET(file_manifest
436
+ COMMAND sh -c 'test -e ${_lcb_manifest} || git ls-files > ${_lcb_manifest}'
437
+ WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
438
+
439
+
440
+ ADD_CUSTOM_TARGET(dist
441
+ COMMAND rm -rf "${_lcb_tarname}"
442
+ COMMAND mkdir "${_lcb_tarname}"
443
+ COMMAND tar -cf - -C ${PROJECT_SOURCE_DIR} -T ${_lcb_manifest} | tar xf - -C "${_lcb_tarname}"
444
+ COMMAND cp -a "${LCB_GENINFODIR}" "${_lcb_tarname}/packaging"
445
+ COMMAND tar -czf "${_lcb_tarname}.tar.gz" "${_lcb_tarname}"
446
+ COMMAND rm -rf "${_lcb_tarname}"
447
+ DEPENDS file_manifest)
448
+
449
+ # Generate our configuration file _after_ we've collected everything
450
+ INCLUDE(cmake/Modules/GenerateConfigDotH.cmake)
451
+
452
+ # Build any local tests/scripts
453
+ IF (EXISTS ${SOURCE_ROOT}/tests/LOCAL)
454
+ ADD_SUBDIRECTORY(${SOURCE_ROOT}/tests/LOCAL)
455
+ ENDIF()
@@ -0,0 +1,105 @@
1
+ # Contributing
2
+
3
+ In addition to filing bugs, you may contribute by submitting patches to fix bugs in the library. Contributions may be
4
+ submitting to <http://review.couchbase.com>. We use Gerrit as our code review system - and thus submitting a change
5
+ would require an account there. Note that pull requests will not be ignored but will be responded to much quicker once
6
+ they are converted into Gerrit.
7
+
8
+ For something to be accepted into the codebase, it must be formatted properly and have undergone proper testing. While
9
+ there are no formatting guidelines per se, the code should look similar to the existing code within the library.
10
+
11
+ ## Branches and Tags
12
+
13
+ Released versions of the library are marked as annotated tags inside the repository.
14
+
15
+ * The `master` branch represents the mainline branch. The master branch typically consists of content going into the
16
+ next release.
17
+
18
+ ## Contributing Patches
19
+
20
+ If you wish to contribute a new feature or a bug fix to the library, try to follow the following guidelines to help
21
+ ensure your change gets merged upstream.
22
+
23
+ ### Before you begin
24
+
25
+ For any code change, ensure the new code you write looks similar to the code surrounding it. We have no strict code
26
+ style policies, but do request that your code stand out as little as possible from its surrounding neighborhood (unless
27
+ of course your change is stylistic in nature).
28
+
29
+ If your change is going to involve a substantial amount of time or effort, please attempt to discuss it with the project
30
+ developers first who will provide assistance and direction where possible.
31
+
32
+ Additionally, note that the library uses C89 (AKA "ANSI C") with some extensions that are known to work on both GCC and
33
+ Visual Studio for `.c` files, and C++11 for `.cc` files. Please ensure your code conforms to this, unless the new code
34
+ is specific to a given platform.
35
+
36
+ #### For new features
37
+
38
+ Ensure the feature you are adding does not already exist, and think about how this feature may be useful for other
39
+ users. In general less intrusive changes are more likely to be accepted.
40
+
41
+ #### For fixing bugs
42
+
43
+ Ensure the bug you are fixing is actually a bug (and not a usage) error, and that it has not been fixed in a more recent
44
+ version. Please read the release notes as well as the issue tracker to see a list of open and resolved issues.
45
+
46
+ ### Code Review
47
+
48
+ #### Signing up on Gerrit
49
+
50
+ Everything that is merged into the library goes through a code review process. The code review process is done via
51
+ [Gerrit](http://review.couchbase.org) (Unfortunately we cannot merge pull requests, though it is fairly simple to
52
+ convert a pull request to gerrit, as seen later. If you know a way to integrate pull requests with Gerrit, please let us
53
+ know).
54
+
55
+ To sign up for a gerrit account, go to http://review.couchbase.org and click on the _Register_ link at the top
56
+ right. Once you've signed in you will need to sign the CLA (Contributor License Agreement) by going you your gerrit
57
+ account page and selecting the _Agreements_ link on the left. When you've done that, be sure to notify us in IRC (at
58
+ _#libcouchbase_) and/or send an email to **matt**AT**couchbase**DOTCOM as you will require manual approval before being
59
+ able to submit a request for change.
60
+
61
+ Once approved, you should add your public SSH key to gerrit.
62
+
63
+ #### Setting up your fork with Gerrit
64
+
65
+ Assuming you have a repository created like so:
66
+
67
+ ```
68
+ $ git clone git://github.com/couchbase/libcouchbase.git
69
+ ```
70
+
71
+ you can simply perform two simple steps to get started with gerrit:
72
+
73
+ ```
74
+ $ git remote add gerrit ssh://${USERNAME}@review.couchbase.org:29418/libcouchbase
75
+ $ scp -P 29418 ${USERNAME}@review.couchbase.org:hooks/commit-msg .git/hooks
76
+ $ chmod a+x .git/hooks/commit-msg
77
+ ```
78
+
79
+ The last change is required for annotating each commit message with a special header known as `Change-Id`. This allows
80
+ Gerrit to group together different revisions of the same patch.
81
+
82
+ #### Pushing a changeset
83
+
84
+ Now that you have your change and a gerrit account to push to, you need to upload the change for review. To do so,
85
+ invoke the following incantation:
86
+
87
+ ```
88
+ $ git push gerrit HEAD:refs/for/master
89
+ ```
90
+
91
+ Where `gerrit` is the name of the _remote_ added earlier. You may encounter some errors when pushing. The most common
92
+ are:
93
+
94
+ * "You are not authorized to push to this repository". You will get this if your account has not yet been approved.
95
+ * "Missing Change-Id". You need to install the `commit-msg` hook as described above. Note that even once you do this,
96
+ you will need to ensure that any prior commits already have this header - this may be done by doing an interactive
97
+ rebase (e.g. `git rebase -i origin/master` and selecting `reword` for all the commits; which will automatically fill
98
+ in the Change-Id).
99
+
100
+
101
+ Once you've pushed your changeset you can add people to review. Currently these are:
102
+
103
+ * Sergey Avseyev
104
+ * Brett Lawson
105
+ * Ellis Breen