Changeset: 9ebc778f2967 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9ebc778f2967
Modified Files:
sql/backends/monet5/sql_scenario.c
sql/benchmarks/tpch/14.sql
sql/benchmarks/tpch/LOCKED/Tests/01-22.stable.out.int128
sql/benchmarks/tpch/LOCKED/Tests/14.stable.out.int128
sql/benchmarks/tpch/Tests/01-22.stable.out.int128
sql/benchmarks/tpch/Tests/14.stable.out.int128
Branch: default
Log Message:
Merge with Apr2019 branch.
diffs (117 lines):
diff --git a/sql/backends/monet5/sql_scenario.c
b/sql/backends/monet5/sql_scenario.c
--- a/sql/backends/monet5/sql_scenario.c
+++ b/sql/backends/monet5/sql_scenario.c
@@ -1303,25 +1303,12 @@ SQLCacheRemove(Client c, str nme)
}
str
-SQLcallback(Client c, str msg){
- char newerr[1024];
+SQLcallback(Client c, str msg)
+{
+ char *newerr;
- if (msg && (strstr(msg, "MALexception") || strstr(msg,"GDKexception")))
{
- // massage the error to comply with SQL
- char *s;
- s = strchr(msg, ':');
- if (s) {
- s++;
- if (s - msg >= (ptrdiff_t) sizeof(newerr))
- s = msg + sizeof(newerr) - 1;
- strncpy(newerr, msg, s - msg);
- newerr[s-msg] = 0;
- snprintf(newerr + (s-msg), sizeof(newerr) -(s-msg),
SQLSTATE(HY020) "%s",s);
- freeException(msg);
- msg = GDKstrdup(newerr);
- }
- }
- if (msg) {
+ if (msg &&
+ (newerr = GDKmalloc(strlen(msg) + 1)) != NULL) {
/* remove exception decoration */
char *m, *n, *p, *s;
size_t l;
@@ -1337,17 +1324,15 @@ SQLcallback(Client c, str msg){
} else {
l = strlen(s);
}
- if (p + l >= newerr + sizeof(newerr))
- l = newerr + sizeof(newerr) - p - 1;
memcpy(p, s, l);
p += l;
m = n;
}
*p = 0;
freeException(msg);
- msg = GDKstrdup(newerr);
+ msg = GDKrealloc(newerr, strlen(newerr) + 1);
}
- return MALcallback(c,msg);
+ return MALcallback(c, msg);
}
str
diff --git a/sql/benchmarks/tpch/14.sql b/sql/benchmarks/tpch/14.sql
--- a/sql/benchmarks/tpch/14.sql
+++ b/sql/benchmarks/tpch/14.sql
@@ -1,8 +1,10 @@
-- using default substitutions
+-- Adapted orignal query in testweb. Replaced 100.00 by 100.0 to avoid error
"!Too many digits (19 > 18)" on architectures
+-- which do not support decimals with more than 18 digits precision (such as
MSVC Windows and --disable-int128 builts).
select
- 100.00 * sum(case
+ 100.0 * sum(case
when p_type like 'PROMO%'
then l_extendedprice * (1 - l_discount)
else 0
diff --git a/sql/benchmarks/tpch/LOCKED/Tests/01-22.stable.out.int128
b/sql/benchmarks/tpch/LOCKED/Tests/01-22.stable.out.int128
--- a/sql/benchmarks/tpch/LOCKED/Tests/01-22.stable.out.int128
+++ b/sql/benchmarks/tpch/LOCKED/Tests/01-22.stable.out.int128
@@ -699,7 +699,7 @@ stdout of test '01-22` in directory 'sql
% promo_revenue # name
% decimal # type
% 40 # length
-[ 15.486545 ]
+[ 15.48654 ]
% sys.supplier, sys.supplier, sys.supplier, sys.supplier,
sys.revenue0 # table_name
% s_suppkey, s_name, s_address, s_phone, total_revenue # name
diff --git a/sql/benchmarks/tpch/LOCKED/Tests/14.stable.out.int128
b/sql/benchmarks/tpch/LOCKED/Tests/14.stable.out.int128
--- a/sql/benchmarks/tpch/LOCKED/Tests/14.stable.out.int128
+++ b/sql/benchmarks/tpch/LOCKED/Tests/14.stable.out.int128
@@ -33,7 +33,7 @@ stdout of test '14` in directory 'sql/be
% promo_revenue # name
% decimal # type
% 40 # length
-[ 15.486545 ]
+[ 15.48654 ]
# 09:17:18 >
# 09:17:18 > Done.
diff --git a/sql/benchmarks/tpch/Tests/01-22.stable.out.int128
b/sql/benchmarks/tpch/Tests/01-22.stable.out.int128
--- a/sql/benchmarks/tpch/Tests/01-22.stable.out.int128
+++ b/sql/benchmarks/tpch/Tests/01-22.stable.out.int128
@@ -699,7 +699,7 @@ stdout of test '01-22` in directory 'sql
% promo_revenue # name
% decimal # type
% 40 # length
-[ 15.486545 ]
+[ 15.48654 ]
# 18:03:42 >
# 18:03:42 > mclient -lsql -ftest -tnone -Eutf-8 -i -e
--host=/var/tmp/mtest-10362 --port=37514 <
/home/niels/data/MonetDB/sql/benchmarks/tpch/15.sql
diff --git a/sql/benchmarks/tpch/Tests/14.stable.out.int128
b/sql/benchmarks/tpch/Tests/14.stable.out.int128
--- a/sql/benchmarks/tpch/Tests/14.stable.out.int128
+++ b/sql/benchmarks/tpch/Tests/14.stable.out.int128
@@ -33,7 +33,7 @@ stdout of test '14` in directory 'sql/be
% promo_revenue # name
% decimal # type
% 40 # length
-[ 15.486545 ]
+[ 15.48654 ]
# 09:17:18 >
# 09:17:18 > Done.
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list