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

Reply via email to