Skip to content

Commit dc59b6f

Browse files
resolve questionable code
1 parent f8fe4ef commit dc59b6f

File tree

1 file changed

+77
-82
lines changed

1 file changed

+77
-82
lines changed

settings/request.go

Lines changed: 77 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -63,216 +63,211 @@ import (
6363
"github.com/tarantool/go-tarantool"
6464
)
6565

66-
// Request helps to work with session settings.
67-
type Request struct {
68-
get *tarantool.SelectRequest
69-
set *tarantool.UpdateRequest
66+
// SetRequest helps to set session settings.
67+
type SetRequest struct {
68+
impl *tarantool.UpdateRequest
7069
}
7170

72-
func (req *Request) assertBuiltWithNew() {
73-
if (req.get == nil) && (req.set == nil) {
74-
panic("Invalid settings.Request (empty), possibly build not with New*Request function")
75-
}
76-
77-
if (req.get != nil) && (req.set != nil) {
78-
panic("Invalid settings.Request (both types), possibly build not with New*Request function")
79-
}
80-
}
81-
82-
func newSetRequest(setting string, value interface{}) *Request {
83-
return &Request{
84-
set: tarantool.NewUpdateRequest(sessionSettingsSpace).
71+
func newSetRequest(setting string, value interface{}) *SetRequest {
72+
return &SetRequest{
73+
impl: tarantool.NewUpdateRequest(sessionSettingsSpace).
8574
Key(tarantool.StringKey{S: setting}).
8675
Operations(tarantool.NewOperations().Assign(sessionSettingValueField, value)),
8776
}
8877
}
8978

90-
func newGetRequest(setting string) *Request {
91-
return &Request{
92-
get: tarantool.NewSelectRequest(sessionSettingsSpace).
93-
Key(tarantool.StringKey{S: setting}).
94-
Limit(1),
95-
}
79+
// Context sets a passed context to set session settings request.
80+
func (req *SetRequest) Context(ctx context.Context) *SetRequest {
81+
req.impl = req.impl.Context(ctx)
82+
83+
return req
9684
}
9785

98-
// Context sets a passed context to the session settings request.
99-
func (req *Request) Context(ctx context.Context) *Request {
100-
req.assertBuiltWithNew()
86+
// Code returns IPROTO code for set session settings request.
87+
func (req *SetRequest) Code() int32 {
88+
return req.impl.Code()
89+
}
10190

102-
if req.set != nil {
103-
req.set = req.set.Context(ctx)
104-
} else {
105-
req.get = req.get.Context(ctx)
106-
}
91+
// Body fills an encoder with set session settings request body.
92+
func (req *SetRequest) Body(res tarantool.SchemaResolver, enc *encoder) error {
93+
return req.impl.Body(res, enc)
94+
}
10795

108-
return req
96+
// Ctx returns a context of set session settings request.
97+
func (req *SetRequest) Ctx() context.Context {
98+
return req.impl.Ctx()
99+
}
100+
101+
// Async returns is set session settings request expects a response.
102+
func (req *SetRequest) Async() bool {
103+
return req.impl.Async()
109104
}
110105

111-
// Code returns IPROTO code for the session settings request.
112-
func (req *Request) Code() int32 {
113-
req.assertBuiltWithNew()
106+
// GetRequest helps to get session settings.
107+
type GetRequest struct {
108+
impl *tarantool.SelectRequest
109+
}
114110

115-
if req.set != nil {
116-
return req.set.Code()
111+
func newGetRequest(setting string) *GetRequest {
112+
return &GetRequest{
113+
impl: tarantool.NewSelectRequest(sessionSettingsSpace).
114+
Key(tarantool.StringKey{S: setting}).
115+
Limit(1),
117116
}
118-
return req.get.Code()
119117
}
120118

121-
// Body fills an encoder with the session settings request body.
122-
func (req *Request) Body(res tarantool.SchemaResolver, enc *encoder) error {
123-
req.assertBuiltWithNew()
119+
// Context sets a passed context to get session settings request.
120+
func (req *GetRequest) Context(ctx context.Context) *GetRequest {
121+
req.impl = req.impl.Context(ctx)
124122

125-
if req.set != nil {
126-
return req.set.Body(res, enc)
127-
}
128-
return req.get.Body(res, enc)
123+
return req
129124
}
130125

131-
// Ctx returns a context of the session settings request.
132-
func (req *Request) Ctx() context.Context {
133-
req.assertBuiltWithNew()
126+
// Code returns IPROTO code for get session settings request.
127+
func (req *GetRequest) Code() int32 {
128+
return req.impl.Code()
129+
}
134130

135-
if req.set != nil {
136-
return req.set.Ctx()
137-
}
138-
return req.get.Ctx()
131+
// Body fills an encoder with get session settings request body.
132+
func (req *GetRequest) Body(res tarantool.SchemaResolver, enc *encoder) error {
133+
return req.impl.Body(res, enc)
139134
}
140135

141-
// Async returns is the session settings request expects a response.
142-
func (req *Request) Async() bool {
143-
req.assertBuiltWithNew()
136+
// Ctx returns a context of get session settings request.
137+
func (req *GetRequest) Ctx() context.Context {
138+
return req.impl.Ctx()
139+
}
144140

145-
if req.set != nil {
146-
return req.set.Async()
147-
}
148-
return req.get.Async()
141+
// Async returns is get session settings request expects a response.
142+
func (req *GetRequest) Async() bool {
143+
return req.impl.Async()
149144
}
150145

151146
// NewErrorMarshalingEnabledSetRequest creates a request to
152147
// update current session ErrorMarshalingEnabled setting.
153-
func NewErrorMarshalingEnabledSetRequest(value bool) *Request {
148+
func NewErrorMarshalingEnabledSetRequest(value bool) *SetRequest {
154149
return newSetRequest(errorMarshalingEnabled, value)
155150
}
156151

157152
// NewErrorMarshalingEnabledGetRequest creates a request to get
158153
// current session ErrorMarshalingEnabled setting in tuple format.
159-
func NewErrorMarshalingEnabledGetRequest() *Request {
154+
func NewErrorMarshalingEnabledGetRequest() *GetRequest {
160155
return newGetRequest(errorMarshalingEnabled)
161156
}
162157

163158
// NewSQLDefaultEngineSetRequest creates a request to
164159
// update current session SQLDefaultEngine setting.
165-
func NewSQLDefaultEngineSetRequest(value string) *Request {
160+
func NewSQLDefaultEngineSetRequest(value string) *SetRequest {
166161
return newSetRequest(sqlDefaultEngine, value)
167162
}
168163

169164
// NewSQLDefaultEngineGetRequest creates a request to get
170165
// current session SQLDefaultEngine setting in tuple format.
171-
func NewSQLDefaultEngineGetRequest() *Request {
166+
func NewSQLDefaultEngineGetRequest() *GetRequest {
172167
return newGetRequest(sqlDefaultEngine)
173168
}
174169

175170
// NewSQLDeferForeignKeysSetRequest creates a request to
176171
// update current session SQLDeferForeignKeys setting.
177-
func NewSQLDeferForeignKeysSetRequest(value bool) *Request {
172+
func NewSQLDeferForeignKeysSetRequest(value bool) *SetRequest {
178173
return newSetRequest(sqlDeferForeignKeys, value)
179174
}
180175

181176
// NewSQLDeferForeignKeysGetRequest creates a request to get
182177
// current session SQLDeferForeignKeys setting in tuple format.
183-
func NewSQLDeferForeignKeysGetRequest() *Request {
178+
func NewSQLDeferForeignKeysGetRequest() *GetRequest {
184179
return newGetRequest(sqlDeferForeignKeys)
185180
}
186181

187182
// NewSQLFullColumnNamesSetRequest creates a request to
188183
// update current session SQLFullColumnNames setting.
189-
func NewSQLFullColumnNamesSetRequest(value bool) *Request {
184+
func NewSQLFullColumnNamesSetRequest(value bool) *SetRequest {
190185
return newSetRequest(sqlFullColumnNames, value)
191186
}
192187

193188
// NewSQLFullColumnNamesGetRequest creates a request to get
194189
// current session SQLFullColumnNames setting in tuple format.
195-
func NewSQLFullColumnNamesGetRequest() *Request {
190+
func NewSQLFullColumnNamesGetRequest() *GetRequest {
196191
return newGetRequest(sqlFullColumnNames)
197192
}
198193

199194
// NewSQLFullMetadataSetRequest creates a request to
200195
// update current session SQLFullMetadata setting.
201-
func NewSQLFullMetadataSetRequest(value bool) *Request {
196+
func NewSQLFullMetadataSetRequest(value bool) *SetRequest {
202197
return newSetRequest(sqlFullMetadata, value)
203198
}
204199

205200
// NewSQLFullMetadataGetRequest creates a request to get
206201
// current session SQLFullMetadata setting in tuple format.
207-
func NewSQLFullMetadataGetRequest() *Request {
202+
func NewSQLFullMetadataGetRequest() *GetRequest {
208203
return newGetRequest(sqlFullMetadata)
209204
}
210205

211206
// NewSQLParserDebugSetRequest creates a request to
212207
// update current session SQLParserDebug setting.
213-
func NewSQLParserDebugSetRequest(value bool) *Request {
208+
func NewSQLParserDebugSetRequest(value bool) *SetRequest {
214209
return newSetRequest(sqlParserDebug, value)
215210
}
216211

217212
// NewSQLParserDebugGetRequest creates a request to get
218213
// current session SQLParserDebug setting in tuple format.
219-
func NewSQLParserDebugGetRequest() *Request {
214+
func NewSQLParserDebugGetRequest() *GetRequest {
220215
return newGetRequest(sqlParserDebug)
221216
}
222217

223218
// NewSQLRecursiveTriggersSetRequest creates a request to
224219
// update current session SQLRecursiveTriggers setting.
225-
func NewSQLRecursiveTriggersSetRequest(value bool) *Request {
220+
func NewSQLRecursiveTriggersSetRequest(value bool) *SetRequest {
226221
return newSetRequest(sqlRecursiveTriggers, value)
227222
}
228223

229224
// NewSQLRecursiveTriggersGetRequest creates a request to get
230225
// current session SQLRecursiveTriggers setting in tuple format.
231-
func NewSQLRecursiveTriggersGetRequest() *Request {
226+
func NewSQLRecursiveTriggersGetRequest() *GetRequest {
232227
return newGetRequest(sqlRecursiveTriggers)
233228
}
234229

235230
// NewSQLReverseUnorderedSelectsSetRequest creates a request to
236231
// update current session SQLReverseUnorderedSelects setting.
237-
func NewSQLReverseUnorderedSelectsSetRequest(value bool) *Request {
232+
func NewSQLReverseUnorderedSelectsSetRequest(value bool) *SetRequest {
238233
return newSetRequest(sqlReverseUnorderedSelects, value)
239234
}
240235

241236
// NewSQLReverseUnorderedSelectsGetRequest creates a request to get
242237
// current session SQLReverseUnorderedSelects setting in tuple format.
243-
func NewSQLReverseUnorderedSelectsGetRequest() *Request {
238+
func NewSQLReverseUnorderedSelectsGetRequest() *GetRequest {
244239
return newGetRequest(sqlReverseUnorderedSelects)
245240
}
246241

247242
// NewSQLSelectDebugSetRequest creates a request to
248243
// update current session SQLSelectDebug setting.
249-
func NewSQLSelectDebugSetRequest(value bool) *Request {
244+
func NewSQLSelectDebugSetRequest(value bool) *SetRequest {
250245
return newSetRequest(sqlSelectDebug, value)
251246
}
252247

253248
// NewSQLSelectDebugGetRequest creates a request to get
254249
// current session SQLSelectDebug setting in tuple format.
255-
func NewSQLSelectDebugGetRequest() *Request {
250+
func NewSQLSelectDebugGetRequest() *GetRequest {
256251
return newGetRequest(sqlSelectDebug)
257252
}
258253

259254
// NewSQLVDBEDebugSetRequest creates a request to
260255
// update current session SQLVDBEDebug setting.
261-
func NewSQLVDBEDebugSetRequest(value bool) *Request {
256+
func NewSQLVDBEDebugSetRequest(value bool) *SetRequest {
262257
return newSetRequest(sqlVDBEDebug, value)
263258
}
264259

265260
// NewSQLVDBEDebugGetRequest creates a request to get
266261
// current session SQLVDBEDebug setting in tuple format.
267-
func NewSQLVDBEDebugGetRequest() *Request {
262+
func NewSQLVDBEDebugGetRequest() *GetRequest {
268263
return newGetRequest(sqlVDBEDebug)
269264
}
270265

271266
// NewSessionSettingsGetRequest creates a request to get all
272267
// current session settings in tuple format.
273-
func NewSessionSettingsGetRequest() *Request {
274-
return &Request{
275-
get: tarantool.NewSelectRequest(sessionSettingsSpace).
268+
func NewSessionSettingsGetRequest() *GetRequest {
269+
return &GetRequest{
270+
impl: tarantool.NewSelectRequest(sessionSettingsSpace).
276271
Limit(selectAllLimit),
277272
}
278273
}

0 commit comments

Comments
 (0)