libcouchbase-mapo 1.4.1
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 +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
|