[Tarantool-patches] [PATCH 1/1] sql: add another way to change SQL default engine

imeevma at tarantool.org imeevma at tarantool.org
Fri Dec 27 15:33:12 MSK 2019


Due to the removal of the sql_default_engine pragma in 2.3.1, this
patch adds another way to change this setting.
---
https://github.com/tarantool/test-run/tree/imeevma/fix_sql_default_engine

 lib/tarantool_server.py | 19 +++++++++++++------
 1 file changed, 13 insertions(+), 6 deletions(-)

diff --git a/lib/tarantool_server.py b/lib/tarantool_server.py
index 6f71b5b..20a398e 100644
--- a/lib/tarantool_server.py
+++ b/lib/tarantool_server.py
@@ -145,12 +145,19 @@ class LuaTest(Test):
             return True
 
         engine = self.run_params['engine']
-        command = "pragma sql_default_engine='{}'".format(engine)
-        result = self.send_command(command, ts, 'sql')
-        result = result.replace('\r\n', '\n')
-        if result != '---\n- row_count: 0\n...\n':
-            sys.stdout.write(result)
-            return False
+
+        command_new = ("UPDATE \"_session_settings\" SET \"value\" = '{}' " + \
+                       "WHERE \"name\" = 'sql_default_engine'").format(engine)
+        result_new = self.send_command(command_new, ts, 'sql')
+        result_new = result_new.replace('\r\n', '\n')
+
+        command_old = "pragma sql_default_engine='{}'".format(engine)
+        result_old = self.send_command(command_old, ts, 'sql')
+        result_old = result_old.replace('\r\n', '\n')
+        if result_new != '---\n- row_count: 1\n...\n':
+            if result_old != '---\n- row_count: 0\n...\n':
+                sys.stdout.write(result_old)
+                return False
 
         return True
 
-- 
2.7.4



More information about the Tarantool-patches mailing list