libcouchbase 0.2.0 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +1 -1
- data/README.md +1 -1
- data/ext/libcouchbase/CMakeLists.txt +8 -6
- data/ext/libcouchbase/README.markdown +2 -2
- data/ext/libcouchbase/RELEASE_NOTES.markdown +0 -86
- data/ext/libcouchbase/cmake/Modules/ConfigureDtrace.cmake +0 -11
- data/ext/libcouchbase/cmake/Modules/GenerateConfigDotH.cmake +0 -2
- data/ext/libcouchbase/cmake/Modules/GetLibcouchbaseFlags.cmake +1 -2
- data/ext/libcouchbase/cmake/Modules/GetVersionInfo.cmake +3 -3
- data/ext/libcouchbase/cmake/config-cmake.h.in +0 -2
- data/ext/libcouchbase/cmake/defs.mk.in +2 -0
- data/ext/libcouchbase/cmake/source_files.cmake +5 -21
- data/ext/libcouchbase/include/libcouchbase/auth.h +0 -10
- data/ext/libcouchbase/include/libcouchbase/cntl.h +1 -27
- data/ext/libcouchbase/include/libcouchbase/error.h +1 -15
- data/ext/libcouchbase/include/libcouchbase/n1ql.h +1 -13
- data/ext/libcouchbase/include/libcouchbase/plugins/io/bsdio-inl.c +1 -1
- data/ext/libcouchbase/include/libcouchbase/subdoc.h +0 -9
- data/ext/libcouchbase/include/libcouchbase/views.h +1 -7
- data/ext/libcouchbase/include/libcouchbase/visibility.h +0 -1
- data/ext/libcouchbase/include/memcached/protocol_binary.h +1131 -29
- data/ext/libcouchbase/include/memcached/vbucket.h +42 -0
- data/ext/libcouchbase/packaging/parse-git-describe.pl +1 -1
- data/ext/libcouchbase/plugins/io/libev/libev_io_opts.h +2 -3
- data/ext/libcouchbase/src/README.md +2 -0
- data/ext/libcouchbase/src/auth-priv.h +0 -1
- data/ext/libcouchbase/src/auth.cc +4 -10
- data/ext/libcouchbase/src/bootstrap.c +269 -0
- data/ext/libcouchbase/src/bootstrap.h +39 -50
- data/ext/libcouchbase/src/bucketconfig/bc_cccp.cc +117 -84
- data/ext/libcouchbase/src/bucketconfig/bc_file.c +347 -0
- data/ext/libcouchbase/src/bucketconfig/bc_http.c +630 -0
- data/ext/libcouchbase/src/bucketconfig/bc_http.h +25 -50
- data/ext/libcouchbase/src/bucketconfig/bc_mcraw.c +150 -0
- data/ext/libcouchbase/src/bucketconfig/clconfig.h +386 -407
- data/ext/libcouchbase/src/bucketconfig/confmon.c +474 -0
- data/ext/libcouchbase/src/cbft.cc +27 -22
- data/ext/libcouchbase/src/cntl.cc +19 -30
- data/ext/libcouchbase/src/connspec.cc +1 -48
- data/ext/libcouchbase/src/connspec.h +0 -27
- data/ext/libcouchbase/src/dump.cc +2 -2
- data/ext/libcouchbase/src/getconfig.cc +33 -7
- data/ext/libcouchbase/src/handler.cc +2 -0
- data/ext/libcouchbase/src/hostlist.cc +36 -0
- data/ext/libcouchbase/src/hostlist.h +62 -41
- data/ext/libcouchbase/src/http/http-priv.h +112 -125
- data/ext/libcouchbase/src/http/http.cc +30 -15
- data/ext/libcouchbase/src/http/http.h +34 -1
- data/ext/libcouchbase/src/http/http_io.cc +26 -22
- data/ext/libcouchbase/src/instance.cc +23 -94
- data/ext/libcouchbase/src/internal.h +26 -52
- data/ext/libcouchbase/src/jsparse/parser.cc +202 -146
- data/ext/libcouchbase/src/jsparse/parser.h +98 -91
- data/ext/libcouchbase/src/lcbht/lcbht.c +282 -0
- data/ext/libcouchbase/src/lcbht/lcbht.h +163 -174
- data/ext/libcouchbase/src/lcbio/connect.c +557 -0
- data/ext/libcouchbase/src/lcbio/connect.h +2 -9
- data/ext/libcouchbase/src/lcbio/ctx.c +1 -1
- data/ext/libcouchbase/src/lcbio/iotable.h +16 -61
- data/ext/libcouchbase/src/lcbio/ioutils.h +1 -1
- data/ext/libcouchbase/src/lcbio/manager.c +2 -2
- data/ext/libcouchbase/src/mc/mcreq.h +2 -9
- data/ext/libcouchbase/src/mcserver/mcserver.cc +34 -143
- data/ext/libcouchbase/src/mcserver/mcserver.h +12 -7
- data/ext/libcouchbase/src/mcserver/negotiate.cc +38 -132
- data/ext/libcouchbase/src/n1ql/ixmgmt.cc +2 -1
- data/ext/libcouchbase/src/n1ql/n1ql.cc +32 -56
- data/ext/libcouchbase/src/newconfig.cc +6 -6
- data/ext/libcouchbase/src/nodeinfo.cc +2 -2
- data/ext/libcouchbase/src/operations/{cbflush.cc → cbflush.c} +15 -7
- data/ext/libcouchbase/src/operations/{counter.cc → counter.c} +0 -0
- data/ext/libcouchbase/src/operations/durability.cc +26 -6
- data/ext/libcouchbase/src/operations/durability_internal.h +3 -6
- data/ext/libcouchbase/src/operations/{get.cc → get.c} +26 -24
- data/ext/libcouchbase/src/operations/{observe.cc → observe.c} +93 -68
- data/ext/libcouchbase/src/operations/{pktfwd.cc → pktfwd.c} +0 -0
- data/ext/libcouchbase/src/operations/{remove.cc → remove.c} +0 -0
- data/ext/libcouchbase/src/operations/stats.cc +8 -3
- data/ext/libcouchbase/src/operations/{store.cc → store.c} +32 -27
- data/ext/libcouchbase/src/operations/subdoc.cc +18 -38
- data/ext/libcouchbase/src/operations/{touch.cc → touch.c} +0 -0
- data/ext/libcouchbase/src/packetutils.c +37 -0
- data/ext/libcouchbase/src/packetutils.h +2 -2
- data/ext/libcouchbase/src/probes.d +1 -1
- data/ext/libcouchbase/src/{retrychk.cc → retrychk.c} +3 -2
- data/ext/libcouchbase/src/retryq.cc +4 -4
- data/ext/libcouchbase/src/settings.c +0 -3
- data/ext/libcouchbase/src/settings.h +0 -5
- data/ext/libcouchbase/src/simplestring.c +211 -0
- data/ext/libcouchbase/src/simplestring.h +228 -0
- data/ext/libcouchbase/src/ssl/ssl_c.c +0 -1
- data/ext/libcouchbase/src/ssl/ssl_common.c +0 -2
- data/ext/libcouchbase/src/ssl/ssl_e.c +1 -0
- data/ext/libcouchbase/src/ssobuf.h +82 -0
- data/ext/libcouchbase/src/trace.h +4 -4
- data/ext/libcouchbase/src/vbucket/vbucket.c +1 -0
- data/ext/libcouchbase/src/views/{docreq.cc → docreq.c} +54 -48
- data/ext/libcouchbase/src/views/docreq.h +30 -24
- data/ext/libcouchbase/src/views/viewreq.c +358 -0
- data/ext/libcouchbase/src/views/viewreq.h +13 -43
- data/ext/libcouchbase/tests/basic/t_connstr.cc +50 -89
- data/ext/libcouchbase/tests/basic/t_host.cc +75 -67
- data/ext/libcouchbase/tests/basic/t_jsparse.cc +78 -27
- data/ext/libcouchbase/tests/basic/t_string.cc +112 -0
- data/ext/libcouchbase/tests/htparse/t_basic.cc +78 -58
- data/ext/libcouchbase/tests/iotests/mock-environment.h +1 -2
- data/ext/libcouchbase/tests/iotests/t_confmon.cc +114 -96
- data/ext/libcouchbase/tests/mc/t_alloc.cc +9 -9
- data/ext/libcouchbase/tools/cbc-pillowfight.cc +1 -1
- data/lib/libcouchbase/ext/tasks.rb +6 -2
- data/lib/libcouchbase/query_view.rb +1 -1
- data/lib/libcouchbase/results_fiber.rb +6 -6
- data/lib/libcouchbase/version.rb +1 -1
- metadata +26 -26
- data/ext/libcouchbase/src/bootstrap.cc +0 -216
- data/ext/libcouchbase/src/bucketconfig/bc_file.cc +0 -281
- data/ext/libcouchbase/src/bucketconfig/bc_http.cc +0 -528
- data/ext/libcouchbase/src/bucketconfig/bc_mcraw.cc +0 -115
- data/ext/libcouchbase/src/bucketconfig/confmon.cc +0 -378
- data/ext/libcouchbase/src/dns-srv.cc +0 -142
- data/ext/libcouchbase/src/errmap.cc +0 -107
- data/ext/libcouchbase/src/errmap.h +0 -113
- data/ext/libcouchbase/src/lcbht/lcbht.cc +0 -177
- data/ext/libcouchbase/src/lcbio/connect.cc +0 -562
- data/ext/libcouchbase/src/lcbio/timer-cxx.h +0 -87
- data/ext/libcouchbase/src/mctx-helper.h +0 -51
- data/ext/libcouchbase/src/views/viewreq.cc +0 -318
- data/ext/libcouchbase/tests/iotests/t_errmap.cc +0 -97
@@ -1,97 +0,0 @@
|
|
1
|
-
#include "config.h"
|
2
|
-
#include "iotests.h"
|
3
|
-
#include "internal.h"
|
4
|
-
#include <map>
|
5
|
-
|
6
|
-
class ErrmapUnitTest : public MockUnitTest {
|
7
|
-
protected:
|
8
|
-
virtual void createErrmapConnection(HandleWrap& hw, lcb_t& instance) {
|
9
|
-
MockEnvironment::getInstance()->createConnection(hw, instance);
|
10
|
-
ASSERT_EQ(LCB_SUCCESS, lcb_cntl_string(instance, "enable_errmap", "true"));
|
11
|
-
ASSERT_EQ(LCB_SUCCESS, lcb_connect(instance));
|
12
|
-
lcb_wait(instance);
|
13
|
-
ASSERT_EQ(LCB_SUCCESS, lcb_get_bootstrap_status(instance));
|
14
|
-
}
|
15
|
-
};
|
16
|
-
|
17
|
-
struct ResultCookie {
|
18
|
-
lcb_error_t rc;
|
19
|
-
bool called;
|
20
|
-
|
21
|
-
void reset() {
|
22
|
-
rc = LCB_SUCCESS;
|
23
|
-
called = false;
|
24
|
-
}
|
25
|
-
ResultCookie() : rc(LCB_SUCCESS), called(false) {
|
26
|
-
}
|
27
|
-
};
|
28
|
-
|
29
|
-
extern "C" {
|
30
|
-
static void opcb(lcb_t,int,const lcb_RESPBASE* rb) {
|
31
|
-
ResultCookie *cookie = reinterpret_cast<ResultCookie*>(rb->cookie);
|
32
|
-
cookie->called = true;
|
33
|
-
cookie->rc = rb->rc;
|
34
|
-
}
|
35
|
-
}
|
36
|
-
|
37
|
-
TEST_F(ErrmapUnitTest, hasRecognizedErrors) {
|
38
|
-
SKIP_UNLESS_MOCK();
|
39
|
-
HandleWrap hw;
|
40
|
-
lcb_t instance;
|
41
|
-
|
42
|
-
createErrmapConnection(hw, instance);
|
43
|
-
|
44
|
-
// Test the actual error map..
|
45
|
-
using namespace lcb;
|
46
|
-
const errmap::ErrorMap& em = *instance->settings->errmap;
|
47
|
-
const errmap::Error& err = em.getError(PROTOCOL_BINARY_RESPONSE_KEY_ENOENT);
|
48
|
-
ASSERT_TRUE(err.isValid());
|
49
|
-
ASSERT_TRUE(err.hasAttribute(errmap::CONSTRAINT_FAILURE));
|
50
|
-
}
|
51
|
-
|
52
|
-
TEST_F(ErrmapUnitTest, closesOnUnrecognizedError) {
|
53
|
-
// For now, EINTERNAL is an error code we don't know!
|
54
|
-
SKIP_UNLESS_MOCK();
|
55
|
-
HandleWrap hw;
|
56
|
-
lcb_t instance;
|
57
|
-
createErrmapConnection(hw, instance);
|
58
|
-
|
59
|
-
const char *key = "key";
|
60
|
-
lcb_CMDSTORE scmd = { 0 };
|
61
|
-
LCB_CMD_SET_KEY(&scmd, key, strlen(key));
|
62
|
-
LCB_CMD_SET_VALUE(&scmd, "val", 3);
|
63
|
-
|
64
|
-
ResultCookie cookie;
|
65
|
-
lcb_install_callback3(instance, LCB_CALLBACK_STORE, opcb);
|
66
|
-
ASSERT_EQ(LCB_SUCCESS, lcb_store3(instance, &cookie, &scmd));
|
67
|
-
lcb_wait(instance);
|
68
|
-
ASSERT_EQ(LCB_SUCCESS, cookie.rc);
|
69
|
-
|
70
|
-
MockCommand cmd(MockCommand::OPFAIL);
|
71
|
-
|
72
|
-
// Determine the server
|
73
|
-
int srvix = instance->map_key(key);
|
74
|
-
|
75
|
-
cmd.set("server", srvix);
|
76
|
-
cmd.set("code", PROTOCOL_BINARY_RESPONSE_EINTERNAL); // Invalidate the connection!
|
77
|
-
cmd.set("count", 1);
|
78
|
-
doMockTxn(cmd);
|
79
|
-
|
80
|
-
cookie.reset();
|
81
|
-
ASSERT_EQ(LCB_SUCCESS, lcb_store3(instance, &cookie, &scmd));
|
82
|
-
lcb_wait(instance);
|
83
|
-
|
84
|
-
ASSERT_TRUE(cookie.called);
|
85
|
-
ASSERT_NE(LCB_SUCCESS, cookie.rc);
|
86
|
-
|
87
|
-
cookie.reset();
|
88
|
-
ASSERT_EQ(LCB_SUCCESS, lcb_store3(instance, &cookie, &scmd));
|
89
|
-
lcb_wait(instance);
|
90
|
-
ASSERT_TRUE(cookie.called);
|
91
|
-
|
92
|
-
// Note, we can't determine what the actual error here is. It would be nice
|
93
|
-
// if we were able to reconnect and retry the other commands, but right now
|
94
|
-
// detecting a failed connection is better than having no detection at all:
|
95
|
-
//
|
96
|
-
// ASSERT_EQ(LCB_SUCCESS, cookie.rc);
|
97
|
-
}
|