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 checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list