libcouchbase-mapo 1.4.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +20 -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/lib/libcouchbase.rb +40 -0
- data/lib/libcouchbase/bucket.rb +825 -0
- data/lib/libcouchbase/callbacks.rb +69 -0
- data/lib/libcouchbase/connection.rb +886 -0
- data/lib/libcouchbase/design_docs.rb +92 -0
- data/lib/libcouchbase/error.rb +68 -0
- data/lib/libcouchbase/ext/libcouchbase.rb +1175 -0
- data/lib/libcouchbase/ext/libcouchbase/cmdbase.rb +23 -0
- data/lib/libcouchbase/ext/libcouchbase/cmdcounter.rb +36 -0
- data/lib/libcouchbase/ext/libcouchbase/cmdendure.rb +26 -0
- data/lib/libcouchbase/ext/libcouchbase/cmdfts.rb +24 -0
- data/lib/libcouchbase/ext/libcouchbase/cmdget.rb +30 -0
- data/lib/libcouchbase/ext/libcouchbase/cmdgetreplica.rb +49 -0
- data/lib/libcouchbase/ext/libcouchbase/cmdhttp.rb +58 -0
- data/lib/libcouchbase/ext/libcouchbase/cmdn1ql.rb +40 -0
- data/lib/libcouchbase/ext/libcouchbase/cmdobseqno.rb +33 -0
- data/lib/libcouchbase/ext/libcouchbase/cmdobserve.rb +30 -0
- data/lib/libcouchbase/ext/libcouchbase/cmdstore.rb +40 -0
- data/lib/libcouchbase/ext/libcouchbase/cmdstoredur.rb +45 -0
- data/lib/libcouchbase/ext/libcouchbase/cmdsubdoc.rb +61 -0
- data/lib/libcouchbase/ext/libcouchbase/cmdverbosity.rb +29 -0
- data/lib/libcouchbase/ext/libcouchbase/cmdviewquery.rb +61 -0
- data/lib/libcouchbase/ext/libcouchbase/contigbuf.rb +14 -0
- data/lib/libcouchbase/ext/libcouchbase/create_st.rb +15 -0
- data/lib/libcouchbase/ext/libcouchbase/create_st0.rb +23 -0
- data/lib/libcouchbase/ext/libcouchbase/create_st1.rb +26 -0
- data/lib/libcouchbase/ext/libcouchbase/create_st2.rb +32 -0
- data/lib/libcouchbase/ext/libcouchbase/create_st3.rb +26 -0
- data/lib/libcouchbase/ext/libcouchbase/crst_u.rb +20 -0
- data/lib/libcouchbase/ext/libcouchbase/durability_opts_st_v.rb +11 -0
- data/lib/libcouchbase/ext/libcouchbase/durability_opts_t.rb +14 -0
- data/lib/libcouchbase/ext/libcouchbase/durabilityopt_sv0.rb +63 -0
- data/lib/libcouchbase/ext/libcouchbase/enums.rb +1007 -0
- data/lib/libcouchbase/ext/libcouchbase/fragbuf.rb +18 -0
- data/lib/libcouchbase/ext/libcouchbase/ftshandle.rb +7 -0
- data/lib/libcouchbase/ext/libcouchbase/histogram.rb +34 -0
- data/lib/libcouchbase/ext/libcouchbase/http_request_t.rb +7 -0
- data/lib/libcouchbase/ext/libcouchbase/keybuf.rb +20 -0
- data/lib/libcouchbase/ext/libcouchbase/multicmd_ctx.rb +30 -0
- data/lib/libcouchbase/ext/libcouchbase/mutation_token.rb +17 -0
- data/lib/libcouchbase/ext/libcouchbase/n1qlhandle.rb +7 -0
- data/lib/libcouchbase/ext/libcouchbase/n1qlparams.rb +7 -0
- data/lib/libcouchbase/ext/libcouchbase/respbase.rb +29 -0
- data/lib/libcouchbase/ext/libcouchbase/respcounter.rb +32 -0
- data/lib/libcouchbase/ext/libcouchbase/respendure.rb +49 -0
- data/lib/libcouchbase/ext/libcouchbase/respfts.rb +40 -0
- data/lib/libcouchbase/ext/libcouchbase/respget.rb +44 -0
- data/lib/libcouchbase/ext/libcouchbase/resphttp.rb +48 -0
- data/lib/libcouchbase/ext/libcouchbase/respmcversion.rb +38 -0
- data/lib/libcouchbase/ext/libcouchbase/respn1ql.rb +41 -0
- data/lib/libcouchbase/ext/libcouchbase/respobseqno.rb +52 -0
- data/lib/libcouchbase/ext/libcouchbase/respobserve.rb +41 -0
- data/lib/libcouchbase/ext/libcouchbase/respserverbase.rb +32 -0
- data/lib/libcouchbase/ext/libcouchbase/respstats.rb +38 -0
- data/lib/libcouchbase/ext/libcouchbase/respstore.rb +32 -0
- data/lib/libcouchbase/ext/libcouchbase/respstoredur.rb +38 -0
- data/lib/libcouchbase/ext/libcouchbase/respsubdoc.rb +35 -0
- data/lib/libcouchbase/ext/libcouchbase/respviewquery.rb +67 -0
- data/lib/libcouchbase/ext/libcouchbase/sdentry.rb +22 -0
- data/lib/libcouchbase/ext/libcouchbase/sdspec.rb +31 -0
- data/lib/libcouchbase/ext/libcouchbase/t.rb +7 -0
- data/lib/libcouchbase/ext/libcouchbase/valbuf.rb +22 -0
- data/lib/libcouchbase/ext/libcouchbase/valbuf_u_buf.rb +14 -0
- data/lib/libcouchbase/ext/libcouchbase/viewhandle.rb +7 -0
- data/lib/libcouchbase/ext/libcouchbase_libuv.rb +22 -0
- data/lib/libcouchbase/ext/tasks.rb +39 -0
- data/lib/libcouchbase/n1ql.rb +78 -0
- data/lib/libcouchbase/query_full_text.rb +147 -0
- data/lib/libcouchbase/query_n1ql.rb +123 -0
- data/lib/libcouchbase/query_view.rb +135 -0
- data/lib/libcouchbase/results_fiber.rb +281 -0
- data/lib/libcouchbase/results_native.rb +220 -0
- data/lib/libcouchbase/subdoc_request.rb +139 -0
- data/lib/libcouchbase/version.rb +5 -0
- data/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 +206 -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 +265 -0
@@ -0,0 +1,61 @@
|
|
1
|
+
module Libcouchbase::Ext
|
2
|
+
# (Not documented)
|
3
|
+
#
|
4
|
+
# ## Fields:
|
5
|
+
# :cmdflags ::
|
6
|
+
# (Integer)
|
7
|
+
# :exptime ::
|
8
|
+
# (Integer)
|
9
|
+
# :cas ::
|
10
|
+
# (Integer)
|
11
|
+
# :key ::
|
12
|
+
# (KEYBUF)
|
13
|
+
# :hashkey ::
|
14
|
+
# (KEYBUF)
|
15
|
+
# :specs ::
|
16
|
+
# (SDSPEC) An array of one or more command specifications. The storage
|
17
|
+
# for the array need only persist for the duration of the
|
18
|
+
# lcb_subdoc3() call.
|
19
|
+
#
|
20
|
+
# The specs array must be valid only through the invocation
|
21
|
+
# of lcb_subdoc3(). As such, they can reside on the stack and
|
22
|
+
# be re-used for scheduling multiple commands. See subdoc-simple.cc
|
23
|
+
# :nspecs ::
|
24
|
+
# (Integer) Number of entries in #specs
|
25
|
+
# :error_index ::
|
26
|
+
# (FFI::Pointer(*Int)) If the scheduling of the command failed, the index of the entry which
|
27
|
+
# caused the failure will be written to this pointer.
|
28
|
+
#
|
29
|
+
# If the value is -1 then the failure took place at the command level
|
30
|
+
# and not at the spec level.
|
31
|
+
# :multimode ::
|
32
|
+
# (Integer) Operation mode to use. This can either be @ref LCB_SDMULTI_MODE_LOOKUP
|
33
|
+
# or @ref LCB_SDMULTI_MODE_MUTATE.
|
34
|
+
#
|
35
|
+
# This field may be left empty, in which case the mode is implicitly
|
36
|
+
# derived from the _first_ command issued.
|
37
|
+
class CMDSUBDOC < FFI::Struct
|
38
|
+
# CMD flags
|
39
|
+
UPSERT_DOC = (1<<16) # document is to be created if it does not exist.
|
40
|
+
INSERT_DOC = (1<<17) # document must be created anew. Fail if it exists
|
41
|
+
ACCESS_DELETED = (1<<18) # Access a potentially deleted document.
|
42
|
+
|
43
|
+
SDMULTI_MODE_INVALID = 0
|
44
|
+
SDMULTI_MODE_LOOKUP = 1
|
45
|
+
SDMULTI_MODE_MUTATE = 2
|
46
|
+
|
47
|
+
layout :cmdflags, :uint,
|
48
|
+
:exptime, :uint,
|
49
|
+
:cas, :ulong_long,
|
50
|
+
:key, KEYBUF.by_value,
|
51
|
+
:hashkey, KEYBUF.by_value,
|
52
|
+
:specs, :pointer, # ==> SDSPEC.by_ref,
|
53
|
+
:nspecs, :ulong,
|
54
|
+
:error_index, :pointer,
|
55
|
+
|
56
|
+
# This can either be SDMULTI_MODE_LOOKUP or SDMULTI_MODE_MUTATE
|
57
|
+
# This field may be left empty, in which case the mode is implicitly derived from the _first_ command issued.
|
58
|
+
:multimode, :uint
|
59
|
+
end
|
60
|
+
|
61
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module Libcouchbase::Ext
|
2
|
+
# (Not documented)
|
3
|
+
#
|
4
|
+
# ## Fields:
|
5
|
+
# :cmdflags ::
|
6
|
+
# (Integer)
|
7
|
+
# :exptime ::
|
8
|
+
# (Integer)
|
9
|
+
# :cas ::
|
10
|
+
# (Integer)
|
11
|
+
# :key ::
|
12
|
+
# (KEYBUF)
|
13
|
+
# :hashkey ::
|
14
|
+
# (KEYBUF)
|
15
|
+
# :server ::
|
16
|
+
# (String)
|
17
|
+
# :level ::
|
18
|
+
# (VerbosityLevelT)
|
19
|
+
class CMDVERBOSITY < FFI::Struct
|
20
|
+
layout :cmdflags, :uint,
|
21
|
+
:exptime, :uint,
|
22
|
+
:cas, :ulong_long,
|
23
|
+
:key, KEYBUF.by_value,
|
24
|
+
:hashkey, KEYBUF.by_value,
|
25
|
+
:server, :string,
|
26
|
+
:level, VerbosityLevelT
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
module Libcouchbase::Ext
|
2
|
+
# (Not documented)
|
3
|
+
#
|
4
|
+
# ## Fields:
|
5
|
+
# :cmdflags ::
|
6
|
+
# (Integer) Common command flags; e.g. @ref LCB_CMDVIEWQUERY_F_INCLUDE_DOCS
|
7
|
+
# :ddoc ::
|
8
|
+
# (String) The design document as a string; e.g. `"beer"`
|
9
|
+
# :nddoc ::
|
10
|
+
# (Integer) Length of design document name
|
11
|
+
# :view ::
|
12
|
+
# (String) The name of the view as a string; e.g. `"brewery_beers"`
|
13
|
+
# :nview ::
|
14
|
+
# (Integer) Length of the view name
|
15
|
+
# :optstr ::
|
16
|
+
# (String) Any URL parameters to be passed to the view should be specified here.
|
17
|
+
# The library will internally insert a `?` character before the options
|
18
|
+
# (if specified), so do not place one yourself.
|
19
|
+
#
|
20
|
+
# The format of the options follows the standard for passing parameters
|
21
|
+
# via HTTP requests; thus e.g. `key1=value1&key2=value2`. This string
|
22
|
+
# is itself not parsed by the library but simply appended to the URL.
|
23
|
+
# :noptstr ::
|
24
|
+
# (Integer) Length of the option string
|
25
|
+
# :postdata ::
|
26
|
+
# (String) Some query parameters (in particular; 'keys') may be send via a POST
|
27
|
+
# request within the request body, since it might be too long for the
|
28
|
+
# URI itself. If you have such data, place it here.
|
29
|
+
# :npostdata ::
|
30
|
+
# (Integer)
|
31
|
+
# :docs_concurrent_max ::
|
32
|
+
# (Integer) The maximum number of internal get requests to issue concurrently for
|
33
|
+
# @c F_INCLUDE_DOCS. This is useful for large view responses where
|
34
|
+
# there is a potential for a large number of responses resulting in a large
|
35
|
+
# number of get requests; increasing memory usage.
|
36
|
+
#
|
37
|
+
# Setting this value will attempt to throttle the number of get requests,
|
38
|
+
# so that no more than this number of requests will be in progress at any
|
39
|
+
# given time.
|
40
|
+
# :callback ::
|
41
|
+
# (Proc(callback_viewquerycallback)) Callback to invoke for each row. If not provided, @ref LCB_EINVAL will
|
42
|
+
# be returned from lcb_view_query()
|
43
|
+
# :handle ::
|
44
|
+
# (FFI::Pointer(*VIEWHANDLE)) If not NULL, this will be set to a handle which may be passed to
|
45
|
+
# lcb_view_cancel(). See that function for more details
|
46
|
+
class CMDVIEWQUERY < FFI::Struct
|
47
|
+
layout :cmdflags, :uint,
|
48
|
+
:ddoc, :string,
|
49
|
+
:nddoc, :ulong,
|
50
|
+
:view, :string,
|
51
|
+
:nview, :ulong,
|
52
|
+
:optstr, :string,
|
53
|
+
:noptstr, :ulong,
|
54
|
+
:postdata, :string,
|
55
|
+
:npostdata, :ulong,
|
56
|
+
:docs_concurrent_max, :uint,
|
57
|
+
:callback, :viewquerycallback,
|
58
|
+
:handle, :pointer
|
59
|
+
end
|
60
|
+
|
61
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module Libcouchbase::Ext
|
2
|
+
# (Not documented)
|
3
|
+
#
|
4
|
+
# ## Fields:
|
5
|
+
# :version ::
|
6
|
+
# (Integer) Indicates which field in the @ref lcb_CRST_u union should be used. Set this to `3`
|
7
|
+
# :v ::
|
8
|
+
# (CRSTU) This union contains the set of current and historical options. The
|
9
|
+
# The #v3 field should be used.
|
10
|
+
class CreateSt < FFI::Struct
|
11
|
+
layout :version, :int,
|
12
|
+
:v, CRSTU.by_value
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Libcouchbase::Ext
|
2
|
+
# (Not documented)
|
3
|
+
#
|
4
|
+
# ## Fields:
|
5
|
+
# :host ::
|
6
|
+
# (String)
|
7
|
+
# :user ::
|
8
|
+
# (String)
|
9
|
+
# :passwd ::
|
10
|
+
# (String)
|
11
|
+
# :bucket ::
|
12
|
+
# (String)
|
13
|
+
# :io ::
|
14
|
+
# (FFI::Pointer(*IoOptSt))
|
15
|
+
class CreateSt0 < FFI::Struct
|
16
|
+
layout :host, :string,
|
17
|
+
:user, :string,
|
18
|
+
:passwd, :string,
|
19
|
+
:bucket, :string,
|
20
|
+
:io, :pointer
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Libcouchbase::Ext
|
2
|
+
# (Not documented)
|
3
|
+
#
|
4
|
+
# ## Fields:
|
5
|
+
# :host ::
|
6
|
+
# (String)
|
7
|
+
# :user ::
|
8
|
+
# (String)
|
9
|
+
# :passwd ::
|
10
|
+
# (String)
|
11
|
+
# :bucket ::
|
12
|
+
# (String)
|
13
|
+
# :io ::
|
14
|
+
# (FFI::Pointer(*IoOptSt))
|
15
|
+
# :type ::
|
16
|
+
# (TypeT)
|
17
|
+
class CreateSt1 < FFI::Struct
|
18
|
+
layout :host, :string,
|
19
|
+
:user, :string,
|
20
|
+
:passwd, :string,
|
21
|
+
:bucket, :string,
|
22
|
+
:io, :pointer,
|
23
|
+
:type, TypeT
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
module Libcouchbase::Ext
|
2
|
+
# (Not documented)
|
3
|
+
#
|
4
|
+
# ## Fields:
|
5
|
+
# :host ::
|
6
|
+
# (String)
|
7
|
+
# :user ::
|
8
|
+
# (String)
|
9
|
+
# :passwd ::
|
10
|
+
# (String)
|
11
|
+
# :bucket ::
|
12
|
+
# (String)
|
13
|
+
# :io ::
|
14
|
+
# (FFI::Pointer(*IoOptSt))
|
15
|
+
# :type ::
|
16
|
+
# (TypeT)
|
17
|
+
# :mchosts ::
|
18
|
+
# (String)
|
19
|
+
# :transports ::
|
20
|
+
# (FFI::Pointer(*ConfigTransportT))
|
21
|
+
class CreateSt2 < FFI::Struct
|
22
|
+
layout :host, :string,
|
23
|
+
:user, :string,
|
24
|
+
:passwd, :string,
|
25
|
+
:bucket, :string,
|
26
|
+
:io, :pointer,
|
27
|
+
:type, TypeT,
|
28
|
+
:mchosts, :string,
|
29
|
+
:transports, :pointer
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Libcouchbase::Ext
|
2
|
+
# (Not documented)
|
3
|
+
#
|
4
|
+
# ## Fields:
|
5
|
+
# :connstr ::
|
6
|
+
# (String) < Connection string
|
7
|
+
# :username ::
|
8
|
+
# (String) < Username for bucket. Unused as of Server 2.5
|
9
|
+
# :passwd ::
|
10
|
+
# (String) < Password for bucket
|
11
|
+
# :pad_bucket ::
|
12
|
+
# (FFI::Pointer(*Void)) < @private
|
13
|
+
# :io ::
|
14
|
+
# (FFI::Pointer(*IoOptSt)) < IO Options
|
15
|
+
# :type ::
|
16
|
+
# (TypeT)
|
17
|
+
class CreateSt3 < FFI::Struct
|
18
|
+
layout :connstr, :pointer,
|
19
|
+
:username, :pointer,
|
20
|
+
:passwd, :pointer,
|
21
|
+
:pad_bucket, :pointer,
|
22
|
+
:io, :pointer,
|
23
|
+
:type, TypeT
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module Libcouchbase::Ext
|
2
|
+
# (Not documented)
|
3
|
+
#
|
4
|
+
# ## Fields:
|
5
|
+
# :v0 ::
|
6
|
+
# (CreateSt0)
|
7
|
+
# :v1 ::
|
8
|
+
# (CreateSt1)
|
9
|
+
# :v2 ::
|
10
|
+
# (CreateSt2)
|
11
|
+
# :v3 ::
|
12
|
+
# (CreateSt3) < Use this field
|
13
|
+
class CRSTU < FFI::Union
|
14
|
+
layout :v0, CreateSt0.by_value,
|
15
|
+
:v1, CreateSt1.by_value,
|
16
|
+
:v2, CreateSt2.by_value,
|
17
|
+
:v3, CreateSt3.by_value
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
@@ -0,0 +1,63 @@
|
|
1
|
+
module Libcouchbase::Ext
|
2
|
+
# (Not documented)
|
3
|
+
#
|
4
|
+
# ## Fields:
|
5
|
+
# :timeout ::
|
6
|
+
# (Integer) Upper limit in microseconds from the scheduling of the command. When
|
7
|
+
# this timeout occurs, all remaining non-verified keys will have their
|
8
|
+
# callbacks invoked with @ref LCB_ETIMEDOUT.
|
9
|
+
#
|
10
|
+
# If this field is not set, the value of @ref LCB_CNTL_DURABILITY_TIMEOUT
|
11
|
+
# will be used.
|
12
|
+
# :interval ::
|
13
|
+
# (Integer) The durability check may involve more than a single call to observe - or
|
14
|
+
# more than a single packet sent to a server to check the key status. This
|
15
|
+
# value determines the time to wait (in microseconds)
|
16
|
+
# between multiple probes for the same server.
|
17
|
+
# If not set, the @ref LCB_CNTL_DURABILITY_INTERVAL will be used
|
18
|
+
# instead.
|
19
|
+
# :persist_to ::
|
20
|
+
# (Integer) how many nodes the key should be persisted to (including master).
|
21
|
+
# If set to 0 then persistence will not be checked. If set to a large
|
22
|
+
# number (i.e. UINT16_MAX) and #cap_max is also set, will be set to the
|
23
|
+
# maximum number of nodes to which persistence is possible (which will
|
24
|
+
# always contain at least the master node).
|
25
|
+
#
|
26
|
+
# The maximum valid value for this field is
|
27
|
+
# 1 + the total number of configured replicas for the bucket which are part
|
28
|
+
# of the cluster. If this number is higher then it will either be
|
29
|
+
# automatically capped to the maximum available if (#cap_max is set) or
|
30
|
+
# will result in an ::LCB_DURABILITY_ETOOMANY error.
|
31
|
+
# :replicate_to ::
|
32
|
+
# (Integer) how many nodes the key should be persisted to (excluding master).
|
33
|
+
# If set to 0 then replication will not be checked. If set to a large
|
34
|
+
# number (i.e. UINT16_MAX) and #cap_max is also set, will be set to the
|
35
|
+
# maximum number of nodes to which replication is possible (which may
|
36
|
+
# be 0 if the bucket is not configured for replicas).
|
37
|
+
#
|
38
|
+
# The maximum valid value for this field is the total number of configured
|
39
|
+
# replicas which are part of the cluster. If this number is higher then
|
40
|
+
# it will either be automatically capped to the maximum available
|
41
|
+
# if (#cap_max is set) or will result in an ::LCB_DURABILITY_ETOOMANY
|
42
|
+
# error.
|
43
|
+
# :check_delete ::
|
44
|
+
# (Integer) this flag inverts the sense of the durability check and ensures that
|
45
|
+
# the key does *not* exist. This should be used if checking durability
|
46
|
+
# after an lcb_remove3() operation.
|
47
|
+
# :cap_max ::
|
48
|
+
# (Integer) If replication/persistence requirements are excessive, cap to
|
49
|
+
# the maximum available
|
50
|
+
# :pollopts ::
|
51
|
+
# (Integer) Set the polling method to use.
|
52
|
+
# The value for this field should be one of the @ref lcb_DURMODE constants.
|
53
|
+
class DURABILITYOPTSv0 < FFI::Struct
|
54
|
+
layout :timeout, :uint,
|
55
|
+
:interval, :uint,
|
56
|
+
:persist_to, :ushort,
|
57
|
+
:replicate_to, :ushort,
|
58
|
+
:check_delete, :uchar,
|
59
|
+
:cap_max, :uchar,
|
60
|
+
:pollopts, :uchar
|
61
|
+
end
|
62
|
+
|
63
|
+
end
|
@@ -0,0 +1,1007 @@
|
|
1
|
+
module Libcouchbase::Ext
|
2
|
+
extend FFI::Library
|
3
|
+
# (Not documented)
|
4
|
+
#
|
5
|
+
# ## Options:
|
6
|
+
# :errtype_input ::
|
7
|
+
# Error type indicating a likely issue in user input
|
8
|
+
# :errtype_network ::
|
9
|
+
# Error type indicating a likely network failure
|
10
|
+
# :errtype_fatal ::
|
11
|
+
# Error type indicating a fatal condition within the server or library
|
12
|
+
# :errtype_transient ::
|
13
|
+
# Error type indicating a transient condition within the server
|
14
|
+
# :errtype_dataop ::
|
15
|
+
# Error type indicating a negative server reply for the data
|
16
|
+
# :errtype_internal ::
|
17
|
+
# Error codes which should never be visible to the user
|
18
|
+
# :errtype_plugin ::
|
19
|
+
# Error code indicating a plugin failure
|
20
|
+
# :errtype_srvload ::
|
21
|
+
# Error code indicating the server is under load
|
22
|
+
# :errtype_srvgen ::
|
23
|
+
# Error code indicating the server generated this message
|
24
|
+
# :errtype_subdoc ::
|
25
|
+
# Error code indicates document (fulldoc) access ok, but
|
26
|
+
# error in performing subdocument operation. Note that this only
|
27
|
+
# covers errors which relate to a specific operation, rather than
|
28
|
+
# operations which prevent _any_ subdoc operation from executing.
|
29
|
+
#
|
30
|
+
# @method `enum_errflags_t`
|
31
|
+
# @return [Symbol]
|
32
|
+
# @scope class
|
33
|
+
#
|
34
|
+
ErrflagsT = enum [
|
35
|
+
:errtype_input, 1,
|
36
|
+
:errtype_network, 2,
|
37
|
+
:errtype_fatal, 4,
|
38
|
+
:errtype_transient, 8,
|
39
|
+
:errtype_dataop, 16,
|
40
|
+
:errtype_internal, 32,
|
41
|
+
:errtype_plugin, 64,
|
42
|
+
:errtype_srvload, 128,
|
43
|
+
:errtype_srvgen, 256,
|
44
|
+
:errtype_subdoc, 512
|
45
|
+
]
|
46
|
+
|
47
|
+
# (Not documented)
|
48
|
+
#
|
49
|
+
# ## Options:
|
50
|
+
# :kv_copy ::
|
51
|
+
#
|
52
|
+
# :kv_contig ::
|
53
|
+
# < The buffer should be copied
|
54
|
+
# :kv_iov ::
|
55
|
+
# < The buffer is contiguous and should not be copied
|
56
|
+
# :kv_vbid ::
|
57
|
+
# For use within the hashkey field, indicates that the _length_
|
58
|
+
# of the hashkey is the vBucket ID, rather than an actual hashkey
|
59
|
+
# :kv_iovcopy ::
|
60
|
+
# The buffers are not contiguous (multi-part buffers) but should be
|
61
|
+
# copied. This avoids having to make the buffers contiguous before
|
62
|
+
# passing it into the library (only to have the library copy it again)
|
63
|
+
#
|
64
|
+
# @method `enum_kvbuftype`
|
65
|
+
# @return [Symbol]
|
66
|
+
# @scope class
|
67
|
+
#
|
68
|
+
KVBUFTYPE = enum [
|
69
|
+
:kv_copy, 0,
|
70
|
+
:kv_contig, 1,
|
71
|
+
:kv_iov, 2,
|
72
|
+
:kv_vbid, 3,
|
73
|
+
:kv_iovcopy, 4
|
74
|
+
]
|
75
|
+
|
76
|
+
# (Not documented)
|
77
|
+
#
|
78
|
+
# ## Options:
|
79
|
+
# :list_end ::
|
80
|
+
#
|
81
|
+
# :http ::
|
82
|
+
#
|
83
|
+
# :cccp ::
|
84
|
+
#
|
85
|
+
# :max ::
|
86
|
+
#
|
87
|
+
#
|
88
|
+
# @method `enum_config_transport_t`
|
89
|
+
# @return [Symbol]
|
90
|
+
# @scope class
|
91
|
+
#
|
92
|
+
ConfigTransportT = enum [
|
93
|
+
:list_end, 0,
|
94
|
+
:http, 1,
|
95
|
+
:cccp, 2,
|
96
|
+
:max, 3
|
97
|
+
]
|
98
|
+
|
99
|
+
# (Not documented)
|
100
|
+
#
|
101
|
+
# ## Options:
|
102
|
+
# :resp_f_final ::
|
103
|
+
# No more responses are to be received for this request
|
104
|
+
# :resp_f_clientgen ::
|
105
|
+
# The response was artificially generated inside the client.
|
106
|
+
# This does not contain reply data from the server for the command, but
|
107
|
+
# rather contains the basic fields to indicate success or failure and is
|
108
|
+
# otherwise empty.
|
109
|
+
# :resp_f_nmvgen ::
|
110
|
+
# The response was a result of a not-my-vbucket error
|
111
|
+
# :resp_f_extdata ::
|
112
|
+
# The response has additional internal data.
|
113
|
+
# Used by lcb_resp_get_mutation_token()
|
114
|
+
# :resp_f_sdsingle ::
|
115
|
+
# Flag, only valid for subdoc responses, indicates that the response was
|
116
|
+
# processed using the single-operation protocol.
|
117
|
+
#
|
118
|
+
# @method `enum_respflags`
|
119
|
+
# @return [Symbol]
|
120
|
+
# @scope class
|
121
|
+
#
|
122
|
+
RESPFLAGS = enum [
|
123
|
+
:resp_f_final, 1,
|
124
|
+
:resp_f_clientgen, 2,
|
125
|
+
:resp_f_nmvgen, 4,
|
126
|
+
:resp_f_extdata, 8,
|
127
|
+
:resp_f_sdsingle, 16,
|
128
|
+
:resp_f_errinfo, 0x20
|
129
|
+
]
|
130
|
+
|
131
|
+
# (Not documented)
|
132
|
+
#
|
133
|
+
# ## Options:
|
134
|
+
# :first ::
|
135
|
+
# Query all the replicas sequentially, retrieving the first successful
|
136
|
+
# response
|
137
|
+
# :all ::
|
138
|
+
# Query all the replicas concurrently, retrieving all the responses
|
139
|
+
# :select ::
|
140
|
+
# Query the specific replica specified by the
|
141
|
+
# lcb_rget3_cmd_t#index field
|
142
|
+
#
|
143
|
+
# @method `enum_replica_t`
|
144
|
+
# @return [Symbol]
|
145
|
+
# @scope class
|
146
|
+
#
|
147
|
+
ReplicaT = enum [
|
148
|
+
:first, 0,
|
149
|
+
:all, 1,
|
150
|
+
:select, 2
|
151
|
+
]
|
152
|
+
|
153
|
+
# (Not documented)
|
154
|
+
#
|
155
|
+
# ## Options:
|
156
|
+
# :add ::
|
157
|
+
# Will cause the operation to fail if the key already exists in the
|
158
|
+
# cluster.
|
159
|
+
# :replace ::
|
160
|
+
# Will cause the operation to fail _unless_ the key already exists in the
|
161
|
+
# cluster.
|
162
|
+
# :set ::
|
163
|
+
# Unconditionally store the item in the cluster
|
164
|
+
# :upsert ::
|
165
|
+
# The default storage mode. This constant was added in version 2.6.2 for
|
166
|
+
# the sake of maintaining a default storage mode, eliminating the need
|
167
|
+
# for simple storage operations to explicitly define
|
168
|
+
# lcb_CMDSTORE::operation. Behaviorally it is identical to @ref LCB_SET
|
169
|
+
# in that it will make the server unconditionally store the item, whether
|
170
|
+
# it exists or not.
|
171
|
+
# :append ::
|
172
|
+
# Rather than setting the contents of the entire document, take the value
|
173
|
+
# specified in lcb_CMDSTORE::value and _append_ it to the existing bytes in
|
174
|
+
# the value.
|
175
|
+
# :prepend ::
|
176
|
+
# Like ::LCB_APPEND, but prepends the new value to the existing value.
|
177
|
+
#
|
178
|
+
# @method `enum_storage_t`
|
179
|
+
# @return [Symbol]
|
180
|
+
# @scope class
|
181
|
+
#
|
182
|
+
StorageT = enum [
|
183
|
+
:add, 1,
|
184
|
+
:replace, 2,
|
185
|
+
:set, 3,
|
186
|
+
:upsert, 0,
|
187
|
+
:append, 4,
|
188
|
+
:prepend, 5
|
189
|
+
]
|
190
|
+
|
191
|
+
# (Not documented)
|
192
|
+
#
|
193
|
+
# ## Options:
|
194
|
+
# :durability_mode_default ::
|
195
|
+
# Use the preferred durability. If ::LCB_CNTL_FETCH_MUTATION_TOKENS is
|
196
|
+
# enabled and the server version is 4.0 or greater then ::LCB_DURABILITY_MODE_SEQNO
|
197
|
+
# is used. Otherwise ::LCB_DURABILITY_MODE_CAS is used.
|
198
|
+
# :durability_mode_cas ::
|
199
|
+
# Explicitly request CAS-based durability. This is done by checking the
|
200
|
+
# CAS of the item on each server with the item specified in the input.
|
201
|
+
# The durability operation is considered complete when all items' CAS
|
202
|
+
# values match. If the CAS value on the master node changes then the
|
203
|
+
# durability operation will fail with ::LCB_KEY_EEXISTS.
|
204
|
+
#
|
205
|
+
# @note
|
206
|
+
# CAS may change either because of a failover or because of another
|
207
|
+
# subsequent mutation. These scenarios are possible (though unlikely).
|
208
|
+
# The ::LCB_DURABILITY_MODE_SEQNO mode is not subject to these constraints.
|
209
|
+
# :durability_mode_seqno ::
|
210
|
+
# Use sequence-number based polling. This is done by checking the current
|
211
|
+
# "mutation sequence number" for the given mutation. To use this mode
|
212
|
+
# either an explicit @ref lcb_MUTATION_TOKEN needs to be passed, or
|
213
|
+
# the ::LCB_CNTL_DURABILITY_MUTATION_TOKENS should be set, allowing
|
214
|
+
# the caching of the latest mutation token for each vBucket.
|
215
|
+
#
|
216
|
+
# @method `enum_durmode`
|
217
|
+
# @return [Symbol]
|
218
|
+
# @scope class
|
219
|
+
#
|
220
|
+
DURMODE = enum [
|
221
|
+
:durability_mode_default, 0,
|
222
|
+
:durability_mode_cas, 1,
|
223
|
+
:durability_mode_seqno, 2
|
224
|
+
]
|
225
|
+
|
226
|
+
# (Not documented)
|
227
|
+
#
|
228
|
+
# ## Options:
|
229
|
+
# :found ::
|
230
|
+
# The item found in the memory, but not yet on the disk
|
231
|
+
# :persisted ::
|
232
|
+
# The item hit the disk
|
233
|
+
# :not_found ::
|
234
|
+
# The item missing on the disk and the memory
|
235
|
+
# :logically_deleted ::
|
236
|
+
# No knowledge of the key :)
|
237
|
+
# :max ::
|
238
|
+
#
|
239
|
+
#
|
240
|
+
# @method `enum_observe_t`
|
241
|
+
# @return [Symbol]
|
242
|
+
# @scope class
|
243
|
+
#
|
244
|
+
ObserveT = enum [
|
245
|
+
:found, 0,
|
246
|
+
:persisted, 1,
|
247
|
+
:not_found, 128,
|
248
|
+
:logically_deleted, 129,
|
249
|
+
:max, 130
|
250
|
+
]
|
251
|
+
|
252
|
+
# (Not documented)
|
253
|
+
#
|
254
|
+
# ## Options:
|
255
|
+
# :detail ::
|
256
|
+
#
|
257
|
+
# :debug ::
|
258
|
+
#
|
259
|
+
# :info ::
|
260
|
+
#
|
261
|
+
# :warning ::
|
262
|
+
#
|
263
|
+
#
|
264
|
+
# @method `enum_verbosity_level_t`
|
265
|
+
# @return [Symbol]
|
266
|
+
# @scope class
|
267
|
+
#
|
268
|
+
VerbosityLevelT = enum [
|
269
|
+
:detail, 0,
|
270
|
+
:debug, 1,
|
271
|
+
:info, 2,
|
272
|
+
:warning, 3
|
273
|
+
]
|
274
|
+
|
275
|
+
# (Not documented)
|
276
|
+
#
|
277
|
+
# ## Options:
|
278
|
+
# :view ::
|
279
|
+
# Execute a request against the bucket. The handle must be of
|
280
|
+
# @ref LCB_TYPE_BUCKET and must be connected.
|
281
|
+
# :management ::
|
282
|
+
# Execute a management API request. The credentials used will match
|
283
|
+
# those passed during the instance creation time. Thus is the instance
|
284
|
+
# type is @ref LCB_TYPE_BUCKET then only bucket-level credentials will
|
285
|
+
# be used.
|
286
|
+
# :raw ::
|
287
|
+
# Execute an arbitrary request against a host and port
|
288
|
+
# :n1ql ::
|
289
|
+
# Execute an N1QL Query
|
290
|
+
# :fts ::
|
291
|
+
# Search a fulltext index
|
292
|
+
# :max ::
|
293
|
+
#
|
294
|
+
#
|
295
|
+
# @method `enum_http_type_t`
|
296
|
+
# @return [Symbol]
|
297
|
+
# @scope class
|
298
|
+
#
|
299
|
+
HttpTypeT = enum [
|
300
|
+
:view, 0,
|
301
|
+
:management, 1,
|
302
|
+
:raw, 2,
|
303
|
+
:n1ql, 3,
|
304
|
+
:fts, 4,
|
305
|
+
:max, 5
|
306
|
+
]
|
307
|
+
|
308
|
+
# (Not documented)
|
309
|
+
#
|
310
|
+
# ## Options:
|
311
|
+
# :wait_default ::
|
312
|
+
# Behave like the old lcb_wait()
|
313
|
+
# :wait_nocheck ::
|
314
|
+
# Do not check pending operations before running the event loop. By default
|
315
|
+
# lcb_wait() will traverse the server list to check if any operations are
|
316
|
+
# pending, and if nothing is pending the function will return without
|
317
|
+
# running the event loop. This is usually not necessary for applications
|
318
|
+
# which already _only_ call lcb_wait() when they know they have scheduled
|
319
|
+
# at least one command.
|
320
|
+
#
|
321
|
+
# @method `enum_waitflags`
|
322
|
+
# @return [Symbol]
|
323
|
+
# @scope class
|
324
|
+
#
|
325
|
+
WAITFLAGS = enum [
|
326
|
+
:wait_default, 0,
|
327
|
+
:wait_nocheck, 1
|
328
|
+
]
|
329
|
+
|
330
|
+
# (Not documented)
|
331
|
+
#
|
332
|
+
# ## Options:
|
333
|
+
# :value_raw ::
|
334
|
+
#
|
335
|
+
# :value_f_json ::
|
336
|
+
#
|
337
|
+
# :value_f_snappycomp ::
|
338
|
+
#
|
339
|
+
#
|
340
|
+
# @method `enum_valueflags`
|
341
|
+
# @return [Symbol]
|
342
|
+
# @scope class
|
343
|
+
#
|
344
|
+
VALUEFLAGS = enum [
|
345
|
+
:value_raw, 0,
|
346
|
+
:value_f_json, 1,
|
347
|
+
:value_f_snappycomp, 2
|
348
|
+
]
|
349
|
+
|
350
|
+
# (Not documented)
|
351
|
+
#
|
352
|
+
# ## Options:
|
353
|
+
# :nsec ::
|
354
|
+
#
|
355
|
+
# :usec ::
|
356
|
+
# < @brief Time is in nanoseconds
|
357
|
+
# :msec ::
|
358
|
+
# < @brief Time is in microseconds
|
359
|
+
# :sec ::
|
360
|
+
# < @brief Time is in milliseconds
|
361
|
+
#
|
362
|
+
# @method `enum_timeunit_t`
|
363
|
+
# @return [Symbol]
|
364
|
+
# @scope class
|
365
|
+
#
|
366
|
+
TimeunitT = enum [
|
367
|
+
:nsec, 0,
|
368
|
+
:usec, 1,
|
369
|
+
:msec, 2,
|
370
|
+
:sec, 3
|
371
|
+
]
|
372
|
+
|
373
|
+
# (Not documented)
|
374
|
+
#
|
375
|
+
# ## Options:
|
376
|
+
# :dump_vbconfig ::
|
377
|
+
# Dump the raw vbucket configuration
|
378
|
+
# :dump_pktinfo ::
|
379
|
+
# Dump information about each packet
|
380
|
+
# :dump_bufinfo ::
|
381
|
+
# Dump memory usage/reservation information about buffers
|
382
|
+
# :dump_all ::
|
383
|
+
# Dump everything
|
384
|
+
#
|
385
|
+
# @method `enum_dumpflags`
|
386
|
+
# @return [Symbol]
|
387
|
+
# @scope class
|
388
|
+
#
|
389
|
+
DUMPFLAGS = enum [
|
390
|
+
:dump_vbconfig, 1,
|
391
|
+
:dump_pktinfo, 2,
|
392
|
+
:dump_bufinfo, 4,
|
393
|
+
:dump_all, 255
|
394
|
+
]
|
395
|
+
|
396
|
+
# (Not documented)
|
397
|
+
#
|
398
|
+
# ## Options:
|
399
|
+
# :sdcmd_get ::
|
400
|
+
# Retrieve the value for a path
|
401
|
+
# :sdcmd_exists ::
|
402
|
+
# Check if the value for a path exists. If the path exists then the error
|
403
|
+
# code will be @ref LCB_SUCCESS
|
404
|
+
# :sdcmd_replace ::
|
405
|
+
# Replace the value at the specified path. This operation can work
|
406
|
+
# on any existing and valid path.
|
407
|
+
# :sdcmd_dict_add ::
|
408
|
+
# Add the value at the given path, if the given path does not exist.
|
409
|
+
# The penultimate path component must point to an array. The operation
|
410
|
+
# may be used in conjunction with @ref LCB_SDSPEC_F_MKINTERMEDIATES to
|
411
|
+
# create the parent dictionary (and its parents as well) if it does not
|
412
|
+
# yet exist.
|
413
|
+
# :sdcmd_dict_upsert ::
|
414
|
+
# Unconditionally set the value at the path. This logically
|
415
|
+
# attempts to perform a @ref LCB_SDCMD_REPLACE, and if it fails, performs
|
416
|
+
# an @ref LCB_SDCMD_DICT_ADD.
|
417
|
+
# :sdcmd_array_add_first ::
|
418
|
+
# Prepend the value(s) to the array indicated by the path. The path should
|
419
|
+
# reference an array. When the @ref LCB_SDSPEC_F_MKINTERMEDIATES flag
|
420
|
+
# is specified then the array may be created if it does not exist.
|
421
|
+
#
|
422
|
+
# Note that it is possible to add more than a single value to an array
|
423
|
+
# in an operation (this is valid for this commnand as well as
|
424
|
+
# @ref LCB_SDCMD_ARRAY_ADD_LAST and @ref LCB_SDCMD_ARRAY_INSERT). Multiple
|
425
|
+
# items can be specified by placing a comma between then (the values should
|
426
|
+
# otherwise be valid JSON).
|
427
|
+
# :sdcmd_array_add_last ::
|
428
|
+
# Identical to @ref LCB_SDCMD_ARRAY_ADD_FIRST but places the item(s)
|
429
|
+
# at the end of the array rather than at the beginning.
|
430
|
+
# :sdcmd_array_add_unique ::
|
431
|
+
# Add the value to the array indicated by the path, if the value is not
|
432
|
+
# already in the array. The @ref LCB_SDSPEC_F_MKINTERMEDIATES flag can
|
433
|
+
# be specified to create the array if it does not already exist.
|
434
|
+
#
|
435
|
+
# Currently the value for this operation must be a JSON primitive (i.e.
|
436
|
+
# no arrays or dictionaries) and the existing array itself must also
|
437
|
+
# contain only primitives (otherwise a @ref LCB_SUBDOC_PATH_MISMATCH
|
438
|
+
# error will be received).
|
439
|
+
# :sdcmd_array_insert ::
|
440
|
+
# Add the value at the given array index. Unlike other array operations,
|
441
|
+
# the path specified should include the actual index at which the item(s)
|
442
|
+
# should be placed, for example `array(2)` will cause the value(s) to be
|
443
|
+
# the 3rd item(s) in the array.
|
444
|
+
#
|
445
|
+
# The array must already exist and the @ref LCB_SDCMD_F_MKINTERMEDIATES
|
446
|
+
# flag is not honored.
|
447
|
+
# :sdcmd_counter ::
|
448
|
+
# Increment or decrement an existing numeric path. If the number does
|
449
|
+
# not exist, it will be created (though its parents will not, unless
|
450
|
+
# @ref LCB_SDSPEC_F_MKINTERMEDIATES is specified).
|
451
|
+
#
|
452
|
+
# The value for this operation should be a valid JSON-encoded integer and
|
453
|
+
# must be between `INT64_MIN` and `INT64_MAX`, inclusive.
|
454
|
+
# :sdcmd_remove ::
|
455
|
+
# Remove an existing path in the document.
|
456
|
+
# :sdcmd_get_count ::
|
457
|
+
# Count the number of elements in an array or dictionary
|
458
|
+
# :sdcmd_max ::
|
459
|
+
#
|
460
|
+
#
|
461
|
+
# @method `enum_subdocop`
|
462
|
+
# @return [Symbol]
|
463
|
+
# @scope class
|
464
|
+
#
|
465
|
+
SUBDOCOP = enum [
|
466
|
+
:sdcmd_get, 1,
|
467
|
+
:sdcmd_exists, 2,
|
468
|
+
:sdcmd_replace, 3,
|
469
|
+
:sdcmd_dict_add, 4,
|
470
|
+
:sdcmd_dict_upsert, 5,
|
471
|
+
:sdcmd_array_add_first, 6,
|
472
|
+
:sdcmd_array_add_last, 7,
|
473
|
+
:sdcmd_array_add_unique, 8,
|
474
|
+
:sdcmd_array_insert, 9,
|
475
|
+
:sdcmd_counter, 10,
|
476
|
+
:sdcmd_remove, 11,
|
477
|
+
:sdcmd_get_count, 12,
|
478
|
+
:sdcmd_max, 13
|
479
|
+
]
|
480
|
+
|
481
|
+
# (Not documented)
|
482
|
+
#
|
483
|
+
# ## Options:
|
484
|
+
# :success ::
|
485
|
+
#
|
486
|
+
# :auth_continue ::
|
487
|
+
#
|
488
|
+
# :auth_error ::
|
489
|
+
# This error code is received in callbacks when connecting or reconnecting
|
490
|
+
# to the cluster. If received during initial bootstrap
|
491
|
+
# (i.e. lcb_get_bootstrap_status()) then it should be considered a fatal
|
492
|
+
# errror. This error should not be visible after initial bootstrap.
|
493
|
+
#
|
494
|
+
# This error may also be received if CCCP bootstrap is used and the bucket does
|
495
|
+
# not exist.
|
496
|
+
# :delta_badval ::
|
497
|
+
# This error is received in callbacks. It is a result of trying to perform
|
498
|
+
# an lcb_arithmetic() operation on an item which has an existing value that
|
499
|
+
# cannot be parsed as a number.
|
500
|
+
# :e2big ::
|
501
|
+
# This error is received in callbacks. It indicates that the key and value
|
502
|
+
# exceeded the constraints within the server. The current constraints are
|
503
|
+
# 150 bytes for a key and 20MB for a value
|
504
|
+
# :ebusy ::
|
505
|
+
#
|
506
|
+
# :einternal ::
|
507
|
+
# Internal error within the library. This may be a result of a bug
|
508
|
+
# :einval ::
|
509
|
+
# If returned from an API call, it indicates invalid values were passed
|
510
|
+
# to the function. If received within a callback, it indicates that a
|
511
|
+
# malformed packet was sent to the server.
|
512
|
+
# :enomem ::
|
513
|
+
# This code is received in callbacks. It means the server has no more memory
|
514
|
+
# left to store or modify the item.
|
515
|
+
# :erange ::
|
516
|
+
#
|
517
|
+
# :error ::
|
518
|
+
# Generic error
|
519
|
+
# :etmpfail ::
|
520
|
+
# This error is received in callbacks from the server itself to indicate
|
521
|
+
# that it could not perform the requested operation. This is usually due to memory and/or
|
522
|
+
# resource constraints on the server. This error may also be returned if a
|
523
|
+
# key has been locked (see lcb_get()) and an operation has been performed on it
|
524
|
+
# without unlocking the item (see lcb_unlock(), or pass the correct CAS value
|
525
|
+
# to a mutation function).
|
526
|
+
# :key_eexists ::
|
527
|
+
# The key already exists in the cluster. This error code is received within
|
528
|
+
# callbacks as a result of an _add_ operation in which the key already exists.
|
529
|
+
# It is also received for other operations in which a CAS was specified but has
|
530
|
+
# changed on the server.
|
531
|
+
# :key_enoent ::
|
532
|
+
# Received in callbacks to indicate that the server does not contain the item
|
533
|
+
# :dlopen_failed ::
|
534
|
+
# Error code thrown if an I/O plugin could not be located
|
535
|
+
# :dlsym_failed ::
|
536
|
+
# Error code thrown of an I/O plugin did not contain a proper initialization routine
|
537
|
+
# :network_error ::
|
538
|
+
# This is a generic error code returned for various forms of socket
|
539
|
+
# operation failures. Newer applications are recommended to enable the
|
540
|
+
# @ref LCB_CNTL_DETAILED_ERRCODES setting via lcb_cntl() and receive more
|
541
|
+
# detailed information about a socket error.
|
542
|
+
#
|
543
|
+
# @see lcb_cntl(), @ref LCB_CNTL_DETAILED_ERRCODES
|
544
|
+
# :not_my_vbucket ::
|
545
|
+
# Error code received in callbacks if the command was forwarded to the wrong
|
546
|
+
# server (for example, during a rebalance) and the library settings are configured
|
547
|
+
# that the command should not be remapped to a new server
|
548
|
+
# :not_stored ::
|
549
|
+
# Received in callbacks as a response to an LCB_APPEND or LCB_PREPEND on an
|
550
|
+
# item that did not exist in the cluster. Equivalent to LCB_KEY_ENOENT
|
551
|
+
# :not_supported ::
|
552
|
+
# Returned from API calls if a specific operation is valid but is unsupported
|
553
|
+
# in the current version or state of the library. May also be received in a
|
554
|
+
# callback if the cluster does not support the operation.
|
555
|
+
#
|
556
|
+
# This will be returned for unknown settings passed to lcb_cntl() unless
|
557
|
+
# @ref LCB_CNTL_DETAILED_ERRCODES is set
|
558
|
+
# :unknown_command ::
|
559
|
+
# Received in callbacks if the cluster does not know about the command.
|
560
|
+
# Similar to LCB_NOT_SUPPORTED
|
561
|
+
# :unknown_host ::
|
562
|
+
# Error code received if the hostname specified could not be found. It may
|
563
|
+
# also be received if a socket could not be created to the host supplied.
|
564
|
+
#
|
565
|
+
# A more detailed error code may be returned instead if
|
566
|
+
# @ref LCB_CNTL_DETAILED_ERRCODES is set.
|
567
|
+
# :protocol_error ::
|
568
|
+
# Error code received if the server replied with an unexpected response
|
569
|
+
# :etimedout ::
|
570
|
+
# Error code received in callbacks for operations which did not receive a
|
571
|
+
# reply from the server within the timeout limit.
|
572
|
+
# @see LCB_CNTL_OP_TIMEOUT
|
573
|
+
# :connect_error ::
|
574
|
+
# @see LCB_NETWORK_ERROR, LCB_UNKNOWN_HOST, @ref LCB_CNTL_DETAILED_ERRCODES
|
575
|
+
# :bucket_enoent ::
|
576
|
+
# Received on initial bootstrap if the bucket does not exist. Note that
|
577
|
+
# for CCCP bootstrap, @ref LCB_AUTH_ERROR will be received instead
|
578
|
+
# :client_enomem ::
|
579
|
+
# Client could not allocate memory for internal structures
|
580
|
+
# :client_enoconf ::
|
581
|
+
# Client could not schedule the request. This is typically received when
|
582
|
+
# an operation is requested before the initial bootstrap has completed
|
583
|
+
# :ebadhandle ::
|
584
|
+
#
|
585
|
+
# :server_bug ::
|
586
|
+
#
|
587
|
+
# :plugin_version_mismatch ::
|
588
|
+
#
|
589
|
+
# :invalid_host_format ::
|
590
|
+
#
|
591
|
+
# :invalid_char ::
|
592
|
+
#
|
593
|
+
# :durability_etoomany ::
|
594
|
+
# Received in response to the durability API call, if the amount of nodes
|
595
|
+
# or replicas to persist/replicate to exceed the total number of replicas the
|
596
|
+
# bucket was configured with.
|
597
|
+
# :duplicate_commands ::
|
598
|
+
# Received in scheduling if a command with the same key was specified more
|
599
|
+
# than once. Some commands will accept this, but others (notably `observe`)
|
600
|
+
# will not
|
601
|
+
# :no_matching_server ::
|
602
|
+
# This error is received from API calls if the master node for the vBucket
|
603
|
+
# the key has been hashed to is not present. This will happen in the result
|
604
|
+
# of a node failover where no replica exists to replace it.
|
605
|
+
# :bad_environment ::
|
606
|
+
# Received during initial creation (lcb_create()) if an environment variable
|
607
|
+
# was specified with an incorrect or invalid value.
|
608
|
+
#
|
609
|
+
# @see @ref lcb-env-vars-page
|
610
|
+
# :busy ::
|
611
|
+
#
|
612
|
+
# :invalid_username ::
|
613
|
+
# Received from lcb_create() if the username does not match the bucket
|
614
|
+
# :config_cache_invalid ::
|
615
|
+
#
|
616
|
+
# :saslmech_unavailable ::
|
617
|
+
# Received during initial bootstrap if the library was configured to force
|
618
|
+
# the usage of a specific SASL mechanism and the server did not support this
|
619
|
+
# mechanism. @see LCB_CNTL_FORCE_SASL_MECH
|
620
|
+
# :too_many_redirects ::
|
621
|
+
# Received in the HTTP callback if the response was redirected too many
|
622
|
+
# times. @see LCB_CNTL_MAX_REDIRECTS
|
623
|
+
# :map_changed ::
|
624
|
+
# May be received in operation callbacks if the cluster toplogy changed
|
625
|
+
# and the library could not remap the command to a new node. This may be
|
626
|
+
# because the internal structure lacked sufficient information to recreate
|
627
|
+
# the packet, or because the configuration settings indicated that the command
|
628
|
+
# should not be retried. @see LCB_CNTL_RETRYMODE
|
629
|
+
# :incomplete_packet ::
|
630
|
+
# Returned from the lcb_pktfwd3() function if an incomplete packet was
|
631
|
+
# passed
|
632
|
+
# :econnrefused ::
|
633
|
+
# Mapped directly to the system `ECONNREFUSED` errno. This is received
|
634
|
+
# in callbacks if an initial connection to the node could not be established.
|
635
|
+
# Check your firewall settings and ensure the specified service is online.
|
636
|
+
# :esockshutdown ::
|
637
|
+
# Returned in a callback if the socket connection was gracefully closed,
|
638
|
+
# but the library wasn't expecting it. This may happen if the system is
|
639
|
+
# being shut down.
|
640
|
+
# @lcb_see_detailed_neterr
|
641
|
+
# :econnreset ::
|
642
|
+
# Returned in a callback if the socket connection was forcefully reset,
|
643
|
+
# Equivalent to the system `ECONNRESET`.
|
644
|
+
# @lcb_see_detailed_neterr
|
645
|
+
# :ecantgetport ::
|
646
|
+
# Returned in a callback if the library could not allocated a local socket
|
647
|
+
# due to TCP local port exhaustion. This means you have either found a bug
|
648
|
+
# in the library or are creating too many TCP connections. Keep in mind that
|
649
|
+
# a TCP connection will still occupy a slot in your system socket table even
|
650
|
+
# after it has been closed (and will thus appear in a `TIME_WAIT` state).
|
651
|
+
#
|
652
|
+
# @lcb_see_detailed_neterr
|
653
|
+
# :efdlimitreached ::
|
654
|
+
# Returned if the library could not allocate a new file descriptor for a
|
655
|
+
# socket or other resource. This may be more common on systems (such as
|
656
|
+
# Mac OS X) which have relatively low limits for file descriptors. To raise
|
657
|
+
# the file descriptor limit, refer to the `ulimit -n` command
|
658
|
+
#
|
659
|
+
# @lcb_see_detailed_neterr
|
660
|
+
# :enetunreach ::
|
661
|
+
# Returned in callback if the host or subnet containing a node could
|
662
|
+
# not be contacted. This may be a result of a bad routing table or being
|
663
|
+
# physically disconnected from the network.
|
664
|
+
# @lcb_see_detailed_neterr.
|
665
|
+
# :ectl_unknown ::
|
666
|
+
# An unrecognized setting was passed to the lcb_cntl() function
|
667
|
+
# @lcb_see_detailed_neterr
|
668
|
+
# :ectl_unsuppmode ::
|
669
|
+
# An invalid operation was supplied for a setting to lcb_cntl(). This will
|
670
|
+
# happen if you try to write to a read-only setting, or retrieve a value
|
671
|
+
# which may only be set. Refer to the documentation for an individual setting
|
672
|
+
# to see what modes it supports.
|
673
|
+
# @lcb_see_detailed_neterr
|
674
|
+
# :ectl_badarg ::
|
675
|
+
# A malformed argument was passed to lcb_cntl() for the given setting. See
|
676
|
+
# the documentation for the setting to see what arguments it supports and
|
677
|
+
# how they are to be supplied.
|
678
|
+
#
|
679
|
+
# @lcb_see_detailed_neterr
|
680
|
+
# :empty_key ::
|
681
|
+
# An empty key was passed to an operation. Most commands do not accept
|
682
|
+
# empty keys.
|
683
|
+
# :ssl_error ::
|
684
|
+
# A problem with the SSL system was encountered. Use logging to discover
|
685
|
+
# what happened. This error will only be thrown if something internal to the
|
686
|
+
# SSL library failed (for example, a bad certificate or bad user input);
|
687
|
+
# otherwise a network error will be thrown if an SSL connection was terminated
|
688
|
+
# :ssl_cantverify ::
|
689
|
+
# The certificate the server sent cannot be verified. This is a possible
|
690
|
+
# case of a man-in-the-middle attack, but also of forgetting to supply
|
691
|
+
# the path to the CA authority to the library.
|
692
|
+
# :schedfail_internal ::
|
693
|
+
#
|
694
|
+
# :client_feature_unavailable ::
|
695
|
+
# An optional client feature was requested, but the current configuration
|
696
|
+
# does not allow it to be used. This might be because it is not available
|
697
|
+
# on a particular platform/architecture/operating system/configuration, or
|
698
|
+
# it has been disabled at the time the library was built.
|
699
|
+
# :options_conflict ::
|
700
|
+
# An option was passed to a command which is incompatible with other
|
701
|
+
# options. This may happen if two fields are mutually exclusive
|
702
|
+
# :http_error ::
|
703
|
+
# Received in callbacks if an operation failed because of a negative HTTP
|
704
|
+
# status code
|
705
|
+
# :durability_no_mutation_tokens ::
|
706
|
+
# Scheduling error received if @ref LCB_CNTL_DURABILITY_MUTATION_TOKENS was
|
707
|
+
# enabled, but there is no available mutation token for the key.
|
708
|
+
# :unknown_memcached_error ::
|
709
|
+
# The server replied with an unrecognized status code
|
710
|
+
# :mutation_lost ::
|
711
|
+
# The server replied that the given mutation has been lost
|
712
|
+
# :subdoc_path_enoent ::
|
713
|
+
#
|
714
|
+
# :subdoc_path_mismatch ::
|
715
|
+
#
|
716
|
+
# :subdoc_path_einval ::
|
717
|
+
#
|
718
|
+
# :subdoc_path_e2big ::
|
719
|
+
#
|
720
|
+
# :subdoc_doc_e2deep ::
|
721
|
+
#
|
722
|
+
# :subdoc_value_cantinsert ::
|
723
|
+
#
|
724
|
+
# :subdoc_doc_notjson ::
|
725
|
+
#
|
726
|
+
# :subdoc_num_erange ::
|
727
|
+
#
|
728
|
+
# :subdoc_bad_delta ::
|
729
|
+
#
|
730
|
+
# :subdoc_path_eexists ::
|
731
|
+
#
|
732
|
+
# :subdoc_multi_failure ::
|
733
|
+
#
|
734
|
+
# :subdoc_value_e2deep ::
|
735
|
+
#
|
736
|
+
# :einval_mcd ::
|
737
|
+
#
|
738
|
+
# :empty_path ::
|
739
|
+
#
|
740
|
+
# :unknown_sdcmd ::
|
741
|
+
#
|
742
|
+
# :eno_commands ::
|
743
|
+
#
|
744
|
+
# :query_error ::
|
745
|
+
#
|
746
|
+
# :max_error ::
|
747
|
+
# The errors below this value reserver for libcouchbase usage.
|
748
|
+
#
|
749
|
+
# @method `enum_error_t`
|
750
|
+
# @return [Symbol]
|
751
|
+
# @scope class
|
752
|
+
#
|
753
|
+
ErrorT = enum [
|
754
|
+
:success, 0,
|
755
|
+
:auth_continue, 1,
|
756
|
+
:auth_error, 2,
|
757
|
+
:delta_badval, 3,
|
758
|
+
:e2big, 4,
|
759
|
+
:ebusy, 5,
|
760
|
+
:einternal, 6,
|
761
|
+
:einval, 7,
|
762
|
+
:enomem, 8,
|
763
|
+
:erange, 9,
|
764
|
+
:error, 10,
|
765
|
+
:etmpfail, 11,
|
766
|
+
:key_eexists, 12,
|
767
|
+
:key_enoent, 13,
|
768
|
+
:dlopen_failed, 14,
|
769
|
+
:dlsym_failed, 15,
|
770
|
+
:network_error, 16,
|
771
|
+
:not_my_vbucket, 17,
|
772
|
+
:not_stored, 18,
|
773
|
+
:not_supported, 19,
|
774
|
+
:unknown_command, 20,
|
775
|
+
:unknown_host, 21,
|
776
|
+
:protocol_error, 22,
|
777
|
+
:etimedout, 23,
|
778
|
+
:connect_error, 24,
|
779
|
+
:bucket_enoent, 25,
|
780
|
+
:client_enomem, 26,
|
781
|
+
:client_enoconf, 27,
|
782
|
+
:ebadhandle, 28,
|
783
|
+
:server_bug, 29,
|
784
|
+
:plugin_version_mismatch, 30,
|
785
|
+
:invalid_host_format, 31,
|
786
|
+
:invalid_char, 32,
|
787
|
+
:durability_etoomany, 33,
|
788
|
+
:duplicate_commands, 34,
|
789
|
+
:no_matching_server, 35,
|
790
|
+
:bad_environment, 36,
|
791
|
+
:busy, 37,
|
792
|
+
:invalid_username, 38,
|
793
|
+
:config_cache_invalid, 39,
|
794
|
+
:saslmech_unavailable, 40,
|
795
|
+
:too_many_redirects, 41,
|
796
|
+
:map_changed, 42,
|
797
|
+
:incomplete_packet, 43,
|
798
|
+
:econnrefused, 44,
|
799
|
+
:esockshutdown, 45,
|
800
|
+
:econnreset, 46,
|
801
|
+
:ecantgetport, 47,
|
802
|
+
:efdlimitreached, 48,
|
803
|
+
:enetunreach, 49,
|
804
|
+
:ectl_unknown, 50,
|
805
|
+
:ectl_unsuppmode, 51,
|
806
|
+
:ectl_badarg, 52,
|
807
|
+
:empty_key, 53,
|
808
|
+
:ssl_error, 54,
|
809
|
+
:ssl_cantverify, 55,
|
810
|
+
:schedfail_internal, 56,
|
811
|
+
:client_feature_unavailable, 57,
|
812
|
+
:options_conflict, 58,
|
813
|
+
:http_error, 59,
|
814
|
+
:durability_no_mutation_tokens, 60,
|
815
|
+
:unknown_memcached_error, 61,
|
816
|
+
:mutation_lost, 62,
|
817
|
+
:subdoc_path_enoent, 63,
|
818
|
+
:subdoc_path_mismatch, 64,
|
819
|
+
:subdoc_path_einval, 65,
|
820
|
+
:subdoc_path_e2big, 66,
|
821
|
+
:subdoc_doc_e2deep, 67,
|
822
|
+
:subdoc_value_cantinsert, 68,
|
823
|
+
:subdoc_doc_notjson, 69,
|
824
|
+
:subdoc_num_erange, 70,
|
825
|
+
:subdoc_bad_delta, 71,
|
826
|
+
:subdoc_path_eexists, 72,
|
827
|
+
:subdoc_multi_failure, 73,
|
828
|
+
:subdoc_value_e2deep, 74,
|
829
|
+
:einval_mcd, 75,
|
830
|
+
:empty_path, 76,
|
831
|
+
:unknown_sdcmd, 77,
|
832
|
+
:eno_commands, 78,
|
833
|
+
:query_error, 79,
|
834
|
+
:generic_tmperr, 80,
|
835
|
+
:generic_subdocerr, 81,
|
836
|
+
:generic_constraint_err, 82,
|
837
|
+
:nameserver_error, 83,
|
838
|
+
:not_authorized, 84,
|
839
|
+
:subdoc_invalid_combo, 85,
|
840
|
+
:subdoc_multi_path_failure, 86,
|
841
|
+
:subdoc_success_deleted, 87,
|
842
|
+
:subdoc_xattr_invalid_flag_combo, 88,
|
843
|
+
:subdoc_xattr_invalid_key_combo, 89,
|
844
|
+
:subdoc_xattr_unknown_macro, 90,
|
845
|
+
:subdoc_xattr_unknown_vattr, 91,
|
846
|
+
:subdoc_xattr_cant_modify_vattr, 92,
|
847
|
+
:subdoc_multi_path_failure_deleted, 93,
|
848
|
+
:subdoc_invalid_xattr_order, 94,
|
849
|
+
:max_error, 4096
|
850
|
+
]
|
851
|
+
|
852
|
+
# (Not documented)
|
853
|
+
#
|
854
|
+
# ## Options:
|
855
|
+
# :bucket ::
|
856
|
+
#
|
857
|
+
# :cluster ::
|
858
|
+
# < Handle for data access (default)
|
859
|
+
#
|
860
|
+
# @method `enum_type_t`
|
861
|
+
# @return [Symbol]
|
862
|
+
# @scope class
|
863
|
+
#
|
864
|
+
TypeT = enum [
|
865
|
+
:bucket, 0,
|
866
|
+
:cluster, 1
|
867
|
+
]
|
868
|
+
|
869
|
+
# (Not documented)
|
870
|
+
#
|
871
|
+
# ## Options:
|
872
|
+
# :callback_default ::
|
873
|
+
#
|
874
|
+
# :callback_get ::
|
875
|
+
# < Default callback invoked as a fallback
|
876
|
+
# :callback_store ::
|
877
|
+
# < lcb_get3()
|
878
|
+
# :callback_counter ::
|
879
|
+
# < lcb_store3()
|
880
|
+
# :callback_touch ::
|
881
|
+
# < lcb_counter3()
|
882
|
+
# :callback_remove ::
|
883
|
+
# < lcb_touch3()
|
884
|
+
# :callback_unlock ::
|
885
|
+
# < lcb_remove3()
|
886
|
+
# :callback_stats ::
|
887
|
+
# < lcb_unlock3()
|
888
|
+
# :callback_versions ::
|
889
|
+
# < lcb_stats3()
|
890
|
+
# :callback_verbosity ::
|
891
|
+
# < lcb_server_versions3()
|
892
|
+
# :callback_flush ::
|
893
|
+
# < lcb_server_verbosity3()
|
894
|
+
# :callback_observe ::
|
895
|
+
# < lcb_flush3()
|
896
|
+
# :callback_getreplica ::
|
897
|
+
# < lcb_observe3_ctxnew()
|
898
|
+
# :callback_endure ::
|
899
|
+
# < lcb_rget3()
|
900
|
+
# :callback_http ::
|
901
|
+
# < lcb_endure3_ctxnew()
|
902
|
+
# :callback_cbflush ::
|
903
|
+
# < lcb_http3()
|
904
|
+
# :callback_obseqno ::
|
905
|
+
# < lcb_cbflush3()
|
906
|
+
# :callback_storedur ::
|
907
|
+
# < For lcb_observe_seqno3()
|
908
|
+
# :callback_sdlookup ::
|
909
|
+
# <for lcb_storedur3()
|
910
|
+
# :callback_sdmutate ::
|
911
|
+
#
|
912
|
+
# :callback_max ::
|
913
|
+
#
|
914
|
+
#
|
915
|
+
# @method `enum_callbacktype`
|
916
|
+
# @return [Symbol]
|
917
|
+
# @scope class
|
918
|
+
#
|
919
|
+
CALLBACKTYPE = enum [
|
920
|
+
:callback_default, 0,
|
921
|
+
:callback_get, 1,
|
922
|
+
:callback_store, 2,
|
923
|
+
:callback_counter, 3,
|
924
|
+
:callback_touch, 4,
|
925
|
+
:callback_remove, 5,
|
926
|
+
:callback_unlock, 6,
|
927
|
+
:callback_stats, 7,
|
928
|
+
:callback_versions, 8,
|
929
|
+
:callback_verbosity, 9,
|
930
|
+
:callback_flush, 10,
|
931
|
+
:callback_observe, 11,
|
932
|
+
:callback_getreplica, 12,
|
933
|
+
:callback_endure, 13,
|
934
|
+
:callback_http, 14,
|
935
|
+
:callback_cbflush, 15,
|
936
|
+
:callback_obseqno, 16,
|
937
|
+
:callback_storedur, 17,
|
938
|
+
:callback_sdlookup, 18,
|
939
|
+
:callback_sdmutate, 19,
|
940
|
+
:callback_max, 20
|
941
|
+
]
|
942
|
+
|
943
|
+
# (Not documented)
|
944
|
+
#
|
945
|
+
# ## Options:
|
946
|
+
# :get ::
|
947
|
+
#
|
948
|
+
# :post ::
|
949
|
+
#
|
950
|
+
# :put ::
|
951
|
+
#
|
952
|
+
# :delete ::
|
953
|
+
#
|
954
|
+
# :max ::
|
955
|
+
#
|
956
|
+
#
|
957
|
+
# @method `enum_http_method_t`
|
958
|
+
# @return [Symbol]
|
959
|
+
# @scope class
|
960
|
+
#
|
961
|
+
HttpMethodT = enum [
|
962
|
+
:get, 0,
|
963
|
+
:post, 1,
|
964
|
+
:put, 2,
|
965
|
+
:delete, 3,
|
966
|
+
:max, 4
|
967
|
+
]
|
968
|
+
|
969
|
+
# (Not documented)
|
970
|
+
#
|
971
|
+
# ## Options:
|
972
|
+
# :node_htconfig ::
|
973
|
+
# Get an HTTP configuration (Rest API) node
|
974
|
+
# :node_data ::
|
975
|
+
# Get a data (memcached) node
|
976
|
+
# :node_views ::
|
977
|
+
# Get a view (CAPI) node
|
978
|
+
# :node_connected ::
|
979
|
+
# Only return a node which is connected, or a node which is known to be up
|
980
|
+
# :node_nevernull ::
|
981
|
+
# Specifying this flag adds additional semantics which instruct the library
|
982
|
+
# to search additional resources to return a host, and finally,
|
983
|
+
# if no host can be found, return the string
|
984
|
+
# constant @ref LCB_GETNODE_UNAVAILABLE.
|
985
|
+
# :node_htconfig_connected ::
|
986
|
+
# Equivalent to `LCB_NODE_HTCONFIG|LCB_NODE_CONNECTED`
|
987
|
+
# :node_htconfig_any ::
|
988
|
+
# Equivalent to `LCB_NODE_HTCONFIG|LCB_NODE_NEVERNULL`.
|
989
|
+
# When this is passed, some additional attempts may be made by the library
|
990
|
+
# to return any kind of host, including searching the initial list of hosts
|
991
|
+
# passed to the lcb_create() function.
|
992
|
+
#
|
993
|
+
# @method `enum_getnodetype`
|
994
|
+
# @return [Symbol]
|
995
|
+
# @scope class
|
996
|
+
#
|
997
|
+
GETNODETYPE = enum [
|
998
|
+
:node_htconfig, 1,
|
999
|
+
:node_data, 2,
|
1000
|
+
:node_views, 4,
|
1001
|
+
:node_connected, 8,
|
1002
|
+
:node_nevernull, 16,
|
1003
|
+
:node_htconfig_connected, 9,
|
1004
|
+
:node_htconfig_any, 17
|
1005
|
+
]
|
1006
|
+
|
1007
|
+
end
|