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 -- [email protected]
To unsubscribe send an email to [email protected]