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

Reply via email to