Skip to content

Commit 67974ae

Browse files
including the last inserted row id if available
1 parent 46601d4 commit 67974ae

1 file changed

Lines changed: 7 additions & 2 deletions

File tree

sqlite_rx/server.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)