Skip to content

Commit 0ac9a67

Browse files
committed
Review fixes for IPROTO_EVAL
1 parent c9f2bd3 commit 0ac9a67

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

tarantool/const.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
IPROTO_TUPLE = 0x21
1313
IPROTO_FUNCTION_NAME = 0x22
1414
IPROTO_USER_NAME = 0x23
15+
IPROTO_EXPR = 0x27
1516
IPROTO_DATA = 0x30
1617
IPROTO_ERROR = 0x31
1718

tarantool/request.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
IPROTO_TUPLE,
2020
IPROTO_FUNCTION_NAME,
2121
IPROTO_ITERATOR,
22+
IPROTO_EXPR,
2223
REQUEST_TYPE_PING,
2324
REQUEST_TYPE_SELECT,
2425
REQUEST_TYPE_INSERT,
@@ -178,6 +179,7 @@ def __init__(self, conn, space_no, index_no, key, op_list):
178179

179180
self._bytes = self.header(len(request_body)) + request_body
180181

182+
181183
class RequestCall(Request):
182184

183185
'''
@@ -195,13 +197,24 @@ def __init__(self, conn, name, args):
195197

196198
self._bytes = self.header(len(request_body)) + request_body
197199

198-
class RequestEval(RequestCall):
200+
201+
class RequestEval(Request):
199202

200203
'''
201204
Represents EVAL request
202205
'''
203206
request_type = REQUEST_TYPE_EVAL
204207

208+
# pylint: disable=W0231
209+
def __init__(self, conn, name, args):
210+
super(RequestEval, self).__init__(conn)
211+
assert isinstance(args, (list, tuple))
212+
213+
request_body = msgpack.dumps({ IPROTO_EXPR: name, \
214+
IPROTO_TUPLE: args })
215+
216+
self._bytes = self.header(len(request_body)) + request_body
217+
205218

206219
class RequestPing(Request):
207220

0 commit comments

Comments
 (0)