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,41 @@
|
|
1
|
+
module Libcouchbase::Ext
|
2
|
+
# (Not documented)
|
3
|
+
#
|
4
|
+
# ## Fields:
|
5
|
+
# :cookie ::
|
6
|
+
# (FFI::Pointer(*Void))
|
7
|
+
# :key ::
|
8
|
+
# (FFI::Pointer(*Void))
|
9
|
+
# :nkey ::
|
10
|
+
# (Integer)
|
11
|
+
# :cas ::
|
12
|
+
# (Integer)
|
13
|
+
# :rc ::
|
14
|
+
# (ErrorT)
|
15
|
+
# :version ::
|
16
|
+
# (Integer)
|
17
|
+
# :rflags ::
|
18
|
+
# (Integer)
|
19
|
+
# :row ::
|
20
|
+
# (String) Current result row. If #rflags has the ::LCB_RESP_F_FINAL bit set, then
|
21
|
+
# this field does not contain the actual row, but the remainder of the
|
22
|
+
# data not included with the resultset; e.g. the JSON surrounding
|
23
|
+
# the "results" field with any errors or metadata for the response.
|
24
|
+
# :nrow ::
|
25
|
+
# (Integer) Length of the row
|
26
|
+
# :htresp ::
|
27
|
+
# (RESPHTTP) Raw HTTP response, if applicable
|
28
|
+
class RESPN1QL < FFI::Struct
|
29
|
+
layout :cookie, :pointer,
|
30
|
+
:key, :pointer,
|
31
|
+
:nkey, :ulong,
|
32
|
+
:cas, :ulong_long,
|
33
|
+
:rc, ErrorT,
|
34
|
+
:version, :ushort,
|
35
|
+
:rflags, :ushort,
|
36
|
+
:row, :pointer,
|
37
|
+
:nrow, :ulong,
|
38
|
+
:htresp, RESPHTTP.by_ref
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
module Libcouchbase::Ext
|
2
|
+
# (Not documented)
|
3
|
+
#
|
4
|
+
# ## Fields:
|
5
|
+
# :cookie ::
|
6
|
+
# (FFI::Pointer(*Void))
|
7
|
+
# :key ::
|
8
|
+
# (FFI::Pointer(*Void))
|
9
|
+
# :nkey ::
|
10
|
+
# (Integer)
|
11
|
+
# :cas ::
|
12
|
+
# (Integer)
|
13
|
+
# :rc ::
|
14
|
+
# (ErrorT)
|
15
|
+
# :version ::
|
16
|
+
# (Integer)
|
17
|
+
# :rflags ::
|
18
|
+
# (Integer)
|
19
|
+
# :vbid ::
|
20
|
+
# (Integer) < vBucket ID (for potential mapping)
|
21
|
+
# :server_index ::
|
22
|
+
# (Integer) < Input server index
|
23
|
+
# :cur_uuid ::
|
24
|
+
# (Integer) < UUID for this vBucket as known to the server
|
25
|
+
# :persisted_seqno ::
|
26
|
+
# (Integer) < Highest persisted sequence
|
27
|
+
# :mem_seqno ::
|
28
|
+
# (Integer) < Highest known sequence
|
29
|
+
# :old_uuid ::
|
30
|
+
# (Integer) In the case where the command's uuid is not the most current, this
|
31
|
+
# contains the last known UUID
|
32
|
+
# :old_seqno ::
|
33
|
+
# (Integer) If #old_uuid is nonzero, contains the highest sequence number persisted
|
34
|
+
# in the #old_uuid snapshot.
|
35
|
+
class RESPOBSEQNO < FFI::Struct
|
36
|
+
layout :cookie, :pointer,
|
37
|
+
:key, :pointer,
|
38
|
+
:nkey, :ulong,
|
39
|
+
:cas, :ulong_long,
|
40
|
+
:rc, ErrorT,
|
41
|
+
:version, :ushort,
|
42
|
+
:rflags, :ushort,
|
43
|
+
:vbid, :ushort,
|
44
|
+
:server_index, :ushort,
|
45
|
+
:cur_uuid, :ulong_long,
|
46
|
+
:persisted_seqno, :ulong_long,
|
47
|
+
:mem_seqno, :ulong_long,
|
48
|
+
:old_uuid, :ulong_long,
|
49
|
+
:old_seqno, :ulong_long
|
50
|
+
end
|
51
|
+
|
52
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
module Libcouchbase::Ext
|
2
|
+
# (Not documented)
|
3
|
+
#
|
4
|
+
# ## Fields:
|
5
|
+
# :cookie ::
|
6
|
+
# (FFI::Pointer(*Void))
|
7
|
+
# :key ::
|
8
|
+
# (FFI::Pointer(*Void))
|
9
|
+
# :nkey ::
|
10
|
+
# (Integer)
|
11
|
+
# :cas ::
|
12
|
+
# (Integer)
|
13
|
+
# :rc ::
|
14
|
+
# (ErrorT)
|
15
|
+
# :version ::
|
16
|
+
# (Integer)
|
17
|
+
# :rflags ::
|
18
|
+
# (Integer)
|
19
|
+
# :status ::
|
20
|
+
# (Integer) <Bit set of flags
|
21
|
+
# :ismaster ::
|
22
|
+
# (Integer) < Set to true if this response came from the master node
|
23
|
+
# :ttp ::
|
24
|
+
# (Integer) <Unused. For internal requests, contains the server index
|
25
|
+
# :ttr ::
|
26
|
+
# (Integer) <Unused
|
27
|
+
class RESPOBSERVE < FFI::Struct
|
28
|
+
layout :cookie, :pointer,
|
29
|
+
:key, :pointer,
|
30
|
+
:nkey, :ulong,
|
31
|
+
:cas, :ulong_long,
|
32
|
+
:rc, ErrorT,
|
33
|
+
:version, :ushort,
|
34
|
+
:rflags, :ushort,
|
35
|
+
:status, :uchar,
|
36
|
+
:ismaster, :uchar,
|
37
|
+
:ttp, :uint,
|
38
|
+
:ttr, :uint
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
module Libcouchbase::Ext
|
2
|
+
# (Not documented)
|
3
|
+
#
|
4
|
+
# ## Fields:
|
5
|
+
# :cookie ::
|
6
|
+
# (FFI::Pointer(*Void))
|
7
|
+
# :key ::
|
8
|
+
# (FFI::Pointer(*Void))
|
9
|
+
# :nkey ::
|
10
|
+
# (Integer)
|
11
|
+
# :cas ::
|
12
|
+
# (Integer)
|
13
|
+
# :rc ::
|
14
|
+
# (ErrorT)
|
15
|
+
# :version ::
|
16
|
+
# (Integer)
|
17
|
+
# :rflags ::
|
18
|
+
# (Integer)
|
19
|
+
# :server ::
|
20
|
+
# (String)
|
21
|
+
class RESPSERVERBASE < FFI::Struct
|
22
|
+
layout :cookie, :pointer,
|
23
|
+
:key, :pointer,
|
24
|
+
:nkey, :ulong,
|
25
|
+
:cas, :ulong_long,
|
26
|
+
:rc, ErrorT,
|
27
|
+
:version, :ushort,
|
28
|
+
:rflags, :ushort,
|
29
|
+
:server, :string
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
module Libcouchbase::Ext
|
2
|
+
# (Not documented)
|
3
|
+
#
|
4
|
+
# ## Fields:
|
5
|
+
# :cookie ::
|
6
|
+
# (FFI::Pointer(*Void))
|
7
|
+
# :key ::
|
8
|
+
# (FFI::Pointer(*Void))
|
9
|
+
# :nkey ::
|
10
|
+
# (Integer)
|
11
|
+
# :cas ::
|
12
|
+
# (Integer)
|
13
|
+
# :rc ::
|
14
|
+
# (ErrorT)
|
15
|
+
# :version ::
|
16
|
+
# (Integer)
|
17
|
+
# :rflags ::
|
18
|
+
# (Integer)
|
19
|
+
# :server ::
|
20
|
+
# (String)
|
21
|
+
# :value ::
|
22
|
+
# (String) < The value, if any, for the given statistic
|
23
|
+
# :nvalue ::
|
24
|
+
# (Integer) < Length of value
|
25
|
+
class RESPSTATS < FFI::Struct
|
26
|
+
layout :cookie, :pointer,
|
27
|
+
:key, :pointer,
|
28
|
+
:nkey, :ulong,
|
29
|
+
:cas, :ulong_long,
|
30
|
+
:rc, ErrorT,
|
31
|
+
:version, :ushort,
|
32
|
+
:rflags, :ushort,
|
33
|
+
:server, :string,
|
34
|
+
:value, :string,
|
35
|
+
:nvalue, :ulong
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
module Libcouchbase::Ext
|
2
|
+
# (Not documented)
|
3
|
+
#
|
4
|
+
# ## Fields:
|
5
|
+
# :cookie ::
|
6
|
+
# (FFI::Pointer(*Void))
|
7
|
+
# :key ::
|
8
|
+
# (FFI::Pointer(*Void))
|
9
|
+
# :nkey ::
|
10
|
+
# (Integer)
|
11
|
+
# :cas ::
|
12
|
+
# (Integer)
|
13
|
+
# :rc ::
|
14
|
+
# (ErrorT)
|
15
|
+
# :version ::
|
16
|
+
# (Integer)
|
17
|
+
# :rflags ::
|
18
|
+
# (Integer)
|
19
|
+
# :op ::
|
20
|
+
# (StorageT) The type of operation which was performed
|
21
|
+
class RESPSTORE < FFI::Struct
|
22
|
+
layout :cookie, :pointer,
|
23
|
+
:key, :pointer,
|
24
|
+
:nkey, :ulong,
|
25
|
+
:cas, :ulong_long,
|
26
|
+
:rc, ErrorT,
|
27
|
+
:version, :ushort,
|
28
|
+
:rflags, :ushort,
|
29
|
+
:op, StorageT
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
module Libcouchbase::Ext
|
2
|
+
# (Not documented)
|
3
|
+
#
|
4
|
+
# ## Fields:
|
5
|
+
# :cookie ::
|
6
|
+
# (FFI::Pointer(*Void))
|
7
|
+
# :key ::
|
8
|
+
# (FFI::Pointer(*Void))
|
9
|
+
# :nkey ::
|
10
|
+
# (Integer)
|
11
|
+
# :cas ::
|
12
|
+
# (Integer)
|
13
|
+
# :rc ::
|
14
|
+
# (ErrorT)
|
15
|
+
# :version ::
|
16
|
+
# (Integer)
|
17
|
+
# :rflags ::
|
18
|
+
# (Integer)
|
19
|
+
# :dur_resp ::
|
20
|
+
# (RESPENDURE) Internal durability response structure. This should never be NULL
|
21
|
+
# :store_ok ::
|
22
|
+
# (Integer) If the #rc field is not @ref LCB_SUCCESS, this field indicates
|
23
|
+
# what failed. If this field is nonzero, then the store operation failed,
|
24
|
+
# but the durability checking failed. If this field is zero then the
|
25
|
+
# actual storage operation failed.
|
26
|
+
class RESPSTOREDUR < FFI::Struct
|
27
|
+
layout :cookie, :pointer,
|
28
|
+
:key, :pointer,
|
29
|
+
:nkey, :ulong,
|
30
|
+
:cas, :ulong_long,
|
31
|
+
:rc, ErrorT,
|
32
|
+
:version, :ushort,
|
33
|
+
:rflags, :ushort,
|
34
|
+
:dur_resp, RESPENDURE.by_ref,
|
35
|
+
:store_ok, :int
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
module Libcouchbase::Ext
|
2
|
+
# (Not documented)
|
3
|
+
#
|
4
|
+
# ## Fields:
|
5
|
+
# :cookie ::
|
6
|
+
# (FFI::Pointer(*Void))
|
7
|
+
# :key ::
|
8
|
+
# (FFI::Pointer(*Void))
|
9
|
+
# :nkey ::
|
10
|
+
# (Integer)
|
11
|
+
# :cas ::
|
12
|
+
# (Integer)
|
13
|
+
# :rc ::
|
14
|
+
# (ErrorT)
|
15
|
+
# :version ::
|
16
|
+
# (Integer)
|
17
|
+
# :rflags ::
|
18
|
+
# (Integer)
|
19
|
+
# :responses ::
|
20
|
+
# (FFI::Pointer(*Void))
|
21
|
+
# :bufh ::
|
22
|
+
# (FFI::Pointer(*Void)) Use with lcb_backbuf_ref/unref
|
23
|
+
class RESPSUBDOC < FFI::Struct
|
24
|
+
layout :cookie, :pointer,
|
25
|
+
:key, :pointer,
|
26
|
+
:nkey, :ulong,
|
27
|
+
:cas, :ulong_long,
|
28
|
+
:rc, ErrorT,
|
29
|
+
:version, :ushort,
|
30
|
+
:rflags, :ushort,
|
31
|
+
:responses, :pointer,
|
32
|
+
:bufh, :pointer
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
@@ -0,0 +1,67 @@
|
|
1
|
+
module Libcouchbase::Ext
|
2
|
+
# (Not documented)
|
3
|
+
#
|
4
|
+
# ## Fields:
|
5
|
+
# :cookie ::
|
6
|
+
# (FFI::Pointer(*Void))
|
7
|
+
# :key ::
|
8
|
+
# (FFI::Pointer(*Void))
|
9
|
+
# :nkey ::
|
10
|
+
# (Integer)
|
11
|
+
# :cas ::
|
12
|
+
# (Integer)
|
13
|
+
# :rc ::
|
14
|
+
# (ErrorT)
|
15
|
+
# :version ::
|
16
|
+
# (Integer)
|
17
|
+
# :rflags ::
|
18
|
+
# (Integer)
|
19
|
+
# :docid ::
|
20
|
+
# (String) < Document ID (i.e. memcached key) associated with this row
|
21
|
+
# :ndocid ::
|
22
|
+
# (Integer) < Length of document ID
|
23
|
+
# :value ::
|
24
|
+
# (String) Emitted value. If `rflags & LCB_RESP_F_FINAL` is true then this will
|
25
|
+
# contain the _metadata_ of the view response itself. This includes the
|
26
|
+
# `total_rows` field among other things, and should be parsed as JSON
|
27
|
+
# :nvalue ::
|
28
|
+
# (Integer) < Length of emitted value
|
29
|
+
# :geometry ::
|
30
|
+
# (String) If this is a spatial view, the GeoJSON geometry fields will be here
|
31
|
+
# :ngeometry ::
|
32
|
+
# (Integer)
|
33
|
+
# :htresp ::
|
34
|
+
# (RESPHTTP) If the request failed, this will contain the raw underlying request.
|
35
|
+
# You may inspect this request and perform some other processing on
|
36
|
+
# the underlying HTTP data. Note that this may not necessarily contain
|
37
|
+
# the entire response body; just the chunk at which processing failed.
|
38
|
+
# :docresp ::
|
39
|
+
# (RESPGET) If @ref LCB_CMDVIEWQUERY_F_INCLUDE_DOCS was specified in the request,
|
40
|
+
# this will contain the response for the _GET_ command. This is the same
|
41
|
+
# response as would be received in the `LCB_CALLBACK_GET` for
|
42
|
+
# lcb_get3().
|
43
|
+
#
|
44
|
+
# Note that this field should be checked for various errors as well, as it
|
45
|
+
# is remotely possible the get request did not succeed.
|
46
|
+
#
|
47
|
+
# If the @ref LCB_CMDVIEWQUERY_F_INCLUDE_DOCS flag was not specified, this
|
48
|
+
# field will be `NULL`.
|
49
|
+
class RESPVIEWQUERY < FFI::Struct
|
50
|
+
layout :cookie, :pointer,
|
51
|
+
:key, :pointer,
|
52
|
+
:nkey, :ulong,
|
53
|
+
:cas, :ulong_long,
|
54
|
+
:rc, ErrorT,
|
55
|
+
:version, :ushort,
|
56
|
+
:rflags, :ushort,
|
57
|
+
:docid, :pointer,
|
58
|
+
:ndocid, :ulong,
|
59
|
+
:value, :pointer,
|
60
|
+
:nvalue, :ulong,
|
61
|
+
:geometry, :pointer,
|
62
|
+
:ngeometry, :ulong,
|
63
|
+
:htresp, RESPHTTP.by_ref,
|
64
|
+
:docresp, RESPGET.by_ref
|
65
|
+
end
|
66
|
+
|
67
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Libcouchbase::Ext
|
2
|
+
# (Not documented)
|
3
|
+
#
|
4
|
+
# ## Fields:
|
5
|
+
# :value ::
|
6
|
+
# (FFI::Pointer(*Void)) Value for the mutation (only applicable for ::LCB_SUBDOC_COUNTER, currently)
|
7
|
+
# :nvalue ::
|
8
|
+
# (Integer) Length of the value
|
9
|
+
# :status ::
|
10
|
+
# (ErrorT) Status code
|
11
|
+
# :index ::
|
12
|
+
# (Integer) Request index which this result pertains to. This field only
|
13
|
+
# makes sense for multi mutations where not all request specs are returned
|
14
|
+
# in the result
|
15
|
+
class SDENTRY < FFI::Struct
|
16
|
+
layout :value, :pointer,
|
17
|
+
:nvalue, :ulong,
|
18
|
+
:status, ErrorT,
|
19
|
+
:index, :uchar
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module Libcouchbase::Ext
|
2
|
+
# (Not documented)
|
3
|
+
#
|
4
|
+
# ## Fields:
|
5
|
+
# :sdcmd ::
|
6
|
+
# (Integer) The command code, @ref lcb_SUBDOCOP. There is no default for this
|
7
|
+
# value, and it therefore must be set.
|
8
|
+
# :options ::
|
9
|
+
# (Integer) Set of option flags for the command. Currently the only option known
|
10
|
+
# is @ref LCB_SDSPEC_F_MKINTERMEDIATES
|
11
|
+
# :path ::
|
12
|
+
# (KEYBUF) Path for the operation. This should be assigned using
|
13
|
+
# @ref LCB_SDSPEC_SET_PATH. The contents of the path should be valid
|
14
|
+
# until the operation is scheduled (lcb_subdoc3())
|
15
|
+
# :value ::
|
16
|
+
# (VALBUF) @value for the operation. This should be assigned using
|
17
|
+
# @ref LCB_SDSPEC_SET_VALUE. The contents of the value should be valid
|
18
|
+
# until the operation is scheduled (i.e. lcb_subdoc3())
|
19
|
+
class SDSPEC < FFI::Struct
|
20
|
+
MKINTERMEDIATES = (1<<16) # Create intermediate paths
|
21
|
+
XATTRPATH = (1<<18) # Access document XATTR path
|
22
|
+
XATTR_MACROVALUES = (1<<19) # Access document virtual/materialized path
|
23
|
+
XATTR_DELETED_OK = (1<<20) # Access Xattrs of deleted documents
|
24
|
+
|
25
|
+
layout :sdcmd, :uint,
|
26
|
+
:options, :uint,
|
27
|
+
:path, KEYBUF.by_value,
|
28
|
+
:value, VALBUF.by_value
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|