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.
- checksums.yaml +7 -0
- data/.gitignore +22 -0
- data/.gitmodules +3 -0
- data/.rspec +1 -0
- data/.travis.yml +38 -0
- data/Gemfile +4 -0
- data/LICENSE +24 -0
- data/README.md +445 -0
- data/Rakefile +76 -0
- data/ext/README.md +6 -0
- data/ext/Rakefile +19 -0
- data/ext/libcouchbase/.gitignore +132 -0
- data/ext/libcouchbase/CMakeLists.txt +455 -0
- data/ext/libcouchbase/CONTRIBUTING.md +105 -0
- data/ext/libcouchbase/LICENSE +202 -0
- data/ext/libcouchbase/README.markdown +195 -0
- data/ext/libcouchbase/RELEASE_NOTES.markdown +3523 -0
- data/ext/libcouchbase/cmake/Modules/ConfigureDtrace.cmake +52 -0
- data/ext/libcouchbase/cmake/Modules/CopyPDB.cmake +42 -0
- data/ext/libcouchbase/cmake/Modules/DistScript.cmake +17 -0
- data/ext/libcouchbase/cmake/Modules/DownloadLcbDep.cmake +18 -0
- data/ext/libcouchbase/cmake/Modules/FindCouchbaseHdrHistogram.cmake +15 -0
- data/ext/libcouchbase/cmake/Modules/FindCouchbaseLibev.cmake +73 -0
- data/ext/libcouchbase/cmake/Modules/FindCouchbaseLibevent.cmake +54 -0
- data/ext/libcouchbase/cmake/Modules/FindCouchbaseLibuv.cmake +57 -0
- data/ext/libcouchbase/cmake/Modules/FindProfiler.cmake +16 -0
- data/ext/libcouchbase/cmake/Modules/GenerateConfigDotH.cmake +49 -0
- data/ext/libcouchbase/cmake/Modules/GetLibcouchbaseFlags.cmake +142 -0
- data/ext/libcouchbase/cmake/Modules/GetPlatformCCInfo.cmake +45 -0
- data/ext/libcouchbase/cmake/Modules/GetVersionInfo.cmake +70 -0
- data/ext/libcouchbase/cmake/config-cmake.h.in +80 -0
- data/ext/libcouchbase/cmake/configure +355 -0
- data/ext/libcouchbase/cmake/defs.mk.in +6 -0
- data/ext/libcouchbase/cmake/dtrace-instr-link.pl +51 -0
- data/ext/libcouchbase/cmake/libcouchbase.stp.in +829 -0
- data/ext/libcouchbase/cmake/source_files.cmake +104 -0
- data/ext/libcouchbase/contrib/cJSON/cJSON.c +1022 -0
- data/ext/libcouchbase/contrib/cJSON/cJSON.h +158 -0
- data/ext/libcouchbase/contrib/cbsasl/CMakeLists.txt +25 -0
- data/ext/libcouchbase/contrib/cbsasl/COPYING +202 -0
- data/ext/libcouchbase/contrib/cbsasl/include/cbsasl/cbsasl.h +259 -0
- data/ext/libcouchbase/contrib/cbsasl/src/client.c +419 -0
- data/ext/libcouchbase/contrib/cbsasl/src/common.c +50 -0
- data/ext/libcouchbase/contrib/cbsasl/src/cram-md5/hmac.c +67 -0
- data/ext/libcouchbase/contrib/cbsasl/src/cram-md5/hmac.h +33 -0
- data/ext/libcouchbase/contrib/cbsasl/src/cram-md5/md5.c +296 -0
- data/ext/libcouchbase/contrib/cbsasl/src/cram-md5/md5.h +45 -0
- data/ext/libcouchbase/contrib/cbsasl/src/hash.c +573 -0
- data/ext/libcouchbase/contrib/cbsasl/src/hash.h +15 -0
- data/ext/libcouchbase/contrib/cbsasl/src/scram-sha/scram_utils.c +500 -0
- data/ext/libcouchbase/contrib/cbsasl/src/scram-sha/scram_utils.h +99 -0
- data/ext/libcouchbase/contrib/cbsasl/src/util.h +31 -0
- data/ext/libcouchbase/contrib/cliopts/CMakeLists.txt +2 -0
- data/ext/libcouchbase/contrib/cliopts/cliopts.c +938 -0
- data/ext/libcouchbase/contrib/cliopts/cliopts.h +610 -0
- data/ext/libcouchbase/contrib/genhash/genhash.c +371 -0
- data/ext/libcouchbase/contrib/genhash/genhash.h +241 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/CHANGES +157 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/CMakeLists.txt +252 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/CONTRIBUTORS +37 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/LICENSE +28 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/MINIFY.sh +15 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/README +435 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/cmake/internal_utils.cmake +227 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-death-test.h +294 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-message.h +250 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-param-test.h +1421 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-param-test.h.pump +487 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-printers.h +855 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-spi.h +232 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-test-part.h +179 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-typed-test.h +259 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest.h +2291 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest_pred_impl.h +358 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest_prod.h +58 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-death-test-internal.h +319 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-filepath.h +206 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-internal.h +1158 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-linked_ptr.h +233 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-param-util-generated.h +5143 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-param-util-generated.h.pump +301 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-param-util.h +619 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-port.h +1947 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-string.h +167 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-tuple.h +1012 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-tuple.h.pump +339 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-type-util.h +3331 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-type-util.h.pump +297 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-all.cc +48 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-death-test.cc +1344 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-filepath.cc +382 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-internal-inl.h +1218 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-port.cc +805 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-printers.cc +363 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-test-part.cc +110 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-typed-test.cc +110 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest.cc +5015 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest_main.cc +38 -0
- data/ext/libcouchbase/contrib/http_parser/LICENSE-MIT +23 -0
- data/ext/libcouchbase/contrib/http_parser/README.md +178 -0
- data/ext/libcouchbase/contrib/http_parser/http_parser.c +2060 -0
- data/ext/libcouchbase/contrib/http_parser/http_parser.h +321 -0
- data/ext/libcouchbase/contrib/jsonsl/LICENSE +20 -0
- data/ext/libcouchbase/contrib/jsonsl/jsonsl.c +1452 -0
- data/ext/libcouchbase/contrib/jsonsl/jsonsl.h +971 -0
- data/ext/libcouchbase/contrib/lcb-jsoncpp/CMakeLists.txt +6 -0
- data/ext/libcouchbase/contrib/lcb-jsoncpp/LICENSE +55 -0
- data/ext/libcouchbase/contrib/lcb-jsoncpp/lcb-jsoncpp-forwards.h +255 -0
- data/ext/libcouchbase/contrib/lcb-jsoncpp/lcb-jsoncpp.cpp +4893 -0
- data/ext/libcouchbase/contrib/lcb-jsoncpp/lcb-jsoncpp.h +1961 -0
- data/ext/libcouchbase/contrib/snappy/CMakeLists.txt +7 -0
- data/ext/libcouchbase/contrib/snappy/COPYING +28 -0
- data/ext/libcouchbase/contrib/snappy/snappy-c.cc +90 -0
- data/ext/libcouchbase/contrib/snappy/snappy-c.h +138 -0
- data/ext/libcouchbase/contrib/snappy/snappy-internal.h +150 -0
- data/ext/libcouchbase/contrib/snappy/snappy-lcb-msvc.h +5 -0
- data/ext/libcouchbase/contrib/snappy/snappy-sinksource.cc +75 -0
- data/ext/libcouchbase/contrib/snappy/snappy-sinksource.h +137 -0
- data/ext/libcouchbase/contrib/snappy/snappy-stubs-internal.cc +42 -0
- data/ext/libcouchbase/contrib/snappy/snappy-stubs-internal.h +491 -0
- data/ext/libcouchbase/contrib/snappy/snappy-stubs-public.h +100 -0
- data/ext/libcouchbase/contrib/snappy/snappy.cc +1312 -0
- data/ext/libcouchbase/contrib/snappy/snappy.h +184 -0
- data/ext/libcouchbase/contrib/win32-defs/iocpdefs.h +133 -0
- data/ext/libcouchbase/contrib/win32-defs/mingwdefs.h +4396 -0
- data/ext/libcouchbase/contrib/win32-defs/win_stdint.h +258 -0
- data/ext/libcouchbase/doc/Doxyfile +2495 -0
- data/ext/libcouchbase/doc/DoxygenLayout.xml +109 -0
- data/ext/libcouchbase/doc/Makefile +44 -0
- data/ext/libcouchbase/doc/apiattr.h +117 -0
- data/ext/libcouchbase/doc/cbc-n1qlback.markdown +88 -0
- data/ext/libcouchbase/doc/cbc-pillowfight.markdown +296 -0
- data/ext/libcouchbase/doc/cbc-subdoc.markdown +299 -0
- data/ext/libcouchbase/doc/cbc.markdown +763 -0
- data/ext/libcouchbase/doc/cbcrc.markdown +52 -0
- data/ext/libcouchbase/doc/common-additional-options.markdown +82 -0
- data/ext/libcouchbase/doc/common-options.markdown +71 -0
- data/ext/libcouchbase/doc/environment.h +93 -0
- data/ext/libcouchbase/doc/example/threads.c +77 -0
- data/ext/libcouchbase/doc/footer.html +22 -0
- data/ext/libcouchbase/doc/genman.sh +25 -0
- data/ext/libcouchbase/doc/header.html +52 -0
- data/ext/libcouchbase/doc/intro.h +130 -0
- data/ext/libcouchbase/doc/mainpage.h +136 -0
- data/ext/libcouchbase/doc/man/cbc-admin.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-bucket-create.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-bucket-delete.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-cat.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-connstr.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-cp.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-create.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-decr.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-flush.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-hash.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-incr.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-lock.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-mcflush.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-mcversion.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-n1ql.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-n1qlback.1 +198 -0
- data/ext/libcouchbase/doc/man/cbc-observe.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-pillowfight.1 +499 -0
- data/ext/libcouchbase/doc/man/cbc-ping.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-rm.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-role-list.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-stats.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-subdoc.1 +494 -0
- data/ext/libcouchbase/doc/man/cbc-unlock.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-user-delete.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-user-list.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-user-upsert.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-verbosity.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-version.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-view.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-watch.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc.1 +1035 -0
- data/ext/libcouchbase/doc/man/cbcrc.4 +71 -0
- data/ext/libcouchbase/doc/style.css +1162 -0
- data/ext/libcouchbase/example/CMakeLists.txt +52 -0
- data/ext/libcouchbase/example/README.markdown +47 -0
- data/ext/libcouchbase/example/analytics/.gitignore +1 -0
- data/ext/libcouchbase/example/analytics/analytics.c +158 -0
- data/ext/libcouchbase/example/analytics/build-queries.rb +34 -0
- data/ext/libcouchbase/example/analytics/cJSON.c +1 -0
- data/ext/libcouchbase/example/analytics/cJSON.h +1 -0
- data/ext/libcouchbase/example/analytics/queries/00-show-dataverse.json +5 -0
- data/ext/libcouchbase/example/analytics/queries/01-setup-dataset-breweries.json +6 -0
- data/ext/libcouchbase/example/analytics/queries/02-setup-dataset-beers.json +6 -0
- data/ext/libcouchbase/example/analytics/queries/03-initiate-shadow.json +6 -0
- data/ext/libcouchbase/example/analytics/queries/04-list-datasets.json +7 -0
- data/ext/libcouchbase/example/analytics/queries/05-count-breweries.json +5 -0
- data/ext/libcouchbase/example/analytics/queries/06-first-brewery.json +6 -0
- data/ext/libcouchbase/example/analytics/queries/07-key-based-lookup.json +6 -0
- data/ext/libcouchbase/example/analytics/queries/08-exact-match-lookup.json +7 -0
- data/ext/libcouchbase/example/analytics/queries/09-exact-match-lookup-different-shape.json +6 -0
- data/ext/libcouchbase/example/analytics/queries/10-other-query-filters.json +6 -0
- data/ext/libcouchbase/example/analytics/queries/11-equijoin.json +9 -0
- data/ext/libcouchbase/example/analytics/queries/12-equijoin-select-star.json +10 -0
- data/ext/libcouchbase/example/analytics/queries/13-ansi-join.json +8 -0
- data/ext/libcouchbase/example/analytics/queries/14-join-select-values.json +8 -0
- data/ext/libcouchbase/example/analytics/queries/15-nested-outer-join.json +7 -0
- data/ext/libcouchbase/example/analytics/queries/16-theta-join.json +8 -0
- data/ext/libcouchbase/example/analytics/queries/17-existential-quantification.json +9 -0
- data/ext/libcouchbase/example/analytics/queries/18-universal-quantification.json +7 -0
- data/ext/libcouchbase/example/analytics/queries/19-simple-aggregation.json +6 -0
- data/ext/libcouchbase/example/analytics/queries/20-simple-aggregation-unwrapped-value.json +6 -0
- data/ext/libcouchbase/example/analytics/queries/21-simple-aggregation-explicit.json +6 -0
- data/ext/libcouchbase/example/analytics/queries/22-grouping-and-aggregation.json +6 -0
- data/ext/libcouchbase/example/analytics/queries/23-grouping-and-aggregation-with-hint.json +7 -0
- data/ext/libcouchbase/example/analytics/queries/24-grouping-and-limits.json +7 -0
- data/ext/libcouchbase/example/analytics/queries/25-named-parameters.json +7 -0
- data/ext/libcouchbase/example/analytics/queries/26-positional-parameters.json +7 -0
- data/ext/libcouchbase/example/analytics/queries.h +113 -0
- data/ext/libcouchbase/example/crypto/.gitignore +2 -0
- data/ext/libcouchbase/example/crypto/Makefile +13 -0
- data/ext/libcouchbase/example/crypto/common_provider.c +26 -0
- data/ext/libcouchbase/example/crypto/common_provider.h +33 -0
- data/ext/libcouchbase/example/crypto/openssl_symmetric_decrypt.c +144 -0
- data/ext/libcouchbase/example/crypto/openssl_symmetric_encrypt.c +146 -0
- data/ext/libcouchbase/example/crypto/openssl_symmetric_provider.c +271 -0
- data/ext/libcouchbase/example/crypto/openssl_symmetric_provider.h +29 -0
- data/ext/libcouchbase/example/db/db.c +171 -0
- data/ext/libcouchbase/example/db/vb.c +227 -0
- data/ext/libcouchbase/example/fts/.gitignore +1 -0
- data/ext/libcouchbase/example/fts/build-queries.rb +33 -0
- data/ext/libcouchbase/example/fts/fts.c +142 -0
- data/ext/libcouchbase/example/fts/queries/00-simple-text-query.json +12 -0
- data/ext/libcouchbase/example/fts/queries/01-simple-text-query-on-non-default-index.json +9 -0
- data/ext/libcouchbase/example/fts/queries/02-simple-text-query-on-stored-field.json +13 -0
- data/ext/libcouchbase/example/fts/queries/03-match-query-with-facet.json +19 -0
- data/ext/libcouchbase/example/fts/queries/04-docid-query.json +11 -0
- data/ext/libcouchbase/example/fts/queries/05-unanalyzed-term-query-with-fuzziness-level-of-0.json +13 -0
- data/ext/libcouchbase/example/fts/queries/06-unanalyzed-term-query-with-fuzziness-level-of-2.json +14 -0
- data/ext/libcouchbase/example/fts/queries/07-match-phrase-query.json +13 -0
- data/ext/libcouchbase/example/fts/queries/08-phrase-query.json +16 -0
- data/ext/libcouchbase/example/fts/queries/09-query-string-query.json +9 -0
- data/ext/libcouchbase/example/fts/queries/10-conjunction-query.json +21 -0
- data/ext/libcouchbase/example/fts/queries/11-wild-card-query.json +13 -0
- data/ext/libcouchbase/example/fts/queries/12-numeric-range-query.json +11 -0
- data/ext/libcouchbase/example/fts/queries/13-regexp-query.json +13 -0
- data/ext/libcouchbase/example/fts/queries.h +61 -0
- data/ext/libcouchbase/example/instancepool/main.cc +112 -0
- data/ext/libcouchbase/example/instancepool/pool.cc +102 -0
- data/ext/libcouchbase/example/instancepool/pool.h +69 -0
- data/ext/libcouchbase/example/libeventdirect/main.c +222 -0
- data/ext/libcouchbase/example/mcc/mcc.cc +246 -0
- data/ext/libcouchbase/example/minimal/.gitignore +1 -0
- data/ext/libcouchbase/example/minimal/minimal.c +132 -0
- data/ext/libcouchbase/example/minimal/query.c +185 -0
- data/ext/libcouchbase/example/observe/durability.c +102 -0
- data/ext/libcouchbase/example/observe/observe.c +159 -0
- data/ext/libcouchbase/example/subdoc/subdoc-multi.cc +143 -0
- data/ext/libcouchbase/example/subdoc/subdoc-simple.cc +201 -0
- data/ext/libcouchbase/example/subdoc/subdoc-xattrs.c +286 -0
- data/ext/libcouchbase/example/tick/tick.c +119 -0
- data/ext/libcouchbase/example/tracing/.gitignore +2 -0
- data/ext/libcouchbase/example/tracing/Makefile +8 -0
- data/ext/libcouchbase/example/tracing/cJSON.c +1 -0
- data/ext/libcouchbase/example/tracing/cJSON.h +1 -0
- data/ext/libcouchbase/example/tracing/tracing.c +439 -0
- data/ext/libcouchbase/example/tracing/views.c +444 -0
- data/ext/libcouchbase/example/users/README +48 -0
- data/ext/libcouchbase/example/users/users.c +147 -0
- data/ext/libcouchbase/example/views/views-example.cc +83 -0
- data/ext/libcouchbase/include/libcouchbase/_cxxwrap.h +150 -0
- data/ext/libcouchbase/include/libcouchbase/api-legacy.h +1689 -0
- data/ext/libcouchbase/include/libcouchbase/api3.h +2 -0
- data/ext/libcouchbase/include/libcouchbase/assert.h +44 -0
- data/ext/libcouchbase/include/libcouchbase/auth.h +297 -0
- data/ext/libcouchbase/include/libcouchbase/cbft.h +151 -0
- data/ext/libcouchbase/include/libcouchbase/cntl-private.h +319 -0
- data/ext/libcouchbase/include/libcouchbase/cntl.h +1418 -0
- data/ext/libcouchbase/include/libcouchbase/configuration.h.in +29 -0
- data/ext/libcouchbase/include/libcouchbase/couchbase.h +4089 -0
- data/ext/libcouchbase/include/libcouchbase/crypto.h +306 -0
- data/ext/libcouchbase/include/libcouchbase/deprecated.h +312 -0
- data/ext/libcouchbase/include/libcouchbase/error.h +680 -0
- data/ext/libcouchbase/include/libcouchbase/http.h +1 -0
- data/ext/libcouchbase/include/libcouchbase/iops.h +1053 -0
- data/ext/libcouchbase/include/libcouchbase/ixmgmt.h +263 -0
- data/ext/libcouchbase/include/libcouchbase/kvbuf.h +137 -0
- data/ext/libcouchbase/include/libcouchbase/metrics.h +79 -0
- data/ext/libcouchbase/include/libcouchbase/n1ql.h +539 -0
- data/ext/libcouchbase/include/libcouchbase/pktfwd.h +270 -0
- data/ext/libcouchbase/include/libcouchbase/plugins/io/bsdio-inl.c +370 -0
- data/ext/libcouchbase/include/libcouchbase/plugins/io/wsaerr-inl.c +76 -0
- data/ext/libcouchbase/include/libcouchbase/plugins/io/wsaerr.h +199 -0
- data/ext/libcouchbase/include/libcouchbase/subdoc.h +347 -0
- data/ext/libcouchbase/include/libcouchbase/sysdefs.h +98 -0
- data/ext/libcouchbase/include/libcouchbase/tracing.h +437 -0
- data/ext/libcouchbase/include/libcouchbase/vbucket.h +680 -0
- data/ext/libcouchbase/include/libcouchbase/views.h +357 -0
- data/ext/libcouchbase/include/libcouchbase/visibility.h +66 -0
- data/ext/libcouchbase/include/memcached/COPYING +30 -0
- data/ext/libcouchbase/include/memcached/README +10 -0
- data/ext/libcouchbase/include/memcached/protocol_binary.h +885 -0
- data/ext/libcouchbase/packaging/README +7 -0
- data/ext/libcouchbase/packaging/abicheck/.gitignore +4 -0
- data/ext/libcouchbase/packaging/abicheck/Makefile +17 -0
- data/ext/libcouchbase/packaging/abicheck/README.md +27 -0
- data/ext/libcouchbase/packaging/abicheck/template.xml +3 -0
- data/ext/libcouchbase/packaging/deb/compat +1 -0
- data/ext/libcouchbase/packaging/deb/control +72 -0
- data/ext/libcouchbase/packaging/deb/copyright +10 -0
- data/ext/libcouchbase/packaging/deb/libcouchbase-dev.docs +3 -0
- data/ext/libcouchbase/packaging/deb/package.mk +31 -0
- data/ext/libcouchbase/packaging/deb/rules +46 -0
- data/ext/libcouchbase/packaging/deb/source/format +1 -0
- data/ext/libcouchbase/packaging/distinfo/README +1 -0
- data/ext/libcouchbase/packaging/distinfo/distinfo.cmake.in +4 -0
- data/ext/libcouchbase/packaging/dllversion.rc.in +39 -0
- data/ext/libcouchbase/packaging/libcouchbase.pc.in +10 -0
- data/ext/libcouchbase/packaging/nuget/libcouchbase.autopkg +76 -0
- data/ext/libcouchbase/packaging/parse-git-describe.pl +166 -0
- data/ext/libcouchbase/packaging/rpm/libcouchbase.spec.in +101 -0
- data/ext/libcouchbase/packaging/rpm/package.mk +40 -0
- data/ext/libcouchbase/plugins/io/iocp/CMakeLists.txt +9 -0
- data/ext/libcouchbase/plugins/io/iocp/iocp_iops.c +467 -0
- data/ext/libcouchbase/plugins/io/iocp/iocp_iops.h +217 -0
- data/ext/libcouchbase/plugins/io/iocp/iocp_loop.c +295 -0
- data/ext/libcouchbase/plugins/io/iocp/iocp_timer.c +79 -0
- data/ext/libcouchbase/plugins/io/iocp/iocp_util.c +229 -0
- data/ext/libcouchbase/plugins/io/libev/CMakeLists.txt +31 -0
- data/ext/libcouchbase/plugins/io/libev/libev_io_opts.h +66 -0
- data/ext/libcouchbase/plugins/io/libev/plugin-libev.c +289 -0
- data/ext/libcouchbase/plugins/io/libevent/CMakeLists.txt +31 -0
- data/ext/libcouchbase/plugins/io/libevent/libevent_io_opts.h +67 -0
- data/ext/libcouchbase/plugins/io/libevent/plugin-libevent.c +292 -0
- data/ext/libcouchbase/plugins/io/libuv/CMakeLists.txt +44 -0
- data/ext/libcouchbase/plugins/io/libuv/libuv_compat.h +218 -0
- data/ext/libcouchbase/plugins/io/libuv/libuv_io_opts.h +118 -0
- data/ext/libcouchbase/plugins/io/libuv/plugin-internal.h +155 -0
- data/ext/libcouchbase/plugins/io/libuv/plugin-libuv.c +709 -0
- data/ext/libcouchbase/plugins/io/select/CMakeLists.txt +13 -0
- data/ext/libcouchbase/plugins/io/select/plugin-select.c +451 -0
- data/ext/libcouchbase/plugins/io/select/select_io_opts.h +39 -0
- data/ext/libcouchbase/src/README.md +101 -0
- data/ext/libcouchbase/src/aspend.h +105 -0
- data/ext/libcouchbase/src/auth-priv.h +85 -0
- data/ext/libcouchbase/src/auth.cc +146 -0
- data/ext/libcouchbase/src/bootstrap.cc +263 -0
- data/ext/libcouchbase/src/bootstrap.h +149 -0
- data/ext/libcouchbase/src/bucketconfig/bc_cccp.cc +450 -0
- data/ext/libcouchbase/src/bucketconfig/bc_file.cc +281 -0
- data/ext/libcouchbase/src/bucketconfig/bc_http.cc +527 -0
- data/ext/libcouchbase/src/bucketconfig/bc_http.h +107 -0
- data/ext/libcouchbase/src/bucketconfig/bc_static.cc +150 -0
- data/ext/libcouchbase/src/bucketconfig/clconfig.h +700 -0
- data/ext/libcouchbase/src/bucketconfig/confmon.cc +403 -0
- data/ext/libcouchbase/src/callbacks.c +380 -0
- data/ext/libcouchbase/src/cbft.cc +253 -0
- data/ext/libcouchbase/src/cntl.cc +1057 -0
- data/ext/libcouchbase/src/config_static.h +176 -0
- data/ext/libcouchbase/src/connspec.cc +555 -0
- data/ext/libcouchbase/src/connspec.h +155 -0
- data/ext/libcouchbase/src/crypto.cc +399 -0
- data/ext/libcouchbase/src/ctx-log-inl.h +44 -0
- data/ext/libcouchbase/src/dns-srv.cc +146 -0
- data/ext/libcouchbase/src/dump.cc +103 -0
- data/ext/libcouchbase/src/errmap.cc +173 -0
- data/ext/libcouchbase/src/errmap.h +271 -0
- data/ext/libcouchbase/src/getconfig.cc +72 -0
- data/ext/libcouchbase/src/gethrtime.c +109 -0
- data/ext/libcouchbase/src/handler.cc +1101 -0
- data/ext/libcouchbase/src/hashtable.c +75 -0
- data/ext/libcouchbase/src/hdr_timings.c +92 -0
- data/ext/libcouchbase/src/hostlist.cc +293 -0
- data/ext/libcouchbase/src/hostlist.h +160 -0
- data/ext/libcouchbase/src/http/http-priv.h +326 -0
- data/ext/libcouchbase/src/http/http.cc +672 -0
- data/ext/libcouchbase/src/http/http.h +1 -0
- data/ext/libcouchbase/src/http/http_io.cc +316 -0
- data/ext/libcouchbase/src/instance.cc +917 -0
- data/ext/libcouchbase/src/internal.h +285 -0
- data/ext/libcouchbase/src/iofactory.c +575 -0
- data/ext/libcouchbase/src/jsparse/parser.cc +445 -0
- data/ext/libcouchbase/src/jsparse/parser.h +159 -0
- data/ext/libcouchbase/src/lcbht/lcbht.cc +177 -0
- data/ext/libcouchbase/src/lcbht/lcbht.h +210 -0
- data/ext/libcouchbase/src/lcbio/connect.cc +603 -0
- data/ext/libcouchbase/src/lcbio/connect.h +400 -0
- data/ext/libcouchbase/src/lcbio/ctx.c +658 -0
- data/ext/libcouchbase/src/lcbio/ctx.h +405 -0
- data/ext/libcouchbase/src/lcbio/iotable.c +290 -0
- data/ext/libcouchbase/src/lcbio/iotable.h +169 -0
- data/ext/libcouchbase/src/lcbio/ioutils.cc +356 -0
- data/ext/libcouchbase/src/lcbio/ioutils.h +144 -0
- data/ext/libcouchbase/src/lcbio/lcbio.h +51 -0
- data/ext/libcouchbase/src/lcbio/manager.cc +579 -0
- data/ext/libcouchbase/src/lcbio/manager.h +195 -0
- data/ext/libcouchbase/src/lcbio/protoctx.c +84 -0
- data/ext/libcouchbase/src/lcbio/rw-inl.h +137 -0
- data/ext/libcouchbase/src/lcbio/ssl.h +159 -0
- data/ext/libcouchbase/src/lcbio/timer-cxx.h +87 -0
- data/ext/libcouchbase/src/lcbio/timer-ng.h +179 -0
- data/ext/libcouchbase/src/lcbio/timer.c +132 -0
- data/ext/libcouchbase/src/legacy.c +431 -0
- data/ext/libcouchbase/src/list.c +144 -0
- data/ext/libcouchbase/src/list.h +127 -0
- data/ext/libcouchbase/src/logging.c +244 -0
- data/ext/libcouchbase/src/logging.h +88 -0
- data/ext/libcouchbase/src/mc/compress.cc +171 -0
- data/ext/libcouchbase/src/mc/compress.h +56 -0
- data/ext/libcouchbase/src/mc/forward.c +186 -0
- data/ext/libcouchbase/src/mc/forward.h +90 -0
- data/ext/libcouchbase/src/mc/iovcursor-inl.h +279 -0
- data/ext/libcouchbase/src/mc/iovcursor.h +66 -0
- data/ext/libcouchbase/src/mc/mcreq-flush-inl.h +115 -0
- data/ext/libcouchbase/src/mc/mcreq.c +983 -0
- data/ext/libcouchbase/src/mc/mcreq.h +1015 -0
- data/ext/libcouchbase/src/mcserver/mcserver.cc +1055 -0
- data/ext/libcouchbase/src/mcserver/mcserver.h +221 -0
- data/ext/libcouchbase/src/mcserver/negotiate.cc +757 -0
- data/ext/libcouchbase/src/mcserver/negotiate.h +128 -0
- data/ext/libcouchbase/src/mctx-helper.h +62 -0
- data/ext/libcouchbase/src/metrics.cc +132 -0
- data/ext/libcouchbase/src/n1ql/ixmgmt.cc +857 -0
- data/ext/libcouchbase/src/n1ql/n1ql-internal.h +22 -0
- data/ext/libcouchbase/src/n1ql/n1ql.cc +830 -0
- data/ext/libcouchbase/src/n1ql/params.cc +260 -0
- data/ext/libcouchbase/src/netbuf/netbuf-defs.h +89 -0
- data/ext/libcouchbase/src/netbuf/netbuf-mblock.h +235 -0
- data/ext/libcouchbase/src/netbuf/netbuf.c +929 -0
- data/ext/libcouchbase/src/netbuf/netbuf.h +452 -0
- data/ext/libcouchbase/src/newconfig.cc +365 -0
- data/ext/libcouchbase/src/nodeinfo.cc +184 -0
- data/ext/libcouchbase/src/operations/cbflush.cc +63 -0
- data/ext/libcouchbase/src/operations/counter.cc +117 -0
- data/ext/libcouchbase/src/operations/durability-cas.cc +251 -0
- data/ext/libcouchbase/src/operations/durability-seqno.cc +170 -0
- data/ext/libcouchbase/src/operations/durability.cc +668 -0
- data/ext/libcouchbase/src/operations/durability_internal.h +306 -0
- data/ext/libcouchbase/src/operations/get.cc +409 -0
- data/ext/libcouchbase/src/operations/observe-seqno.cc +94 -0
- data/ext/libcouchbase/src/operations/observe.cc +367 -0
- data/ext/libcouchbase/src/operations/ping.cc +496 -0
- data/ext/libcouchbase/src/operations/pktfwd.cc +86 -0
- data/ext/libcouchbase/src/operations/remove.cc +84 -0
- data/ext/libcouchbase/src/operations/stats.cc +459 -0
- data/ext/libcouchbase/src/operations/store.cc +358 -0
- data/ext/libcouchbase/src/operations/subdoc.cc +614 -0
- data/ext/libcouchbase/src/operations/touch.cc +84 -0
- data/ext/libcouchbase/src/packetutils.h +388 -0
- data/ext/libcouchbase/src/probes.d +182 -0
- data/ext/libcouchbase/src/rdb/bigalloc.c +225 -0
- data/ext/libcouchbase/src/rdb/bigalloc.h +73 -0
- data/ext/libcouchbase/src/rdb/chunkalloc.c +174 -0
- data/ext/libcouchbase/src/rdb/libcalloc.c +94 -0
- data/ext/libcouchbase/src/rdb/rope.c +419 -0
- data/ext/libcouchbase/src/rdb/rope.h +488 -0
- data/ext/libcouchbase/src/retrychk.cc +113 -0
- data/ext/libcouchbase/src/retryq.cc +458 -0
- data/ext/libcouchbase/src/retryq.h +170 -0
- data/ext/libcouchbase/src/ringbuffer.c +442 -0
- data/ext/libcouchbase/src/ringbuffer.h +100 -0
- data/ext/libcouchbase/src/rnd.cc +61 -0
- data/ext/libcouchbase/src/rnd.h +39 -0
- data/ext/libcouchbase/src/settings.c +125 -0
- data/ext/libcouchbase/src/settings.h +273 -0
- data/ext/libcouchbase/src/sllist-inl.h +197 -0
- data/ext/libcouchbase/src/sllist.h +76 -0
- data/ext/libcouchbase/src/ssl/CMakeLists.txt +11 -0
- data/ext/libcouchbase/src/ssl/ssl_c.c +442 -0
- data/ext/libcouchbase/src/ssl/ssl_common.c +478 -0
- data/ext/libcouchbase/src/ssl/ssl_e.c +421 -0
- data/ext/libcouchbase/src/ssl/ssl_iot_common.h +182 -0
- data/ext/libcouchbase/src/strcodecs/base64.c +307 -0
- data/ext/libcouchbase/src/strcodecs/strcodecs.h +302 -0
- data/ext/libcouchbase/src/timings.c +207 -0
- data/ext/libcouchbase/src/trace.h +117 -0
- data/ext/libcouchbase/src/tracing/span.cc +421 -0
- data/ext/libcouchbase/src/tracing/threshold_logging_tracer.cc +213 -0
- data/ext/libcouchbase/src/tracing/tracer.cc +53 -0
- data/ext/libcouchbase/src/tracing/tracing-internal.h +198 -0
- data/ext/libcouchbase/src/utilities.c +176 -0
- data/ext/libcouchbase/src/vbucket/CMakeLists.txt +2 -0
- data/ext/libcouchbase/src/vbucket/aliases.h +35 -0
- data/ext/libcouchbase/src/vbucket/crc32.h +83 -0
- data/ext/libcouchbase/src/vbucket/hash.h +30 -0
- data/ext/libcouchbase/src/vbucket/json-inl.h +112 -0
- data/ext/libcouchbase/src/vbucket/ketama.c +66 -0
- data/ext/libcouchbase/src/vbucket/rfc1321/global.h +32 -0
- data/ext/libcouchbase/src/vbucket/rfc1321/md5.h +35 -0
- data/ext/libcouchbase/src/vbucket/rfc1321/md5c-inl.h +335 -0
- data/ext/libcouchbase/src/vbucket/vbucket.c +1735 -0
- data/ext/libcouchbase/src/views/docreq.cc +213 -0
- data/ext/libcouchbase/src/views/docreq.h +94 -0
- data/ext/libcouchbase/src/views/viewreq.cc +381 -0
- data/ext/libcouchbase/src/views/viewreq.h +87 -0
- data/ext/libcouchbase/src/wait.cc +156 -0
- data/ext/libcouchbase/tests/CMakeLists.txt +149 -0
- data/ext/libcouchbase/tests/basic/t_base64.cc +109 -0
- data/ext/libcouchbase/tests/basic/t_ccbc103.cc +95 -0
- data/ext/libcouchbase/tests/basic/t_connstr.cc +456 -0
- data/ext/libcouchbase/tests/basic/t_creds.cc +96 -0
- data/ext/libcouchbase/tests/basic/t_ctlcodes.cc +92 -0
- data/ext/libcouchbase/tests/basic/t_host.cc +210 -0
- data/ext/libcouchbase/tests/basic/t_jsparse.cc +82 -0
- data/ext/libcouchbase/tests/basic/t_jsparse.h +589 -0
- data/ext/libcouchbase/tests/basic/t_list.cc +155 -0
- data/ext/libcouchbase/tests/basic/t_logger.cc +65 -0
- data/ext/libcouchbase/tests/basic/t_misc.cc +24 -0
- data/ext/libcouchbase/tests/basic/t_n1qlstrings.cc +17 -0
- data/ext/libcouchbase/tests/basic/t_netbuf.cc +446 -0
- data/ext/libcouchbase/tests/basic/t_packet.cc +215 -0
- data/ext/libcouchbase/tests/basic/t_ringbuffer.cc +278 -0
- data/ext/libcouchbase/tests/basic/t_scram.cc +514 -0
- data/ext/libcouchbase/tests/basic/t_slist.cc +429 -0
- data/ext/libcouchbase/tests/basic/t_strerror.cc +64 -0
- data/ext/libcouchbase/tests/basic/t_urlencode.cc +132 -0
- data/ext/libcouchbase/tests/check-all.cc +612 -0
- data/ext/libcouchbase/tests/htparse/t_basic.cc +173 -0
- data/ext/libcouchbase/tests/ioserver/connection.cc +166 -0
- data/ext/libcouchbase/tests/ioserver/future.cc +50 -0
- data/ext/libcouchbase/tests/ioserver/ioserver.cc +117 -0
- data/ext/libcouchbase/tests/ioserver/ioserver.h +478 -0
- data/ext/libcouchbase/tests/ioserver/socket.cc +88 -0
- data/ext/libcouchbase/tests/ioserver/ssl_connection.cc +145 -0
- data/ext/libcouchbase/tests/ioserver/threads-pthreads.cc +119 -0
- data/ext/libcouchbase/tests/ioserver/threads-win32.cc +117 -0
- data/ext/libcouchbase/tests/ioserver/threads.h +66 -0
- data/ext/libcouchbase/tests/iotests/iotests.h +15 -0
- data/ext/libcouchbase/tests/iotests/mock-environment.cc +632 -0
- data/ext/libcouchbase/tests/iotests/mock-environment.h +480 -0
- data/ext/libcouchbase/tests/iotests/mock-unit-test.cc +67 -0
- data/ext/libcouchbase/tests/iotests/mock-unit-test.h +61 -0
- data/ext/libcouchbase/tests/iotests/serverparams.h +76 -0
- data/ext/libcouchbase/tests/iotests/t_arithmetic.cc +143 -0
- data/ext/libcouchbase/tests/iotests/t_behavior.cc +220 -0
- data/ext/libcouchbase/tests/iotests/t_configcache.cc +117 -0
- data/ext/libcouchbase/tests/iotests/t_confmon.cc +223 -0
- data/ext/libcouchbase/tests/iotests/t_durability.cc +1108 -0
- data/ext/libcouchbase/tests/iotests/t_eerrs.cc +121 -0
- data/ext/libcouchbase/tests/iotests/t_errmap.cc +181 -0
- data/ext/libcouchbase/tests/iotests/t_forward.cc +118 -0
- data/ext/libcouchbase/tests/iotests/t_get.cc +512 -0
- data/ext/libcouchbase/tests/iotests/t_http.cc +438 -0
- data/ext/libcouchbase/tests/iotests/t_iops.cc +175 -0
- data/ext/libcouchbase/tests/iotests/t_lock.cc +274 -0
- data/ext/libcouchbase/tests/iotests/t_misc.cc +777 -0
- data/ext/libcouchbase/tests/iotests/t_mutate.cc +609 -0
- data/ext/libcouchbase/tests/iotests/t_n1ql.cc +270 -0
- data/ext/libcouchbase/tests/iotests/t_netfail.cc +778 -0
- data/ext/libcouchbase/tests/iotests/t_obseqno.cc +156 -0
- data/ext/libcouchbase/tests/iotests/t_regression.cc +321 -0
- data/ext/libcouchbase/tests/iotests/t_sched.cc +87 -0
- data/ext/libcouchbase/tests/iotests/t_serverops.cc +231 -0
- data/ext/libcouchbase/tests/iotests/t_smoke.cc +528 -0
- data/ext/libcouchbase/tests/iotests/t_snappy.cc +316 -0
- data/ext/libcouchbase/tests/iotests/t_subdoc.cc +857 -0
- data/ext/libcouchbase/tests/iotests/t_syncmode.cc +64 -0
- data/ext/libcouchbase/tests/iotests/t_views.cc +417 -0
- data/ext/libcouchbase/tests/iotests/testutil.cc +251 -0
- data/ext/libcouchbase/tests/iotests/testutil.h +163 -0
- data/ext/libcouchbase/tests/mc/mctest.h +119 -0
- data/ext/libcouchbase/tests/mc/pktmaker.h +101 -0
- data/ext/libcouchbase/tests/mc/t_alloc.cc +269 -0
- data/ext/libcouchbase/tests/mc/t_context.cc +100 -0
- data/ext/libcouchbase/tests/mc/t_flush.cc +185 -0
- data/ext/libcouchbase/tests/mc/t_forward.cc +239 -0
- data/ext/libcouchbase/tests/mc/t_ioflush.cc +102 -0
- data/ext/libcouchbase/tests/mc/t_iovcursor.cc +173 -0
- data/ext/libcouchbase/tests/mocksupport/procutil.c +305 -0
- data/ext/libcouchbase/tests/mocksupport/procutil.h +89 -0
- data/ext/libcouchbase/tests/mocksupport/server.c +391 -0
- data/ext/libcouchbase/tests/mocksupport/server.h +72 -0
- data/ext/libcouchbase/tests/mocksupport/timeout.c +69 -0
- data/ext/libcouchbase/tests/nonio_tests.cc +23 -0
- data/ext/libcouchbase/tests/rdb/rdbtest.h +133 -0
- data/ext/libcouchbase/tests/rdb/t_basic.cc +128 -0
- data/ext/libcouchbase/tests/rdb/t_bigalloc.cc +93 -0
- data/ext/libcouchbase/tests/rdb/t_refs.cc +112 -0
- data/ext/libcouchbase/tests/socktests/socktest.cc +344 -0
- data/ext/libcouchbase/tests/socktests/socktest.h +447 -0
- data/ext/libcouchbase/tests/socktests/t_basic.cc +143 -0
- data/ext/libcouchbase/tests/socktests/t_ctx.cc +73 -0
- data/ext/libcouchbase/tests/socktests/t_manager.cc +159 -0
- data/ext/libcouchbase/tests/socktests/t_putex.cc +256 -0
- data/ext/libcouchbase/tests/socktests/t_read.cc +187 -0
- data/ext/libcouchbase/tests/socktests/t_reentrant.cc +143 -0
- data/ext/libcouchbase/tests/socktests/t_ssl.cc +80 -0
- data/ext/libcouchbase/tests/socktests/t_write.cc +95 -0
- data/ext/libcouchbase/tests/start_mock.bat +15 -0
- data/ext/libcouchbase/tests/start_mock.sh +42 -0
- data/ext/libcouchbase/tests/unit_tests.cc +43 -0
- data/ext/libcouchbase/tests/vbucket/confdata/bad.json +101 -0
- data/ext/libcouchbase/tests/vbucket/confdata/full_25.json +363 -0
- data/ext/libcouchbase/tests/vbucket/confdata/ketama_expected.json +2562 -0
- data/ext/libcouchbase/tests/vbucket/confdata/map_node_present_nodesext_missing_nodes.json +94 -0
- data/ext/libcouchbase/tests/vbucket/confdata/memd_25.json +90 -0
- data/ext/libcouchbase/tests/vbucket/confdata/memd_30.json +1 -0
- data/ext/libcouchbase/tests/vbucket/confdata/memd_45.json +1 -0
- data/ext/libcouchbase/tests/vbucket/confdata/memd_ketama_config.json +31 -0
- data/ext/libcouchbase/tests/vbucket/confdata/terse_25.json +291 -0
- data/ext/libcouchbase/tests/vbucket/confdata/terse_30.json +1 -0
- data/ext/libcouchbase/tests/vbucket/t_config.cc +386 -0
- data/ext/libcouchbase/tools/CMakeLists.txt +80 -0
- data/ext/libcouchbase/tools/cbc-handlers.h +636 -0
- data/ext/libcouchbase/tools/cbc-n1qlback.cc +496 -0
- data/ext/libcouchbase/tools/cbc-pillowfight.cc +1230 -0
- data/ext/libcouchbase/tools/cbc-proxy.cc +534 -0
- data/ext/libcouchbase/tools/cbc-subdoc.cc +825 -0
- data/ext/libcouchbase/tools/cbc.cc +1928 -0
- data/ext/libcouchbase/tools/common/histogram.cc +44 -0
- data/ext/libcouchbase/tools/common/histogram.h +23 -0
- data/ext/libcouchbase/tools/common/options.cc +451 -0
- data/ext/libcouchbase/tools/common/options.h +90 -0
- data/ext/libcouchbase/tools/docgen/docgen.h +495 -0
- data/ext/libcouchbase/tools/docgen/loc.h +211 -0
- data/ext/libcouchbase/tools/docgen/placeholders.h +211 -0
- data/ext/libcouchbase/tools/docgen/seqgen.h +122 -0
- data/ext/libcouchbase/tools/extract-packets.rb +110 -0
- data/ext/libcouchbase/tools/linenoise/linenoise.c +1199 -0
- data/ext/libcouchbase/tools/linenoise/linenoise.h +73 -0
- data/lib/mt-libcouchbase/bucket.rb +825 -0
- data/lib/mt-libcouchbase/callbacks.rb +69 -0
- data/lib/mt-libcouchbase/connection.rb +896 -0
- data/lib/mt-libcouchbase/design_docs.rb +92 -0
- data/lib/mt-libcouchbase/error.rb +68 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdbase.rb +23 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdcounter.rb +36 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdendure.rb +26 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdfts.rb +24 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdget.rb +30 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdgetreplica.rb +49 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdhttp.rb +58 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdn1ql.rb +40 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdobseqno.rb +33 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdobserve.rb +30 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdstore.rb +40 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdstoredur.rb +45 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdsubdoc.rb +61 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdverbosity.rb +29 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdviewquery.rb +61 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/contigbuf.rb +14 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/create_st.rb +15 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/create_st0.rb +23 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/create_st1.rb +26 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/create_st2.rb +32 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/create_st3.rb +26 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/crst_u.rb +20 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/durability_opts_st_v.rb +11 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/durability_opts_t.rb +14 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/durabilityopt_sv0.rb +63 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/enums.rb +1007 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/fragbuf.rb +18 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/ftshandle.rb +7 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/histogram.rb +34 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/http_request_t.rb +7 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/keybuf.rb +20 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/multicmd_ctx.rb +30 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/mutation_token.rb +17 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/n1qlhandle.rb +7 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/n1qlparams.rb +7 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/respbase.rb +29 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/respcounter.rb +32 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/respendure.rb +49 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/respfts.rb +40 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/respget.rb +44 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/resphttp.rb +48 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/respmcversion.rb +38 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/respn1ql.rb +41 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/respobseqno.rb +52 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/respobserve.rb +41 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/respserverbase.rb +32 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/respstats.rb +38 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/respstore.rb +32 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/respstoredur.rb +38 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/respsubdoc.rb +35 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/respviewquery.rb +67 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/sdentry.rb +22 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/sdspec.rb +31 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/t.rb +7 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/valbuf.rb +22 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/valbuf_u_buf.rb +14 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/viewhandle.rb +7 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase.rb +1175 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase_libuv.rb +22 -0
- data/lib/mt-libcouchbase/ext/tasks.rb +39 -0
- data/lib/mt-libcouchbase/n1ql.rb +80 -0
- data/lib/mt-libcouchbase/query_full_text.rb +147 -0
- data/lib/mt-libcouchbase/query_n1ql.rb +123 -0
- data/lib/mt-libcouchbase/query_view.rb +135 -0
- data/lib/mt-libcouchbase/results_fiber.rb +281 -0
- data/lib/mt-libcouchbase/results_native.rb +220 -0
- data/lib/mt-libcouchbase/subdoc_request.rb +139 -0
- data/lib/mt-libcouchbase/version.rb +5 -0
- data/lib/mt-libcouchbase.rb +40 -0
- data/mt-libcouchbase.gemspec +68 -0
- data/spec/bucket_spec.rb +290 -0
- data/spec/connection_spec.rb +257 -0
- data/spec/design_docs_spec.rb +31 -0
- data/spec/error_spec.rb +26 -0
- data/spec/fts_spec.rb +135 -0
- data/spec/n1ql_spec.rb +260 -0
- data/spec/results_libuv_spec.rb +244 -0
- data/spec/results_native_spec.rb +259 -0
- data/spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/design.json +1 -0
- data/spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/node-127.0.0.1%3A8091/data-0000.cbb +0 -0
- data/spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/node-127.0.0.1%3A8091/failover.json +1 -0
- data/spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/node-127.0.0.1%3A8091/meta.json +1 -0
- data/spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/node-127.0.0.1%3A8091/seqno.json +1 -0
- data/spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/node-127.0.0.1%3A8091/snapshot_markers.json +1 -0
- data/spec/subdoc_spec.rb +192 -0
- data/spec/view_spec.rb +201 -0
- data/windows_build.md +36 -0
- metadata +873 -0
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# cbcrc(4) - Configuration file for Couchbase command line tools
|
|
2
|
+
|
|
3
|
+
## SYNOPSIS
|
|
4
|
+
|
|
5
|
+
`~/.cbcrc`
|
|
6
|
+
|
|
7
|
+
## DESCRIPTION
|
|
8
|
+
|
|
9
|
+
cbcrc is an optional configuration file used to provide default values for the
|
|
10
|
+
cbc(1) and cbc-pillowfight(1) utilities. It should be placed in
|
|
11
|
+
|
|
12
|
+
Each entry in the cbcrc file is a line with a key-value pair in the following
|
|
13
|
+
form:
|
|
14
|
+
|
|
15
|
+
# optional comments
|
|
16
|
+
key=value
|
|
17
|
+
|
|
18
|
+
The keys may be specified in random order, and if you specify the same
|
|
19
|
+
key multiple times the last value "wins". The following keys exists:
|
|
20
|
+
|
|
21
|
+
* `connstr`:
|
|
22
|
+
This is the URI-like string used to connect to the cluster. Its format
|
|
23
|
+
consists of a _scheme_ followed by a list of hosts, an optional
|
|
24
|
+
bucket for the path and an optional `?` followed by key-value options.
|
|
25
|
+
|
|
26
|
+
Using custom REST API ports
|
|
27
|
+
|
|
28
|
+
http://localhost:9000,localhost:9001,localhost:9002
|
|
29
|
+
|
|
30
|
+
Using custom memcached ports:
|
|
31
|
+
|
|
32
|
+
couchbase://localhost:9100,localhost:9200,localhost:9300
|
|
33
|
+
|
|
34
|
+
* `user`:
|
|
35
|
+
This is the user name used during authentication to your bucket
|
|
36
|
+
|
|
37
|
+
* `password`:
|
|
38
|
+
This is the password used during authentication to your bucket
|
|
39
|
+
|
|
40
|
+
* `timeout`:
|
|
41
|
+
The timeout value to use for the operations.
|
|
42
|
+
|
|
43
|
+
## NOTES
|
|
44
|
+
|
|
45
|
+
* You can generate such a file from the cbc(1) itself using the `write-config`
|
|
46
|
+
subcommand
|
|
47
|
+
|
|
48
|
+
* Most other options can be specified within the connection string
|
|
49
|
+
|
|
50
|
+
## SEE ALSO
|
|
51
|
+
|
|
52
|
+
cbc(1), cbc-pillowfight(1)
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
* `operation_timeout=SECONDS`:
|
|
2
|
+
Specify the operation timeout in seconds. This is the time the client will
|
|
3
|
+
wait for an operation to complete before timing it out. The default is `2.5`
|
|
4
|
+
* `config_cache=PATH`:
|
|
5
|
+
Enables the client to make use of a file based configuration cache rather
|
|
6
|
+
than connecting for the bootstrap operation. If the file does not exist, the
|
|
7
|
+
client will first connect to the cluster and then cache the bootstrap information
|
|
8
|
+
in the file.
|
|
9
|
+
* `truststorepath=PATH`:
|
|
10
|
+
The path to the server's SSL certificate. This is typically required for SSL
|
|
11
|
+
connectivity unless the certificate has already been added to the OpenSSL
|
|
12
|
+
installation on the system (only applicable with `couchbases://` scheme)
|
|
13
|
+
* `certpath=PATH`:
|
|
14
|
+
The path to the server's SSL certificate. This is typically required for SSL
|
|
15
|
+
connectivity unless the certificate has already been added to the OpenSSL
|
|
16
|
+
installation on the system (only applicable with `couchbases://` scheme).
|
|
17
|
+
This also should contain client certificate when certificate authentication
|
|
18
|
+
used, and in this case other public certificates could be extracted into
|
|
19
|
+
`truststorepath` chain.
|
|
20
|
+
* `keypath=PATH`:
|
|
21
|
+
The path to the client SSL private key. This is typically required for SSL
|
|
22
|
+
client certificate authentication. The certificate itself have to go first
|
|
23
|
+
in chain specified by `certpath` (only applicable with `couchbases://` scheme)
|
|
24
|
+
* `ssl=no_verify`:
|
|
25
|
+
Temporarily disable certificate verification for SSL (only applicable with
|
|
26
|
+
`couchbases://` scheme). This should only be used for quickly debugging SSL
|
|
27
|
+
functionality.
|
|
28
|
+
* `sasl_mech_force=MECHANISM`:
|
|
29
|
+
Force a specific _SASL_ mechanism to be used when performing the initial
|
|
30
|
+
connection. This should only need to be modified for debugging purposes.
|
|
31
|
+
The currently supported mechanisms are `PLAIN` and `CRAM-MD5`
|
|
32
|
+
* `bootstrap_on=<both,http,cccp>`:
|
|
33
|
+
Specify the bootstrap protocol the client should use when attempting to connect
|
|
34
|
+
to the cluster. Options are: `cccp`: Bootstrap using the Memcached protocol
|
|
35
|
+
(supported on clusters 2.5 and greater); `http`: Bootstrap using the HTTP REST
|
|
36
|
+
protocol (supported on any cluster version); and `both`: First attempt bootstrap
|
|
37
|
+
over the Memcached protocol, and use the HTTP protocol if Memcached bootstrap fails.
|
|
38
|
+
The default is `both`
|
|
39
|
+
|
|
40
|
+
* `enable_tracing=true/false`: Activate/deactivate end-to-end tracing.
|
|
41
|
+
|
|
42
|
+
* `tracing_orphaned_queue_flush_interval=SECONDS`: Flush interval for orphaned
|
|
43
|
+
spans queue in default tracer. This is the time the tracer will wait between
|
|
44
|
+
repeated attempts to flush most recent orphaned spans.
|
|
45
|
+
Default value is 10 seconds.
|
|
46
|
+
|
|
47
|
+
* `tracing_orphaned_queue_size=NUMBER`: Size of orphaned spans queue in default
|
|
48
|
+
tracer. Queues in default tracer has fixed size, and it will remove
|
|
49
|
+
information about older spans, when the limit will be reached before flushing
|
|
50
|
+
time.
|
|
51
|
+
Default value is 128.
|
|
52
|
+
|
|
53
|
+
* `tracing_threshold_queue_flush_interval=SECONDS`: Flush interval for spans
|
|
54
|
+
with total time over threshold in default tracer. This is the time the tracer
|
|
55
|
+
will wait between repeated attempts to flush threshold queue.
|
|
56
|
+
Default value is 10 seconds.
|
|
57
|
+
|
|
58
|
+
* `tracing_threshold_queue_size=NUMBER`: Size of threshold queue in default
|
|
59
|
+
tracer. Queues in default tracer has fixed size, and it will remove
|
|
60
|
+
information about older spans, when the limit will be reached before flushing
|
|
61
|
+
time.
|
|
62
|
+
Default value is 128.
|
|
63
|
+
|
|
64
|
+
* `tracing_threshold_kv=SECONDS`: Minimum time for the tracing span of KV
|
|
65
|
+
service to be considered by threshold tracer.
|
|
66
|
+
Default value is 0.5 seconds.
|
|
67
|
+
|
|
68
|
+
* `tracing_threshold_n1ql=SECONDS`: Minimum time for the tracing span of N1QL
|
|
69
|
+
service to be considered by threshold tracer.
|
|
70
|
+
Default value is 1 second.
|
|
71
|
+
|
|
72
|
+
* `tracing_threshold_view=SECONDS`: Minimum time for the tracing span of VIEW
|
|
73
|
+
service to be considered by threshold tracer.
|
|
74
|
+
Default value is 1 second.
|
|
75
|
+
|
|
76
|
+
* `tracing_threshold_fts=SECONDS`: Minimum time for the tracing span of FTS
|
|
77
|
+
service to be considered by threshold tracer.
|
|
78
|
+
Default value is 1 second.
|
|
79
|
+
|
|
80
|
+
* `tracing_threshold_analytics=SECONDS`: Minimum time for the tracing span of
|
|
81
|
+
ANALYTICS service to be considered by threshold tracer.
|
|
82
|
+
Default value is 1 second.
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
* `-U`, `--spec`=_SPEC_:
|
|
2
|
+
A string describing the cluster to connect to. The string is in a URI-like syntax,
|
|
3
|
+
and may also contain other options. See the [EXAMPLES](#examples) section for information.
|
|
4
|
+
Typically such a URI will look like `couchbase://host1,host2,host3/bucket`.
|
|
5
|
+
|
|
6
|
+
The default for this option is `couchbase://localhost/default`
|
|
7
|
+
|
|
8
|
+
* `-u`, `--username`=_USERNAME_:
|
|
9
|
+
Specify the _username_ for the bucket. Since Couchbase 5.x this is mandatory
|
|
10
|
+
switch, and it must specify the name of the user exisiting on cluster (read
|
|
11
|
+
more at "Security/Authorization" section of the server manual). For older servers
|
|
12
|
+
this field should be either left empty or set to the name of the bucket itself.
|
|
13
|
+
|
|
14
|
+
* `-P`, `--password`=_PASSWORD_:
|
|
15
|
+
* `-P -`, `--password=-`:
|
|
16
|
+
Specify the password for the bucket. As for servers before 5.x this was only
|
|
17
|
+
needed if the bucket is protected with a password. For cluster version after 5.x,
|
|
18
|
+
the password is mandatory, and should match the selected account (read more at
|
|
19
|
+
"Security/Authorization" section of the server manual).
|
|
20
|
+
|
|
21
|
+
Specifying the `-` as the password indicates that the program should prompt for the
|
|
22
|
+
password. You may also specify the password on the commandline, directly,
|
|
23
|
+
but is insecure as command line arguments are visible via commands such as `ps`.
|
|
24
|
+
|
|
25
|
+
* `-T`, `--timings`:
|
|
26
|
+
Dump command timings at the end of execution. This will display a histogram
|
|
27
|
+
showing the latencies for the commands executed.
|
|
28
|
+
|
|
29
|
+
* `-v`, `--verbose`:
|
|
30
|
+
Specify more information to standard error about what the client is doing. You may
|
|
31
|
+
specify this option multiple times for increased output detail.
|
|
32
|
+
|
|
33
|
+
* `-D`, `--cparam`=OPTION=VALUE:
|
|
34
|
+
Provide additional client options. Acceptable options can also be placed
|
|
35
|
+
in the connection string, however this option is provided as a convenience.
|
|
36
|
+
This option may be specified multiple times, each time specifying a key=value
|
|
37
|
+
pair (for example, `-Doperation_timeout=10 -Dconfig_cache=/foo/bar/baz`).
|
|
38
|
+
See [ADDITIONAL OPTIONS](#additional-options) for more information
|
|
39
|
+
|
|
40
|
+
* `-y`, `--compress`:
|
|
41
|
+
Enable compressing of documents. When the library is compiled with compression
|
|
42
|
+
support, this option will enable Snappy compression for outgoing data.
|
|
43
|
+
Incoming compressed data handled automatically regardless of this option.
|
|
44
|
+
Note, that because the compression support have to be negotiated with the
|
|
45
|
+
server, first packets might be sent uncompressed even when this switch
|
|
46
|
+
was specified. This is because the library might queue data commands before
|
|
47
|
+
socket connection has been established, and the library will negotiate
|
|
48
|
+
compression feature. If it is known that all server support compression
|
|
49
|
+
repeating the switch (like `-yy`) will force compression for all outgoing
|
|
50
|
+
mutations, even scheduled before establishing connection.
|
|
51
|
+
|
|
52
|
+
* `--truststorepath`=_PATH_:
|
|
53
|
+
The path to the server's SSL certificate. This is typically required for SSL
|
|
54
|
+
connectivity unless the certificate has already been added to the OpenSSL
|
|
55
|
+
installation on the system (only applicable with `couchbases://` scheme)
|
|
56
|
+
|
|
57
|
+
* `--certpath`=_PATH_:
|
|
58
|
+
The path to the server's SSL certificate. This is typically required for SSL
|
|
59
|
+
connectivity unless the certificate has already been added to the OpenSSL
|
|
60
|
+
installation on the system (only applicable with `couchbases://` scheme).
|
|
61
|
+
This also should contain client certificate when certificate authentication
|
|
62
|
+
used, and in this case other public certificates could be extracted into
|
|
63
|
+
`truststorepath` chain.
|
|
64
|
+
|
|
65
|
+
* `--keypath`=_PATH_:
|
|
66
|
+
The path to the client SSL private key. This is typically required for SSL
|
|
67
|
+
client certificate authentication. The certificate itself have to go first
|
|
68
|
+
in chain specified by `certpath` (only applicable with `couchbases://` scheme)
|
|
69
|
+
|
|
70
|
+
* `--dump`:
|
|
71
|
+
Dump verbose internal state after operations are done.
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @page lcb-env-vars-page Environment Variables
|
|
3
|
+
*
|
|
4
|
+
* @brief Environment variables controlling the behavior of the library
|
|
5
|
+
*
|
|
6
|
+
* @details
|
|
7
|
+
* While normally you would configure the library programmatically, there are
|
|
8
|
+
* some environment variables which may affect the library's behavior.
|
|
9
|
+
*
|
|
10
|
+
* Environment variables are intended to aid in debugging and otherwise modifying
|
|
11
|
+
* the library's behavior on a temporary basis. Typically this may be used to
|
|
12
|
+
* increase logging, or to modify/enable a feature which has deliberately been
|
|
13
|
+
* hidden from the normal API.
|
|
14
|
+
*
|
|
15
|
+
*
|
|
16
|
+
* @section lcb-env-vars Environment Variables
|
|
17
|
+
*
|
|
18
|
+
* @subsection LCB_IOPS_NAME
|
|
19
|
+
* Specify the name of the backend to load. This can be one of the built-in
|
|
20
|
+
* names, or it can be a path to a plugin which should be loaded dynamically.
|
|
21
|
+
*
|
|
22
|
+
* The built-in names are:
|
|
23
|
+
*
|
|
24
|
+
* * `libevent`
|
|
25
|
+
* * `libev`
|
|
26
|
+
* * `select`
|
|
27
|
+
* * `libuv`
|
|
28
|
+
* * `iocp` (Windows only)
|
|
29
|
+
*
|
|
30
|
+
* @committed
|
|
31
|
+
*
|
|
32
|
+
*
|
|
33
|
+
* @subsection LCB_IOPS_SYMBOL
|
|
34
|
+
* The symbol inside the shared object (specified as `LCB_IOPS_NAME`) that should
|
|
35
|
+
* contain the plugin initialization function. By default this is in the form of
|
|
36
|
+
* `libcouchbase_create_${NAME}_io_opts`
|
|
37
|
+
*
|
|
38
|
+
* @committed
|
|
39
|
+
*
|
|
40
|
+
* @subsection LCB_DLOPEN_DEBUG
|
|
41
|
+
*
|
|
42
|
+
* Print verbose information to the screen when attempting to log the plugins.
|
|
43
|
+
* This can help determine why a specific plugin is not being loaded
|
|
44
|
+
*
|
|
45
|
+
* @committed
|
|
46
|
+
*
|
|
47
|
+
* @subsection LCB_NO_HTTP
|
|
48
|
+
*
|
|
49
|
+
* Never bootstrap using the HTTP protocol.
|
|
50
|
+
* @volatile
|
|
51
|
+
*
|
|
52
|
+
* @subsection LCB_NO_CCCP
|
|
53
|
+
*
|
|
54
|
+
* Never bootstrap using the memcached protocol
|
|
55
|
+
* @volatile
|
|
56
|
+
*
|
|
57
|
+
* @subsection LCB_LOGLEVEL
|
|
58
|
+
*
|
|
59
|
+
* Enable the console logger and specify its verbosity level. The verbosity
|
|
60
|
+
* level is a number between 1-5 with higher numbers being more verbose
|
|
61
|
+
*
|
|
62
|
+
* @committed
|
|
63
|
+
*
|
|
64
|
+
* @subsection LCB_SSL_MODE
|
|
65
|
+
*
|
|
66
|
+
* Specify the _mode_ to use for SSL. Mode can either be `0` (for no SSL),
|
|
67
|
+
* `1` (for SSL with peer certificate verification), or `3` (for SSL
|
|
68
|
+
* with no certificate verification)
|
|
69
|
+
*
|
|
70
|
+
* @volatile
|
|
71
|
+
*
|
|
72
|
+
* @subsection LCB_SSL_CACERT
|
|
73
|
+
*
|
|
74
|
+
* Specify the path to the CA certificate to be used in order to validate
|
|
75
|
+
* the server's certificate
|
|
76
|
+
*
|
|
77
|
+
* @volatile
|
|
78
|
+
*
|
|
79
|
+
* @section LCB_INTERNAL_ENVVARS Internal Environment Variables
|
|
80
|
+
*
|
|
81
|
+
* @note
|
|
82
|
+
* This section will appear empty unless you have built internal documentation.
|
|
83
|
+
*
|
|
84
|
+
* @internal
|
|
85
|
+
*
|
|
86
|
+
*
|
|
87
|
+
* @subsection LCB_OPTIONS
|
|
88
|
+
*
|
|
89
|
+
* A string containing extra options for the connection string. These options
|
|
90
|
+
* are processed right after the existing connection string options (if any).
|
|
91
|
+
*
|
|
92
|
+
* @internal
|
|
93
|
+
*/
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
#include <pthread.h>
|
|
2
|
+
#include <libcouchbase/couchbase.h>
|
|
3
|
+
#include <libcouchbase/api3.h>
|
|
4
|
+
|
|
5
|
+
typedef struct {
|
|
6
|
+
lcb_t instance;
|
|
7
|
+
pthread_mutex_t mutex;
|
|
8
|
+
} my_CTX;
|
|
9
|
+
|
|
10
|
+
/*
|
|
11
|
+
* This function uses the same instance between threads. A lock
|
|
12
|
+
* is required for every operation
|
|
13
|
+
*/
|
|
14
|
+
static void *
|
|
15
|
+
thrfunc_locked(void *arg)
|
|
16
|
+
{
|
|
17
|
+
my_CTX *ctx = arg;
|
|
18
|
+
lcb_CMDGET cmd = { 0 };
|
|
19
|
+
LCB_CMD_SET_KEY(&cmd, "Hello", strlen("Hello"));
|
|
20
|
+
|
|
21
|
+
pthread_mutex_lock(&ctx->mutex);
|
|
22
|
+
lcb_get3(ctx->instance, NULL, &cmd);
|
|
23
|
+
lcb_wait(ctx->instance);
|
|
24
|
+
pthread_mutex_unlock(&ctx->mutex);
|
|
25
|
+
return NULL;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/*
|
|
29
|
+
* This function uses an instance per thread. Since no other thread
|
|
30
|
+
* is using the instance, locking is not required
|
|
31
|
+
*/
|
|
32
|
+
static void *
|
|
33
|
+
thrfunc_unlocked(void *arg)
|
|
34
|
+
{
|
|
35
|
+
lcb_t instance;
|
|
36
|
+
lcb_create(&instance, NULL);
|
|
37
|
+
lcb_connect(instance);
|
|
38
|
+
lcb_wait(instance);
|
|
39
|
+
lcb_get_cmd_t cmd = { 0 }, *cmdp = &cmd;
|
|
40
|
+
lcb_get(instance, NULL, 1, &cmdp);
|
|
41
|
+
lcb_wait(instance);
|
|
42
|
+
lcb_destroy(instance);
|
|
43
|
+
return NULL;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
int main(void)
|
|
47
|
+
{
|
|
48
|
+
pthread_t thrs[10];
|
|
49
|
+
my_CTX ctx;
|
|
50
|
+
int ii;
|
|
51
|
+
|
|
52
|
+
lcb_create(&ctx.instance, NULL);
|
|
53
|
+
lcb_connect(ctx.instance);
|
|
54
|
+
lcb_wait(ctx.instance);
|
|
55
|
+
pthread_mutex_init(&ctx.mutex, NULL);
|
|
56
|
+
|
|
57
|
+
for (ii = 0; ii < 10; ii++) {
|
|
58
|
+
pthread_create(&thrs[ii], NULL, thrfunc_locked, &ctx);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
for (ii = 0; ii < 10; ii++) {
|
|
62
|
+
void *ign;
|
|
63
|
+
pthread_join(thrs[ii], &ign);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
lcb_destroy(ctx.instance);
|
|
67
|
+
pthread_mutex_destroy(&ctx.mutex);
|
|
68
|
+
|
|
69
|
+
for (ii = 0; ii < 10; ii++) {
|
|
70
|
+
pthread_create(&thrs[ii], NULL, thrfunc_unlocked, NULL);
|
|
71
|
+
}
|
|
72
|
+
for (ii = 0; ii < 10; ii++) {
|
|
73
|
+
void *ign;
|
|
74
|
+
pthread_join(thrs[ii], &ign);
|
|
75
|
+
}
|
|
76
|
+
return 0;
|
|
77
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<!-- start footer part -->
|
|
2
|
+
<!--BEGIN GENERATE_TREEVIEW-->
|
|
3
|
+
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
4
|
+
<ul>
|
|
5
|
+
$navpath
|
|
6
|
+
<li class="footer">
|
|
7
|
+
<b>Copyright 2010-2017, Couchbase Inc.</b>
|
|
8
|
+
$generatedby
|
|
9
|
+
<a href="http://www.doxygen.org/index.html">
|
|
10
|
+
<img class="footer" src="$relpath$doxygen.png" alt="doxygen"/></a> $doxygenversion </li>
|
|
11
|
+
</ul>
|
|
12
|
+
</div>
|
|
13
|
+
<!--END GENERATE_TREEVIEW-->
|
|
14
|
+
<!--BEGIN !GENERATE_TREEVIEW-->
|
|
15
|
+
<hr class="footer"/><address class="footer"><small>
|
|
16
|
+
$generatedby  <a href="http://www.doxygen.org/index.html">
|
|
17
|
+
<img class="footer" src="$relpath$doxygen.png" alt="doxygen"/>
|
|
18
|
+
</a> $doxygenversion
|
|
19
|
+
</small></address>
|
|
20
|
+
<!--END !GENERATE_TREEVIEW-->
|
|
21
|
+
</body>
|
|
22
|
+
</html>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
set -e
|
|
3
|
+
set -x
|
|
4
|
+
|
|
5
|
+
# Run from the top level source directory
|
|
6
|
+
OUTDIR=man
|
|
7
|
+
SRCDIR=.
|
|
8
|
+
|
|
9
|
+
MANPAGES="cbc cbc-pillowfight cbc-n1qlback cbc-subdoc"
|
|
10
|
+
for page in $MANPAGES; do
|
|
11
|
+
ruby -e "puts ARGF.read.gsub('@@common-options.markdown@@', File.read('common-options.markdown'))" $SRCDIR/$page.markdown | \
|
|
12
|
+
ruby -e "puts ARGF.read.gsub('@@common-additional-options.markdown@@', File.read('common-additional-options.markdown'))" | \
|
|
13
|
+
ronn --pipe --roff | sed 's/\\.\\.\\./\\[char46]\\[char46]\\[char46]/g' > $OUTDIR/$page.1
|
|
14
|
+
done
|
|
15
|
+
ronn --pipe --roff $SRCDIR/cbcrc.markdown | sed 's/\\.\\.\\./\\[char46]\\[char46]\\[char46]/g' > $OUTDIR/cbcrc.4
|
|
16
|
+
|
|
17
|
+
MANLINKS="cat cp create observe flush hash lock unlock rm stats \
|
|
18
|
+
version verbosity view admin bucket-create bucket-delete connstr \
|
|
19
|
+
role-list user-list user-upsert user-delete ping n1ql mcflush \
|
|
20
|
+
decr incr watch mcversion"
|
|
21
|
+
|
|
22
|
+
for link in $MANLINKS; do
|
|
23
|
+
dest="$OUTDIR/cbc-${link}.1"
|
|
24
|
+
echo ".so man1/cbc.1" > "$dest"
|
|
25
|
+
done
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
2
|
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
3
|
+
<head>
|
|
4
|
+
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
5
|
+
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
6
|
+
<!--BEGIN PROJECT_NAME--><title>$projectname: $title</title><!--END PROJECT_NAME-->
|
|
7
|
+
<!--BEGIN !PROJECT_NAME--><title>$title</title><!--END !PROJECT_NAME-->
|
|
8
|
+
<link href="$relpath$tabs.css" rel="stylesheet" type="text/css"/>
|
|
9
|
+
<script type="text/javascript" src="$relpath$jquery.js"></script>
|
|
10
|
+
<script type="text/javascript" src="$relpath$dynsections.js"></script>
|
|
11
|
+
$treeview
|
|
12
|
+
$search
|
|
13
|
+
$mathjax
|
|
14
|
+
<link href="$relpath$style.css" rel="stylesheet" type="text/css" />
|
|
15
|
+
</head>
|
|
16
|
+
<body>
|
|
17
|
+
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
18
|
+
|
|
19
|
+
<!--BEGIN TITLEAREA-->
|
|
20
|
+
<div id="titlearea">
|
|
21
|
+
<table cellspacing="0" cellpadding="0">
|
|
22
|
+
<tbody>
|
|
23
|
+
<tr style="height: 30px;">
|
|
24
|
+
<!--BEGIN PROJECT_LOGO-->
|
|
25
|
+
<td id="projectlogo"><img alt="Logo" src="$relpath$$projectlogo"/></td>
|
|
26
|
+
<!--END PROJECT_LOGO-->
|
|
27
|
+
<!--BEGIN PROJECT_NAME-->
|
|
28
|
+
<td style="padding-left: 0.5em;">
|
|
29
|
+
<div id="projectname">$projectname
|
|
30
|
+
<!--BEGIN PROJECT_NUMBER--> <span id="projectnumber">$projectnumber</span><!--END PROJECT_NUMBER-->
|
|
31
|
+
</div>
|
|
32
|
+
<!--BEGIN PROJECT_BRIEF--><div id="projectbrief">$projectbrief</div><!--END PROJECT_BRIEF-->
|
|
33
|
+
</td>
|
|
34
|
+
<!--END PROJECT_NAME-->
|
|
35
|
+
<!--BEGIN !PROJECT_NAME-->
|
|
36
|
+
<!--BEGIN PROJECT_BRIEF-->
|
|
37
|
+
<td style="padding-left: 0.5em;">
|
|
38
|
+
<div id="projectbrief">$projectbrief</div>
|
|
39
|
+
</td>
|
|
40
|
+
<!--END PROJECT_BRIEF-->
|
|
41
|
+
<!--END !PROJECT_NAME-->
|
|
42
|
+
<!--BEGIN DISABLE_INDEX-->
|
|
43
|
+
<!--BEGIN SEARCHENGINE-->
|
|
44
|
+
<td>$searchbox</td>
|
|
45
|
+
<!--END SEARCHENGINE-->
|
|
46
|
+
<!--END DISABLE_INDEX-->
|
|
47
|
+
</tr>
|
|
48
|
+
</tbody>
|
|
49
|
+
</table>
|
|
50
|
+
</div>
|
|
51
|
+
<!--END TITLEAREA-->
|
|
52
|
+
<!-- end header part -->
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @page intro_sec Introduction
|
|
3
|
+
*
|
|
4
|
+
* libcouchbase is an asynchronous library for connecting to a Couchbase
|
|
5
|
+
* server and performing data operations.
|
|
6
|
+
*
|
|
7
|
+
* This contains the API documentation for the library. The documentation
|
|
8
|
+
* consists of both _internal_ and _public_ interfaces.
|
|
9
|
+
*
|
|
10
|
+
* Using the library is comprised of these steps:
|
|
11
|
+
*
|
|
12
|
+
* 1. Create an instance (See lcb_create())
|
|
13
|
+
* 2. Install callbacks (See lcb_set_get_callback())
|
|
14
|
+
* 3. Schedule an operation (e.g. lcb_get())
|
|
15
|
+
* 4. Wait for the operation to complete (lcb_wait())
|
|
16
|
+
*
|
|
17
|
+
* _libcouchbase_ is an asynchronous library which means that operation
|
|
18
|
+
* results are passed to callbacks you define rather than being returned from
|
|
19
|
+
* functions.
|
|
20
|
+
*
|
|
21
|
+
* Callbacks are passed a `cookie` parameter which is a user-defined pointer
|
|
22
|
+
* (i.e. your own pointer which can be `NULL`) to associate a specific command
|
|
23
|
+
* with a specific callback invocation.
|
|
24
|
+
*
|
|
25
|
+
* For simple synchronous use, you will need to call lcb_wait() after each
|
|
26
|
+
* set of scheduled operations. During lcb_wait() the library will block for
|
|
27
|
+
* I/O and invoke your callbacks as the results for the operations arrive.
|
|
28
|
+
*
|
|
29
|
+
* For non-synchronous use cases you can integrate with a variety of event loops
|
|
30
|
+
* via the various plugins, or integrate one yourself via the `IOPS` API
|
|
31
|
+
* (see @ref lcb-io-plugin-api)
|
|
32
|
+
*
|
|
33
|
+
* Modifying the library's settings (for example, timeout settings) may be done
|
|
34
|
+
* via the lcb_cntl() interface (see @ref lcb-cntl-settings) or via some environment
|
|
35
|
+
* variables (see @ref lcb-env-vars)
|
|
36
|
+
*
|
|
37
|
+
*
|
|
38
|
+
*
|
|
39
|
+
* ## Using the headers and libraries
|
|
40
|
+
*
|
|
41
|
+
* Using the libcouchbase headers is simple. Simply:
|
|
42
|
+
* @code{.c}
|
|
43
|
+
* #include <libcouchbase/couchbase.h>
|
|
44
|
+
* @endcode
|
|
45
|
+
*
|
|
46
|
+
* into your application.
|
|
47
|
+
*
|
|
48
|
+
* To link, simply link against `libcouchbase` (e.g. `-lcouchbase`).
|
|
49
|
+
*
|
|
50
|
+
*
|
|
51
|
+
* See @ref lcb_attributes for interface stability taxonomy and @ref lcb_thrsafe
|
|
52
|
+
* for information on programming in threaded environments
|
|
53
|
+
*
|
|
54
|
+
*
|
|
55
|
+
*
|
|
56
|
+
* ## Minimal example usage
|
|
57
|
+
* @include example/minimal/minimal.c
|
|
58
|
+
*
|
|
59
|
+
* ## Configuring and Tuning the library
|
|
60
|
+
*
|
|
61
|
+
* The library may be configured either programmatically via lcb_cntl(),
|
|
62
|
+
* or via the environment (see @ref lcb-env-vars)
|
|
63
|
+
*
|
|
64
|
+
*
|
|
65
|
+
* ## Simple Usage Steps
|
|
66
|
+
*
|
|
67
|
+
* 1. Create an `lcb_t` handle. This is done via lcb_create()
|
|
68
|
+
* 2. Schedule the initial connection, this is done via lcb_connect()
|
|
69
|
+
* 3. Wait for the initial connection to complete, via lcb_wait()
|
|
70
|
+
* 4. Install the callbacks for retrieval and storage (lcb_set_get_callback(),
|
|
71
|
+
* lcb_set_stor_callback()).
|
|
72
|
+
* 5. Set up a command structure for storing an item, i.e. @ref lcb_store_cmd_t.
|
|
73
|
+
* 6. Schedule the operation via lcb_store(). You will also likely want to
|
|
74
|
+
* pass a `cookie` parameter along with it so that you can associate your
|
|
75
|
+
* application's structures via the callback.
|
|
76
|
+
* 7. Invoke lcb_wait(). Your callback will be invoked with the result of
|
|
77
|
+
* the storage operation.
|
|
78
|
+
*
|
|
79
|
+
*
|
|
80
|
+
*
|
|
81
|
+
*
|
|
82
|
+
* @internal
|
|
83
|
+
* ## Public vs Internal APIs
|
|
84
|
+
*
|
|
85
|
+
* The @ref lcb-public-api section is where you should begin browsing to develop
|
|
86
|
+
* with the library. Any sections not contained within the public API are
|
|
87
|
+
* internal and are provided to aid in developing new features and fixing bugs
|
|
88
|
+
* within the library itself.
|
|
89
|
+
*
|
|
90
|
+
* ## Internal Header Layouts
|
|
91
|
+
*
|
|
92
|
+
* The internal headers are organized like so:
|
|
93
|
+
*
|
|
94
|
+
* * <lcbio/lcbio.h> - I/O Core
|
|
95
|
+
* * <mc/mcreq.h> - Memcached packet codecs
|
|
96
|
+
* * <netbuf/netbuf.h> - Write buffer implementation
|
|
97
|
+
* * <rdb/rope.h> - Read buffer implementation
|
|
98
|
+
* * <mcserver/mcserver.h> - Memcached client I/O
|
|
99
|
+
* * <mcserver/negotiate.h> - Memcached client initial SASL handling
|
|
100
|
+
* * <bucketconfig/clconfig.h> - Couchbase cluster configuration retrieval
|
|
101
|
+
* * <packetutils.h> - Utility for response packets
|
|
102
|
+
* * <src/retryq.h> - Retry queue for failed packets
|
|
103
|
+
* * <src/internal.h> - Other internal functions not in the above categories
|
|
104
|
+
*
|
|
105
|
+
* In addition to these files, there are several non-core files which exist
|
|
106
|
+
* to provide simple utilities which are not specific to the library:
|
|
107
|
+
*
|
|
108
|
+
* * <list.h> - Double-linked list
|
|
109
|
+
* * <sllist.h>, <sllist-inl.h> - Single linked list
|
|
110
|
+
* * <genhash.h> - Hashtable
|
|
111
|
+
* * <hashset.h> - Set of unique elements
|
|
112
|
+
* * <hostlist.h> - Host/Port structures and lists
|
|
113
|
+
*
|
|
114
|
+
* @endinternal
|
|
115
|
+
*
|
|
116
|
+
* ## Prerequisite Knowledge
|
|
117
|
+
*
|
|
118
|
+
* libcouchbase is a cross platform C library used to interact with Couchbase
|
|
119
|
+
* Server. It is assumed that you know about:
|
|
120
|
+
*
|
|
121
|
+
* * Key-Value stores
|
|
122
|
+
* * The C language
|
|
123
|
+
* * Asynchronous and non-blocking programming.
|
|
124
|
+
*
|
|
125
|
+
* To develop with the I/O integration APIs, you will need to know about:
|
|
126
|
+
*
|
|
127
|
+
* * Socket APIs
|
|
128
|
+
* * Event loops
|
|
129
|
+
*
|
|
130
|
+
*/
|