Changeset: 455d45a6e203 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=455d45a6e203
Modified Files:
        
sql/test/BugTracker-2018/Tests/sqlitelogictest-having-not-null-not-in.Bug-6557.sql
        
sql/test/BugTracker-2018/Tests/sqlitelogictest-having-not-null-not-in.Bug-6557.stable.out
        sql/test/BugTracker-2019/Tests/cte-union.Bug-6755.sql
        sql/test/BugTracker-2019/Tests/cte-union.Bug-6755.stable.out
        sql/test/SQLite_regress/sqllogictest/sqllogictest.py
Branch: default
Log Message:

Merge with Nov2019


diffs (154 lines):

diff --git 
a/sql/test/BugTracker-2018/Tests/sqlitelogictest-having-not-null-not-in.Bug-6557.sql
 
b/sql/test/BugTracker-2018/Tests/sqlitelogictest-having-not-null-not-in.Bug-6557.sql
--- 
a/sql/test/BugTracker-2018/Tests/sqlitelogictest-having-not-null-not-in.Bug-6557.sql
+++ 
b/sql/test/BugTracker-2018/Tests/sqlitelogictest-having-not-null-not-in.Bug-6557.sql
@@ -7,9 +7,5 @@ SELECT CAST(SUM(col0) AS BIGINT) FROM ta
 SELECT CAST(SUM(col0) AS BIGINT) FROM tab0 WHERE + + col0 NOT BETWEEN NULL AND 
+ col2;
 SELECT DISTINCT COUNT(*) FROM tab0 WHERE NOT col2 NOT BETWEEN ( 35 ) AND ( 
NULL );
 SELECT CAST(- COUNT(*) * - - 61 + + + ( + COUNT(*) ) AS BIGINT) FROM tab0 
WHERE NOT col0 + + 10 BETWEEN NULL AND NULL;
-debug SELECT CAST(SUM(col0) AS BIGINT) FROM tab0 WHERE + + col0 NOT BETWEEN 
NULL AND + col2;
-n
-n
-n
-finish
 DROP TABLE tab0;
+debug SELECT CAST(SUM(col0) AS BIGINT) FROM (VALUES(83,0,38), (26,0,79), 
(43,81,24)) as tab0(col0,col1,col2) WHERE + + col0 NOT BETWEEN NULL AND + col2;
diff --git 
a/sql/test/BugTracker-2018/Tests/sqlitelogictest-having-not-null-not-in.Bug-6557.stable.out
 
b/sql/test/BugTracker-2018/Tests/sqlitelogictest-having-not-null-not-in.Bug-6557.stable.out
--- 
a/sql/test/BugTracker-2018/Tests/sqlitelogictest-having-not-null-not-in.Bug-6557.stable.out
+++ 
b/sql/test/BugTracker-2018/Tests/sqlitelogictest-having-not-null-not-in.Bug-6557.stable.out
@@ -63,18 +63,9 @@ stdout of test 'sqlitelogictest-having-n
 % bigint # type
 % 1 # length
 [ 0    ]
-#debug SELECT CAST(SUM(col0) AS BIGINT) FROM tab0 WHERE + + col0 NOT BETWEEN 
NULL AND + col2;
-mdb>#X_2=0@0:void := querylog.define("debug select cast(sum(col0) as bigint) 
from tab0 where + + col0 not between null and + col2;", "default_pipe", 24:int);
-mdb>#barrier X_139=false := language.dataflow();
-mdb>#X_5=0 := sql.mvc();
-mdb>#X_94=nil:bat[:int] := sql.bind(X_5=0, "sys", "tab0", "col0", 0:int, 
0:int, 3:int);
-% sys.L3 # table_name
-% L3 # name
-% bigint # type
-% 3 # length
-[ 126  ]
-mdb>#EOD
 #DROP TABLE tab0;
+#debug SELECT CAST(SUM(col0) AS BIGINT) FROM (VALUES(83,0,38), (26,0,79), 
(43,81,24)) as tab0(col0,col1,col2) WHERE + + col0 NOT BETWEEN NULL AND + col2;
+mdb>#X_11=0@0:void := querylog.define("debug select cast(sum(col0) as bigint) 
from (values(83,0,38), (26,0,79), (43,81,24)) as tab0(col0,col1,col2) where + + 
col0 not between null and + col2;", "default_pipe", 27:int);
 
 # 12:32:58 >  
 # 12:32:58 >  "Done."
diff --git a/sql/test/BugTracker-2019/Tests/cte-union.Bug-6755.sql 
b/sql/test/BugTracker-2019/Tests/cte-union.Bug-6755.sql
--- a/sql/test/BugTracker-2019/Tests/cte-union.Bug-6755.sql
+++ b/sql/test/BugTracker-2019/Tests/cte-union.Bug-6755.sql
@@ -32,7 +32,7 @@ t2 AS (
     SELECT t."Carrier", tmp.*
     FROM tmp, (SELECT DISTINCT "Carrier" FROM t1) AS t
 )
