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