Changeset: d61249de6acf for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/d61249de6acf Modified Files: sql/server/sql_atom.c sql/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.test sql/test/analytics/Tests/analytics00.test Branch: Aug2024 Log Message:
keep smallest int with atom_int diffs (62 lines): diff --git a/sql/server/sql_atom.c b/sql/server/sql_atom.c --- a/sql/server/sql_atom.c +++ b/sql/server/sql_atom.c @@ -96,6 +96,11 @@ atom_int( allocator *sa, sql_subtype *tp default: assert(0); } + int bits = number_bits(val); + if (a->tpe.type->eclass == EC_NUM) + a->tpe.digits = bits; + else if (a->tpe.type->eclass == EC_DEC) + a->tpe.digits = bits2digits(bits) + 1;; a->data.len = 0; return a; } diff --git a/sql/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.test b/sql/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.test --- a/sql/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.test +++ b/sql/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.test @@ -8,11 +8,11 @@ insert( | table("sys"."cm_tmp") [ "cm_tmp"."i" NOT NULL UNIQUE, "cm_tmp"."%TID%" NOT NULL UNIQUE ] | union ( | | project ( -| | | table ("sys"."copyfrom"(table("cm_tmp"), varchar "|", varchar "\n", varchar NULL, varchar "null", varchar "/file1", bigint(18) "-1", bigint(18) "0", int(9) "0", varchar NULL, int(9) "0", int(9) "1", varchar ".", varchar NULL), +| | | table ("sys"."copyfrom"(table("cm_tmp"), varchar "|", varchar "\n", varchar NULL, varchar "null", varchar "/file1", bigint(1) "-1", bigint(1) "0", int(1) "0", varchar NULL, int(1) "0", int(1) "1", varchar ".", varchar NULL), | | | ) [ "cm_tmp"."i" ] | | ) [ "cm_tmp"."i" ], | | project ( -| | | table ("sys"."copyfrom"(table("cm_tmp"), varchar "|", varchar "\n", varchar NULL, varchar "null", varchar "/file2", bigint(18) "-1", bigint(18) "0", int(9) "0", varchar NULL, int(9) "0", int(9) "1", varchar ".", varchar NULL), +| | | table ("sys"."copyfrom"(table("cm_tmp"), varchar "|", varchar "\n", varchar NULL, varchar "null", varchar "/file2", bigint(1) "-1", bigint(1) "0", int(1) "0", varchar NULL, int(1) "0", int(1) "1", varchar ".", varchar NULL), | | | ) [ "cm_tmp"."i" ] | | ) [ "cm_tmp"."i" ] | ) [ int(31) NULL ] diff --git a/sql/test/analytics/Tests/analytics00.test b/sql/test/analytics/Tests/analytics00.test --- a/sql/test/analytics/Tests/analytics00.test +++ b/sql/test/analytics/Tests/analytics00.test @@ -1872,7 +1872,7 @@ project ( | | | | table("sys"."myorders") [ "myorders"."o_custkey" NOT NULL UNIQUE, "myorders"."o_totalprice" NOT NULL UNIQUE, "myorders"."o_orderdate" NOT NULL UNIQUE ] | | | ) [ "myorders"."o_custkey" NOT NULL UNIQUE, "myorders"."o_totalprice" NOT NULL UNIQUE, "sys"."month"("myorders"."o_orderdate" NOT NULL UNIQUE) NOT NULL as "%1"."%1" ] | | ) [ "myorders"."o_custkey" NOT NULL UNIQUE, "myorders"."o_totalprice" NOT NULL UNIQUE, "%1"."%1" NOT NULL ] [ "myorders"."o_custkey" ASC NOT NULL UNIQUE, "%1"."%1" ASC NOT NULL ] -| ) [ "%1"."%1" NOT NULL, "sys"."diff"("myorders"."o_custkey" NOT NULL UNIQUE) as "%2"."%2", "sys"."diff"("%1"."%1" NOT NULL) as "%3"."%3", "sys"."min"("myorders"."o_totalprice" NOT NULL UNIQUE, "%2"."%2", "sys"."diff"("%1"."%1" NOT NULL), int(9) "0", "sys"."window_bound"("%2"."%2", "%3"."%3", int(9) "0", int(9) "0", int(9) "0", bigint(63) "9223372036854775807"), "sys"."window_bound"("%2"."%2", "%3"."%3", int(9) "0", int(9) "5", int(9) "0", bigint(63) "0")) as "%4"."%4" ] +| ) [ "%1"."%1" NOT NULL, "sys"."diff"("myorders"."o_custkey" NOT NULL UNIQUE) as "%2"."%2", "sys"."diff"("%1"."%1" NOT NULL) as "%3"."%3", "sys"."min"("myorders"."o_totalprice" NOT NULL UNIQUE, "%2"."%2", "sys"."diff"("%1"."%1" NOT NULL), int(1) "0", "sys"."window_bound"("%2"."%2", "%3"."%3", int(1) "0", int(1) "0", int(1) "0", bigint(63) "9223372036854775807"), "sys"."window_bound"("%2"."%2", "%3"."%3", int(1) "0", int(3) "5", int(1) "0", bigint(63) "0")) as "%4"."%4" ] ) [ "%4"."%4" ] query R rowsort @@ -1891,7 +1891,7 @@ project ( | | | | table("sys"."myorders") [ "myorders"."o_totalprice" NOT NULL UNIQUE, "myorders"."o_orderdate" NOT NULL UNIQUE ] | | | ) [ "myorders"."o_totalprice" NOT NULL UNIQUE, "sys"."day"("myorders"."o_orderdate" NOT NULL UNIQUE) NOT NULL as "%1"."%1" ] | | ) [ "myorders"."o_totalprice" NOT NULL UNIQUE, "%1"."%1" NOT NULL ] [ "%1"."%1" ASC NOT NULL ] -| ) [ "%1"."%1" NOT NULL, boolean(1) "false" as "%2"."%2", "sys"."max"("myorders"."o_totalprice" NOT NULL UNIQUE, "%2"."%2" NOT NULL, "sys"."diff"("%1"."%1" NOT NULL), int(9) "1", "sys"."window_bound"("%1"."%1" ASC NOT NULL, int(9) "1", int(9) "0", int(9) "0", tinyint(7) "2"), "sys"."window_bound"("%1"."%1" ASC NOT NULL, int(9) "1", int(9) "5", int(9) "0", tinyint(7) "0")) as "%3"."%3" ] +| ) [ "%1"."%1" NOT NULL, boolean(1) "false" as "%2"."%2", "sys"."max"("myorders"."o_totalprice" NOT NULL UNIQUE, "%2"."%2" NOT NULL, "sys"."diff"("%1"."%1" NOT NULL), int(1) "1", "sys"."window_bound"("%1"."%1" ASC NOT NULL, int(1) "1", int(1) "0", int(1) "0", tinyint(7) "2"), "sys"."window_bound"("%1"."%1" ASC NOT NULL, int(1) "1", int(3) "5", int(1) "0", tinyint(7) "0")) as "%3"."%3" ] ) [ "%3"."%3" ] query R rowsort @@ -1910,7 +1910,7 @@ project ( | | | | table("sys"."myorders") [ "myorders"."o_totalprice" NOT NULL UNIQUE, "myorders"."o_orderdate" NOT NULL UNIQUE ] | | | ) [ "myorders"."o_totalprice" NOT NULL UNIQUE, "sys"."year"("myorders"."o_orderdate" NOT NULL UNIQUE) NOT NULL as "%1"."%1" ] | | ) [ "myorders"."o_totalprice" NOT NULL UNIQUE, "%1"."%1" NOT NULL ] [ "%1"."%1" ASC NOT NULL ] -| ) [ "%1"."%1" NOT NULL, boolean(1) "false" as "%2"."%2", "sys"."diff"("%1"."%1" NOT NULL) as "%3"."%3", "sys"."count"("myorders"."o_totalprice" NOT NULL UNIQUE, boolean(1) "true", "%2"."%2" NOT NULL, "sys"."diff"("%1"."%1" NOT NULL), int(9) "2", "sys"."window_bound"("%3"."%3", int(9) "2", int(9) "0", int(9) "0", tinyint(2) "2"), "sys"."window_bound"("%3"."%3", int(9) "2", int(9) "3", int(9) "0", bigint(63) "9223372036854775807")) NOT NULL as "%4"."%4" ] +| ) [ "%1"."%1" NOT NULL, boolean(1) "false" as "%2"."%2", "sys"."diff"("%1"."%1" NOT NULL) as "%3"."%3", "sys"."count"("myorders"."o_totalprice" NOT NULL UNIQUE, boolean(1) "true", "%2"."%2" NOT NULL, "sys"."diff"("%1"."%1" NOT NULL), int(2) "2", "sys"."window_bound"("%3"."%3", int(2) "2", int(1) "0", int(1) "0", tinyint(2) "2"), "sys"."window_bound"("%3"."%3", int(2) "2", int(2) "3", int(1) "0", bigint(63) "9223372036854775807")) NOT NULL as "%4"."%4" ] ) [ "%4"."%4" NOT NULL ] query I rowsort _______________________________________________ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org