From 3012477f46c7488fc24a82e4fb00cc261ba9bfd7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?=
 <grubba@grubba.org>
Date: Fri, 17 May 2013 16:23:51 +0200
Subject: [PATCH] Sql.rsql: Implemented insert_id().

Proxying of insert_id() was missing in the rsqld protocol.
---
 lib/modules/Sql.pmod/rsql.pike                    | 5 +++++
 lib/modules/Tools.pmod/Standalone.pmod/rsqld.pike | 6 ++++++
 2 files changed, 11 insertions(+)

diff --git a/lib/modules/Sql.pmod/rsql.pike b/lib/modules/Sql.pmod/rsql.pike
index 24a002bb65..940db9b6e3 100644
--- a/lib/modules/Sql.pmod/rsql.pike
+++ b/lib/modules/Sql.pmod/rsql.pike
@@ -227,6 +227,11 @@ array(mapping(string:mixed)) query(mixed ... args)
   return do_request('@', args);
 }
 
+int insert_id()
+{
+  return do_request('#');
+}
+
 void create(string|void host, string|void db, string|void user,
 	    string|void _pw, mapping|void options)
 {
diff --git a/lib/modules/Tools.pmod/Standalone.pmod/rsqld.pike b/lib/modules/Tools.pmod/Standalone.pmod/rsqld.pike
index 3f13e8bd32..8c9579ca8d 100644
--- a/lib/modules/Tools.pmod/Standalone.pmod/rsqld.pike
+++ b/lib/modules/Tools.pmod/Standalone.pmod/rsqld.pike
@@ -233,6 +233,11 @@ class Connection
     return sqlobj->query(@args);
   }
 
+  protected int cmd_insert_id()
+  {
+    return sqlobj->master_sql->insert_id();
+  }
+
   protected int|array(string|int) cmd_fetchrow(string qid)
   {
     return get_query(qid)->fetch_row();
@@ -277,6 +282,7 @@ class Connection
   {
     commandset_0();
     commandset |= ([
+      '#': cmd_insert_id,
       '@': cmd_query,
       'C': cmd_create,
       'D': cmd_selectdb,
-- 
GitLab