Changeset: 7393608efbdf for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=7393608efbdf
Modified Files:
sql/benchmarks/ssbm/Tests/01-13.stable.out
sql/benchmarks/ssbm/Tests/01-13.stable.out.int128
sql/benchmarks/ssbm/Tests/01.stable.out
sql/benchmarks/ssbm/Tests/01.stable.out.int128
sql/benchmarks/ssbm/Tests/02.stable.out
sql/benchmarks/ssbm/Tests/02.stable.out.int128
sql/benchmarks/ssbm/Tests/03.stable.out
sql/benchmarks/ssbm/Tests/03.stable.out.int128
sql/common/sql_types.c
sql/test/BugTracker-2011/Tests/crash_on_alias.Bug-2798.stable.out.int128
sql/test/BugTracker-2016/Tests/column_alias_in_where_clause.Bug-3947.stable.out
sql/test/BugTracker-2016/Tests/column_alias_in_where_clause.Bug-3947.stable.out.int128
sql/test/bugs/Tests/object_name-bug-sf-985242.stable.out
sql/test/mapi/Tests/sql_int128.stable.out
sql/test/pg_regress/Tests/int2.stable.out
sql/test/pg_regress/Tests/int4.stable.out
sql/test/pg_regress/Tests/int4.stable.out.int128
Branch: Dec2016
Log Message:
fix overflow problems
diffs (truncated from 454 to 300 lines):
diff --git a/sql/benchmarks/ssbm/Tests/01-13.stable.out
b/sql/benchmarks/ssbm/Tests/01-13.stable.out
--- a/sql/benchmarks/ssbm/Tests/01-13.stable.out
+++ b/sql/benchmarks/ssbm/Tests/01-13.stable.out
@@ -36,7 +36,7 @@ Ready.
# and lo_quantity < 25;
% sys.L4 # table_name
% revenue # name
-% bigint # type
+% hugeint # type
% 10 # length
[ 4199635969 ]
@@ -52,7 +52,7 @@ Ready.
# and lo_quantity between 26 and 35;
% sys.L4 # table_name
% revenue # name
-% bigint # type
+% hugeint # type
% 9 # length
[ 927530712 ]
@@ -68,7 +68,7 @@ Ready.
# and lo_quantity between 36 and 40;
% sys.L4 # table_name
% revenue # name
-% bigint # type
+% hugeint # type
% 9 # length
[ 213477639 ]
diff --git a/sql/benchmarks/ssbm/Tests/01-13.stable.out.int128
b/sql/benchmarks/ssbm/Tests/01-13.stable.out.int128
--- a/sql/benchmarks/ssbm/Tests/01-13.stable.out.int128
+++ b/sql/benchmarks/ssbm/Tests/01-13.stable.out.int128
@@ -36,7 +36,7 @@ Ready.
# and lo_quantity < 25;
% sys.L4 # table_name
% revenue # name
-% bigint # type
+% hugeint # type
% 10 # length
[ 4199635969 ]
@@ -52,7 +52,7 @@ Ready.
# and lo_quantity between 26 and 35;
% sys.L4 # table_name
% revenue # name
-% bigint # type
+% hugeint # type
% 9 # length
[ 927530712 ]
@@ -68,7 +68,7 @@ Ready.
# and lo_quantity between 36 and 40;
% sys.L4 # table_name
% revenue # name
-% bigint # type
+% hugeint # type
% 9 # length
[ 213477639 ]
diff --git a/sql/benchmarks/ssbm/Tests/01.stable.out
b/sql/benchmarks/ssbm/Tests/01.stable.out
--- a/sql/benchmarks/ssbm/Tests/01.stable.out
+++ b/sql/benchmarks/ssbm/Tests/01.stable.out
@@ -31,7 +31,7 @@ Ready.
# and lo_quantity < 25;
% sys.L4 # table_name
% revenue # name
-% bigint # type
+% hugeint # type
% 10 # length
[ 4199635969 ]
diff --git a/sql/benchmarks/ssbm/Tests/01.stable.out.int128
b/sql/benchmarks/ssbm/Tests/01.stable.out.int128
--- a/sql/benchmarks/ssbm/Tests/01.stable.out.int128
+++ b/sql/benchmarks/ssbm/Tests/01.stable.out.int128
@@ -31,7 +31,7 @@ Ready.
# and lo_quantity < 25;
% sys.L4 # table_name
% revenue # name
-% bigint # type
+% hugeint # type
% 10 # length
[ 4199635969 ]
diff --git a/sql/benchmarks/ssbm/Tests/02.stable.out
b/sql/benchmarks/ssbm/Tests/02.stable.out
--- a/sql/benchmarks/ssbm/Tests/02.stable.out
+++ b/sql/benchmarks/ssbm/Tests/02.stable.out
@@ -31,7 +31,7 @@ Ready.
# and lo_quantity between 26 and 35;
% sys.L4 # table_name
% revenue # name
-% bigint # type
+% hugeint # type
% 9 # length
[ 927530712 ]
diff --git a/sql/benchmarks/ssbm/Tests/02.stable.out.int128
b/sql/benchmarks/ssbm/Tests/02.stable.out.int128
--- a/sql/benchmarks/ssbm/Tests/02.stable.out.int128
+++ b/sql/benchmarks/ssbm/Tests/02.stable.out.int128
@@ -31,7 +31,7 @@ Ready.
# and lo_quantity between 26 and 35;
% sys.L4 # table_name
% revenue # name
-% bigint # type
+% hugeint # type
% 9 # length
[ 927530712 ]
diff --git a/sql/benchmarks/ssbm/Tests/03.stable.out
b/sql/benchmarks/ssbm/Tests/03.stable.out
--- a/sql/benchmarks/ssbm/Tests/03.stable.out
+++ b/sql/benchmarks/ssbm/Tests/03.stable.out
@@ -31,7 +31,7 @@ Ready.
# and lo_quantity between 36 and 40;
% sys.L4 # table_name
% revenue # name
-% bigint # type
+% hugeint # type
% 9 # length
[ 213477639 ]
diff --git a/sql/benchmarks/ssbm/Tests/03.stable.out.int128
b/sql/benchmarks/ssbm/Tests/03.stable.out.int128
--- a/sql/benchmarks/ssbm/Tests/03.stable.out.int128
+++ b/sql/benchmarks/ssbm/Tests/03.stable.out.int128
@@ -31,7 +31,7 @@ Ready.
# and lo_quantity between 36 and 40;
% sys.L4 # table_name
% revenue # name
-% bigint # type
+% hugeint # type
% 9 # length
[ 213477639 ]
diff --git a/sql/common/sql_types.c b/sql/common/sql_types.c
--- a/sql/common/sql_types.c
+++ b/sql/common/sql_types.c
@@ -199,14 +199,14 @@ sql_find_numeric(sql_subtype *r, int loc
#ifdef HAVE_HGE
if (have_hge) {
localtype = TYPE_hge;
- if (digits > 128)
- digits = 128;
+ if (digits >= 128)
+ digits = 127;
} else
#endif
{
localtype = TYPE_lng;
- if (digits > 64)
- digits = 64;
+ if (digits >= 64)
+ digits = 63;
}
}
@@ -214,7 +214,7 @@ sql_find_numeric(sql_subtype *r, int loc
sql_type *t = n->data;
if (localtypes_cmp(t->localtype, localtype)) {
- if ((digits && t->digits >= digits) || (digits ==
t->digits)) {
+ if ((digits && t->digits > digits) || (!digits &&
digits == t->digits)) {
sql_init_subtype(r, t, digits, 0);
return r;
}
@@ -224,7 +224,7 @@ sql_find_numeric(sql_subtype *r, int loc
break;
}
n = m;
- if ((digits && t->digits >= digits) || (digits
== t->digits)) {
+ if ((digits && t->digits > digits) || (!digits
&& digits == t->digits)) {
sql_init_subtype(r, t, digits, 0);
return r;
}
diff --git
a/sql/test/BugTracker-2011/Tests/crash_on_alias.Bug-2798.stable.out.int128
b/sql/test/BugTracker-2011/Tests/crash_on_alias.Bug-2798.stable.out.int128
--- a/sql/test/BugTracker-2011/Tests/crash_on_alias.Bug-2798.stable.out.int128
+++ b/sql/test/BugTracker-2011/Tests/crash_on_alias.Bug-2798.stable.out.int128
@@ -60,11 +60,11 @@ function user.s8_1():void;
X_33 := bat.new(nil:int);
X_42 := bat.append(X_33,32:int);
X_52 := bat.append(X_42,128:int);
- X_60 := bat.append(X_52,128:int);
+ X_60 := bat.append(X_52,127:int);
X_35 := bat.new(nil:int);
X_44 := bat.append(X_35,0:int);
X_54 := bat.append(X_44,0:int);
- X_61 := bat.append(X_54,0:int);
+ X_62 := bat.append(X_54,0:int);
X_3 := sql.mvc();
C_4:bat[:oid] := sql.tid(X_3,"sys","dbg");
X_7:bat[:int] := sql.bind(X_3,"sys","dbg","a",0:int);
@@ -77,7 +77,7 @@ function user.s8_1():void;
X_15 := bat.setKey(X_14,true);
X_22:bat[:hge] := batcalc./(X_20,2:bte);
X_26:bat[:hge] := batcalc.*(X_22,2:bte);
- sql.resultSet(X_55,X_57,X_59,X_60,X_61,X_15,X_20,X_26);
+ sql.resultSet(X_55,X_57,X_59,X_60,X_62,X_15,X_20,X_26);
end user.s8_1;
#inline actions= 0 time=3 usec
#candidates actions= 1 time=22 usec
@@ -149,11 +149,11 @@ function user.s20_1():void;
X_33 := bat.new(nil:int);
X_42 := bat.append(X_33,32:int);
X_52 := bat.append(X_42,128:int);
- X_60 := bat.append(X_52,128:int);
+ X_60 := bat.append(X_52,127:int);
X_35 := bat.new(nil:int);
X_44 := bat.append(X_35,0:int);
X_54 := bat.append(X_44,0:int);
- X_61 := bat.append(X_54,0:int);
+ X_62 := bat.append(X_54,0:int);
X_3 := sql.mvc();
C_4:bat[:oid] := sql.tid(X_3,"sys","dbg");
X_7:bat[:int] := sql.bind(X_3,"sys","dbg","a",0:int);
@@ -166,7 +166,7 @@ function user.s20_1():void;
X_15 := bat.setKey(X_14,true);
X_22:bat[:hge] := batcalc./(X_20,2:bte);
X_26:bat[:hge] := batcalc.*(X_22,2:bte);
- sql.resultSet(X_55,X_57,X_59,X_60,X_61,X_15,X_20,X_26);
+ sql.resultSet(X_55,X_57,X_59,X_60,X_62,X_15,X_20,X_26);
end user.s20_1;
#inline actions= 0 time=2 usec
#candidates actions= 1 time=20 usec
diff --git
a/sql/test/BugTracker-2016/Tests/column_alias_in_where_clause.Bug-3947.stable.out
b/sql/test/BugTracker-2016/Tests/column_alias_in_where_clause.Bug-3947.stable.out
---
a/sql/test/BugTracker-2016/Tests/column_alias_in_where_clause.Bug-3947.stable.out
+++
b/sql/test/BugTracker-2016/Tests/column_alias_in_where_clause.Bug-3947.stable.out
@@ -73,7 +73,7 @@ Ready.
[ 1, 10, "tien" ]
[ 11, 2, "elf" ]
#SELECT a AS "A", b AS "B", c AS "C" FROM t_alias ORDER BY 1;
-% sys.L1, sys.L2, sys.L3 # table_name
+% sys.L2, sys.L4, sys.L6 # table_name
% A, B, C # name
% int, int, varchar # type
% 2, 2, 4 # length
@@ -86,19 +86,19 @@ Ready.
% 1, 2, 4 # length
[ 1, 10, "tien" ]
#SELECT a AS "A", b * b AS "B", c AS "C" FROM t_alias WHERE "b" * b >99;
-% sys.L1, sys.L2, sys.L3 # table_name
+% sys.L2, sys.L4, sys.L6 # table_name
% A, B, C # name
-% int, bigint, varchar # type
+% int, hugeint, varchar # type
% 1, 3, 4 # length
[ 1, 100, "tien" ]
#SELECT * FROM (SELECT a AS "A", b * b AS "B", c AS "C" FROM t_alias) T1 WHERE
"B" >99;
% sys.t1, sys.t1, sys.t1 # table_name
% A, B, C # name
-% int, bigint, varchar # type
+% int, hugeint, varchar # type
% 1, 3, 4 # length
[ 1, 100, "tien" ]
#SELECT a AS "A", b AS "B", c AS "C" FROM t_alias WHERE "c" LIKE '%en';
-% sys.L1, sys.L2, sys.L3 # table_name
+% sys.L2, sys.L4, sys.L6 # table_name
% A, B, C # name
% int, int, varchar # type
% 1, 2, 4 # length
@@ -110,7 +110,7 @@ Ready.
% 1, 2, 4 # length
[ 1, 10, "tien" ]
#SELECT cast(null as char(1)) AS "CAT", a AS "A", c AS "C" FROM t_alias WHERE
"c" = 'null';
-% .L2, sys.L3, sys.L4 # table_name
+% .L3, sys.L5, sys.L7 # table_name
% CAT, A, C # name
% char, int, varchar # type
% 1, 1, 0 # length
@@ -132,21 +132,21 @@ Ready.
[ NULL, 1, "tien" ]
[ NULL, 11, "elf" ]
#SELECT a AS "A", b AS "B", c AS "C" FROM t_alias ORDER BY "C", "A", "B";
-% sys.L1, sys.L2, sys.L3 # table_name
+% sys.L2, sys.L4, sys.L6 # table_name
% A, B, C # name
% int, int, varchar # type
% 2, 2, 4 # length
[ 11, 2, "elf" ]
[ 1, 10, "tien" ]
#SELECT a*b AS "A*B", c AS "C" FROM t_alias GROUP BY "C", "A*B";
-% sys.L1, sys.t_alias # table_name
+% sys.L2, sys.t_alias # table_name
% A*B, C # name
-% bigint, varchar # type
+% hugeint, varchar # type
% 2, 4 # length
[ 10, "tien" ]
[ 22, "elf" ]
#SELECT a*b*b AS "A*B", c AS "C" FROM t_alias GROUP BY "C", "A*B" HAVING "A*B"
IS NOT NULL ORDER BY -"A*B";
-% sys.L1, sys.t_alias # table_name
+% sys.L2, sys.t_alias # table_name
% A*B, C # name
% bigint, varchar # type
% 3, 4 # length
diff --git
a/sql/test/BugTracker-2016/Tests/column_alias_in_where_clause.Bug-3947.stable.out.int128
b/sql/test/BugTracker-2016/Tests/column_alias_in_where_clause.Bug-3947.stable.out.int128
---
a/sql/test/BugTracker-2016/Tests/column_alias_in_where_clause.Bug-3947.stable.out.int128
+++
b/sql/test/BugTracker-2016/Tests/column_alias_in_where_clause.Bug-3947.stable.out.int128
@@ -77,7 +77,7 @@ Ready.
[ 1, 10, "tien" ]
[ 11, 2, "elf" ]
#SELECT a AS "A", b AS "B", c AS "C" FROM t_alias ORDER BY 1;
-% sys.L1, sys.L2, sys.L3 # table_name
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list