-SELECT "Carrier", "Hour", SUM("PredictedArrDelay")
+SELECT "Carrier", "Hour", CAST(SUM("PredictedArrDelay") AS DECIMAL(18,2))
 FROM (SELECT * FROM t1 UNION SELECT * FROM t2) AS t
 GROUP BY "Carrier", "Hour"
 ORDER BY "Carrier", "Hour";
diff --git a/sql/test/BugTracker-2019/Tests/cte-union.Bug-6755.stable.out 
b/sql/test/BugTracker-2019/Tests/cte-union.Bug-6755.stable.out
--- a/sql/test/BugTracker-2019/Tests/cte-union.Bug-6755.stable.out
+++ b/sql/test/BugTracker-2019/Tests/cte-union.Bug-6755.stable.out
@@ -60,10 +60,10 @@ stdout of test 'cte-union.Bug-6755` in d
 #FROM (SELECT * FROM t1 UNION SELECT * FROM t2) AS t
 #GROUP BY "Carrier", "Hour"
 #ORDER BY "Carrier", "Hour";
-% sys.t,       sys.t,  sys.L24 # table_name
-% Carrier,     Hour,   L24 # name
+% sys.t,       sys.t,  sys.L25 # table_name
+% Carrier,     Hour,   L25 # name
 % char,        int,    decimal # type
-% 2,   1,      40 # length
+% 2,   1,      20 # length
 #rollback;
 
 # 22:24:24 >  
diff --git a/sql/test/SQLite_regress/sqllogictest/sqllogictest.py 
b/sql/test/SQLite_regress/sqllogictest/sqllogictest.py
--- a/sql/test/SQLite_regress/sqllogictest/sqllogictest.py
+++ b/sql/test/SQLite_regress/sqllogictest/sqllogictest.py
@@ -44,7 +44,8 @@ class SQLLogic:
                                        password=password,
                                        hostname=hostname,
                                        port=port,
-                                       database=database)
+                                       database=database,
+                                       autocommit=True)
         self.__crs = self.__dbh.cursor()
 
     def drop(self):
@@ -61,20 +62,13 @@ class SQLLogic:
             return
         try:
             self.command(statement)
-        except pymonetdb.OperationalError:
+        except pymonetdb.DatabaseError:
             if not expectok:
                 return
         else:
             if expectok:
                 return
-        print("statement didn't give expected result")
-        print("statement started on line %d fo file %s" % (self.qline, 
self.__name))
-        if expectok:
-            print("statement was expected to succeed but didn't")
-        else:
-            print("statement was expected to fail bat didn't")
-        print("statement text:")
-        print(statement)
+        self.query_error(statement, "statement didn't give expected result", 
expectok and "statement was expected to succeed but didn't" or "statement was 
expected to fail bat didn't")
 
     def convertresult(self, query, columns, data):
         ndata = []
@@ -84,10 +78,15 @@ class SQLLogic:
                 return None
             nrow = []
             for i in range(len(columns)):
-                if row[i] is None:
+                if row[i] is None or row[i] == 'NULL':
                     nrow.append('NULL')
                 elif columns[i] == 'I':
-                    nrow.append('%d' % row[i])
+                    if row[i] == 'true':
+                        nrow.append('1')
+                    elif row[i] == 'false':
+                        nrow.append('0')
+                    else:
+                        nrow.append('%d' % row[i])
                 elif columns[i] == 'T':
                     if row[i] == '':
                         nrow.append('(empty)')
@@ -106,14 +105,21 @@ class SQLLogic:
             ndata.append(tuple(nrow))
         return ndata
 
-    def query_error(self, query, message):
+    def query_error(self, query, message, exception=None):
         print(message)
+        if exception:
+            print(exception.rstrip('\n'))
         print("query started on line %d fo file %s" % (self.qline, 
self.__name))
         print("query text:")
         print(query)
+        print('')
 
     def exec_query(self, query, columns, sorting, args, nresult, hash, 
expected):
-        rows = self.command(query)
+        try:
+            rows = self.command(query)
+        except pymonetdb.DatabaseError as e:
+            self.query_error(query, 'query failed', e.args[0])
+            return
         if rows * len(columns) != nresult:
             self.query_error(query, 'wrong number of rows received')
             return
@@ -208,7 +214,7 @@ class SQLLogic:
                     raise SQLLogicSyntaxError('---- expected')
                 line = self.readline()
                 if not line:
-                    raise SQLLogicSyntaxError('query result expected')
+                    line = '\n'
                 if 'values hashing to' in line:
                     line = line.split()
                     hash = line[4]
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to