forked from fl00r/go-tarantool-1.6
-
Notifications
You must be signed in to change notification settings - Fork 60
/
Copy pathinsert_many.go
125 lines (104 loc) · 3.51 KB
/
insert_many.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
package crud
import (
"context"
"github.com/vmihailenco/msgpack/v5"
"github.com/tarantool/go-tarantool/v2"
)
// InsertManyOpts describes options for `crud.insert_many` method.
type InsertManyOpts = OperationManyOpts
// InsertManyRequest helps you to create request object to call
// `crud.insert_many` for execution by a Connection.
type InsertManyRequest struct {
spaceRequest
tuples Tuples
opts InsertManyOpts
}
type insertManyArgs struct {
_msgpack struct{} `msgpack:",asArray"` //nolint: structcheck,unused
Space string
Tuples Tuples
Opts InsertManyOpts
}
// MakeInsertManyRequest returns a new empty InsertManyRequest.
func MakeInsertManyRequest(space string) InsertManyRequest {
req := InsertManyRequest{}
req.impl = newCall("crud.insert_many")
req.space = space
req.opts = InsertManyOpts{}
return req
}
// Tuples sets the tuples for the InsertManyRequest request.
// Note: default value is nil.
func (req InsertManyRequest) Tuples(tuples Tuples) InsertManyRequest {
req.tuples = tuples
return req
}
// Opts sets the options for the InsertManyRequest request.
// Note: default value is nil.
func (req InsertManyRequest) Opts(opts InsertManyOpts) InsertManyRequest {
req.opts = opts
return req
}
// Body fills an encoder with the call request body.
func (req InsertManyRequest) Body(res tarantool.SchemaResolver, enc *msgpack.Encoder) error {
if req.tuples == nil {
req.tuples = []Tuple{}
}
args := insertManyArgs{Space: req.space, Tuples: req.tuples, Opts: req.opts}
req.impl = req.impl.Args(args)
return req.impl.Body(res, enc)
}
// Context sets a passed context to CRUD request.
func (req InsertManyRequest) Context(ctx context.Context) InsertManyRequest {
req.impl = req.impl.Context(ctx)
return req
}
// InsertObjectManyOpts describes options for `crud.insert_object_many` method.
type InsertObjectManyOpts = OperationObjectManyOpts
// InsertObjectManyRequest helps you to create request object to call
// `crud.insert_object_many` for execution by a Connection.
type InsertObjectManyRequest struct {
spaceRequest
objects Objects
opts InsertObjectManyOpts
}
type insertObjectManyArgs struct {
_msgpack struct{} `msgpack:",asArray"` //nolint: structcheck,unused
Space string
Objects Objects
Opts InsertObjectManyOpts
}
// MakeInsertObjectManyRequest returns a new empty InsertObjectManyRequest.
func MakeInsertObjectManyRequest(space string) InsertObjectManyRequest {
req := InsertObjectManyRequest{}
req.impl = newCall("crud.insert_object_many")
req.space = space
req.opts = InsertObjectManyOpts{}
return req
}
// Objects sets the objects for the InsertObjectManyRequest request.
// Note: default value is nil.
func (req InsertObjectManyRequest) Objects(objects Objects) InsertObjectManyRequest {
req.objects = objects
return req
}
// Opts sets the options for the InsertObjectManyRequest request.
// Note: default value is nil.
func (req InsertObjectManyRequest) Opts(opts InsertObjectManyOpts) InsertObjectManyRequest {
req.opts = opts
return req
}
// Body fills an encoder with the call request body.
func (req InsertObjectManyRequest) Body(res tarantool.SchemaResolver, enc *msgpack.Encoder) error {
if req.objects == nil {
req.objects = []Object{}
}
args := insertObjectManyArgs{Space: req.space, Objects: req.objects, Opts: req.opts}
req.impl = req.impl.Args(args)
return req.impl.Body(res, enc)
}
// Context sets a passed context to CRUD request.
func (req InsertObjectManyRequest) Context(ctx context.Context) InsertObjectManyRequest {
req.impl = req.impl.Context(ctx)
return req
}