Changeset: 287c877c3b78 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/287c877c3b78
Modified Files:
sql/server/sql_atom.c
sql/test/SQLancer/Tests/sqlancer13.test
Branch: default
Log Message:
Use the right size
diffs (111 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
@@ -1200,7 +1200,7 @@ atom_cast(sql_allocator *sa, atom *a, sq
else if (a->data.vtype == TYPE_lng) {
if ((hge) GDK_lng_min > (hge) a->data.val.lval
* mul || (hge) a->data.val.lval * mul > (hge) GDK_lng_max)
return 0;
- a->data.val.ival *= (int) mul;
+ a->data.val.lval *= (lng) mul;
}
else if (a->data.vtype == TYPE_int) {
if ((hge) GDK_int_min > (hge) a->data.val.ival
* mul || (hge) a->data.val.ival * mul > (hge) GDK_int_max)
diff --git a/sql/test/SQLancer/Tests/sqlancer13.test
b/sql/test/SQLancer/Tests/sqlancer13.test
--- a/sql/test/SQLancer/Tests/sqlancer13.test
+++ b/sql/test/SQLancer/Tests/sqlancer13.test
@@ -487,3 +487,95 @@ 50
statement ok
ROLLBACK
+
+statement ok
+START TRANSACTION
+
+statement ok
+CREATE TABLE "sys"."t0" ("c2" CHAR(478) NOT NULL,CONSTRAINT "t0_c2_pkey"
PRIMARY KEY ("c2"),CONSTRAINT "t0_c2_unique" UNIQUE ("c2"))
+
+statement ok
+COPY 34 RECORDS INTO "sys"."t0" FROM stdin USING DELIMITERS E'\t',E'\n','"'
+<COPY_INTO_DATA>
+"0.5674989590909305"
+"*"
+""
+"Zu4Bmo孥흢"
+"0.26528947469340614"
+"LvuGwY"
+"㟚"
+"i"
+"-2080035418"
+"0.48394748670656496"
+"403902031"
+"-436959214"
+"k*nd\015>"
+"P"
+"-0.557532"
+",^"
+"9"
+"3"
+"᳀"
+"{Y0uzQ*"
+"1405379655"
+"꼱,"
+"Ml|t"
+">"
+"o5jbd-H"
+"X8par"
+"Z6\t8"
+"-1542018934"
+"-112082496"
+"0.5111159857154056"
+"0"
+"F6km?\015zO1"
+"\tVoL^HW/摇"
+"L䶍"
+
+statement ok
+CREATE TABLE "sys"."t1" ("c2" SMALLINT NOT NULL,CONSTRAINT "t1_c2_unique"
UNIQUE ("c2"))
+
+statement ok
+COPY 3 RECORDS INTO "sys"."t1" FROM stdin USING DELIMITERS E'\t',E'\n','"'
+<COPY_INTO_DATA>
+0
+5
+1
+
+query T rowsort
+SELECT t0.c2 FROM t0, t1 WHERE ((((10)+(0.3607000614109831)))<(least(t1.c2,
t1.c2)))
+----
+
+query I rowsort
+SELECT CAST(((((10)+(0.3607000614109831)))<(least(t1.c2, t1.c2))) AS INT) as
count FROM t0, t1
+----
+102 values hashing to a98471bd784fc82e6e3165302bc0080a
+
+query T rowsort
+SELECT t1.c2 > 10 + 0.3607000614109831 FROM t1
+----
+False
+False
+False
+
+query T rowsort
+SELECT t1.c2 > 10 + 0.3611111111 FROM t1
+----
+False
+False
+False
+
+query T rowsort
+SELECT t1.c2 > 10 + 0.361111111 FROM t1
+----
+False
+False
+False
+
+query I rowsort
+SELECT CAST(SUM(count) AS BIGINT) FROM (SELECT
CAST(((((10)+(0.3607000614109831)))<(least(t1.c2, t1.c2))) AS INT) as count
FROM t0, t1) as res
+----
+0
+
+statement ok
+ROLLBACK
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list