@@ -220,6 +220,7 @@ def execute(self, message: dict, *args, **kwargs):
220220 execute_many = message ['execute_many' ]
221221 execute_script = message ['execute_script' ]
222222 error = None
223+ lastrowid = None
223224 try :
224225 if execute_script :
225226 LOG .debug ("Query Mode: Execute Script" )
@@ -229,10 +230,10 @@ def execute(self, message: dict, *args, **kwargs):
229230 self ._cursor .executemany (message ['query' ], message ['params' ])
230231 elif message ['params' ]:
231232 LOG .debug ("Query Mode: Conditional Params" )
232- self ._cursor .execute (message ['query' ], message ['params' ])
233+ ret = self ._cursor .execute (message ['query' ], message ['params' ])
233234 else :
234235 LOG .debug ("Query Mode: Default No params" )
235- self ._cursor .execute (message ['query' ])
236+ ret = self ._cursor .execute (message ['query' ])
236237 except Exception :
237238 LOG .exception ("Exception while executing query %s" , message ['query' ])
238239 error = self .capture_exception ()
@@ -247,6 +248,10 @@ def execute(self, message: dict, *args, **kwargs):
247248 if error :
248249 return zlib .compress (msgpack .dumps (result ))
249250
251+ if ret is not None :
252+ if ret .lastrowid is not None :
253+ result ['lastrowid' ] = ret .lastrowid
254+
250255 try :
251256 result ['items' ] = [row for row in self ._cursor .fetchall ()]
252257 return zlib .compress (msgpack .dumps (result ))
0 commit comments