Changeset: b79636382aac for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/b79636382aac
Modified Files:
        clients/odbc/driver/SQLExecDirect.c
        clients/odbc/driver/SQLExecute.c
        testing/sqllogictest.py
Branch: default
Log Message:

Don't use deprecated procedures sys.settimeout and sys.setsession.


diffs (43 lines):

diff --git a/clients/odbc/driver/SQLExecDirect.c 
b/clients/odbc/driver/SQLExecDirect.c
--- a/clients/odbc/driver/SQLExecDirect.c
+++ b/clients/odbc/driver/SQLExecDirect.c
@@ -48,7 +48,9 @@ ODBCExecDirect(ODBCStmt *stmt, const SQL
 
        if (stmt->qtimeout != stmt->Dbc->qtimeout) {
                char buf[48];
-               snprintf(buf, sizeof(buf), "call sys.settimeout(%" PRIu64 ")",
+               snprintf(buf, sizeof(buf), "call sys.%s(%" PRIu64 ")",
+                        (stmt->Dbc->major == 11 && stmt->Dbc->minor >= 37)
+                        ? "setquerytimeout" : "settimeout",
                         (uint64_t) stmt->qtimeout);
                if (mapi_query_handle(hdl, buf) == MOK)
                        stmt->Dbc->qtimeout = stmt->qtimeout;
diff --git a/clients/odbc/driver/SQLExecute.c b/clients/odbc/driver/SQLExecute.c
--- a/clients/odbc/driver/SQLExecute.c
+++ b/clients/odbc/driver/SQLExecute.c
@@ -448,7 +448,9 @@ MNDBExecute(ODBCStmt *stmt)
                return SQL_ERROR;
        }
        if (stmt->qtimeout != stmt->Dbc->qtimeout) {
-               snprintf(query, querylen, "call sys.settimeout(%" PRIu64 ")",
+               snprintf(query, querylen, "call sys.%s(%" PRIu64 ")",
+                        (stmt->Dbc->major == 11 && stmt->Dbc->minor >= 37)
+                        ? "setquerytimeout" : "settimeout",
                         (uint64_t) stmt->qtimeout);
                if (mapi_query_handle(hdl, query) == MOK)
                        stmt->Dbc->qtimeout = stmt->qtimeout;
diff --git a/testing/sqllogictest.py b/testing/sqllogictest.py
--- a/testing/sqllogictest.py
+++ b/testing/sqllogictest.py
@@ -656,9 +656,9 @@ class SQLLogic:
         self.approve = approve
         self.initfile(f, defines)
         if self.language == 'sql':
-            self.crs.execute(f'call sys.setsession(cast({self.timeout or 0} as 
bigint))')
+            self.crs.execute(f'call sys.setsessiontimeout({self.timeout or 
0})')
         else:
-            self.crs.execute(f'clients.setsession({self.timeout or 0}:lng)')
+            self.crs.execute(f'clients.setsessiontimeout({self.timeout or 
0}:int)')
         while True:
             skipping = False
             line = self.readline()
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to