Changeset: 7a01608040e7 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/7a01608040e7
Modified Files:
        sql/server/rel_statistics.c
        sql/server/rel_statistics.h
        sql/test/SQLancer/Tests/sqlancer23.test
Branch: properties
Log Message:

Use atom casted value (the interface changed)


diffs (71 lines):

diff --git a/sql/server/rel_statistics.c b/sql/server/rel_statistics.c
--- a/sql/server/rel_statistics.c
+++ b/sql/server/rel_statistics.c
@@ -331,12 +331,12 @@ rel_propagate_statistics(visitor *v, sql
                if (fr == too) {
                        if ((lval = find_prop_and_get(l->p, PROP_MAX))) {
                                atom *res = atom_copy(sql->sa, lval);
-                               if (atom_cast(sql->sa, res, to))
+                               if ((res = atom_cast(sql->sa, res, to)))
                                        set_property(sql, e, PROP_MAX, res);
                        }
                        if ((lval = find_prop_and_get(l->p, PROP_MIN))) {
                                atom *res = atom_copy(sql->sa, lval);
-                               if (atom_cast(sql->sa, res, to))
+                               if ((res = atom_cast(sql->sa, res, to)))
                                        set_property(sql, e, PROP_MIN, res);
                        }
                }
diff --git a/sql/server/rel_statistics.h b/sql/server/rel_statistics.h
--- a/sql/server/rel_statistics.h
+++ b/sql/server/rel_statistics.h
@@ -32,12 +32,12 @@ statistics_atom_max(mvc *sql, atom *v1, 
        supertype(&super, &v1->tpe, &v2->tpe);
        if (subtype_cmp(&v1->tpe, &super) != 0) {
                cast1 = atom_copy(sql->sa, v1);
-               if (!atom_cast(sql->sa, cast1, &super))
+               if (!(cast1 = atom_cast(sql->sa, cast1, &super)))
                        return NULL;
        }
        if (subtype_cmp(&v2->tpe, &super) != 0) {
                cast2 = atom_copy(sql->sa, v2);
-               if (!atom_cast(sql->sa, cast2, &super))
+               if (!(cast2 = atom_cast(sql->sa, cast2, &super)))
                        return NULL;
        }
        return atom_cmp(cast1, cast2) > 0 ? cast1 : cast2;
@@ -52,12 +52,12 @@ statistics_atom_min(mvc *sql, atom *v1, 
        supertype(&super, &v1->tpe, &v2->tpe);
        if (subtype_cmp(&v1->tpe, &super) != 0) {
                cast1 = atom_copy(sql->sa, v1);
-               if (!atom_cast(sql->sa, cast1, &super))
+               if (!(cast1 = atom_cast(sql->sa, cast1, &super)))
                        return NULL;
        }
        if (subtype_cmp(&v2->tpe, &super) != 0) {
                cast2 = atom_copy(sql->sa, v2);
-               if (!atom_cast(sql->sa, cast2, &super))
+               if (!(cast2 = atom_cast(sql->sa, cast2, &super)))
                        return NULL;
        }
        return atom_cmp(cast1, cast2) > 0 ? cast2 : cast1;
@@ -71,7 +71,7 @@ set_property(mvc *sql, sql_exp *e, rel_p
 
        if (subtype_cmp(&val->tpe, tpe) != 0) { /* make sure it's the same type 
*/
                val = atom_copy(sql->sa, val);
-               if (!atom_cast(sql->sa, val, tpe))
+               if (!(val = atom_cast(sql->sa, val, tpe)))
                        return;
        }
        if (found) {
diff --git a/sql/test/SQLancer/Tests/sqlancer23.test 
b/sql/test/SQLancer/Tests/sqlancer23.test
--- a/sql/test/SQLancer/Tests/sqlancer23.test
+++ b/sql/test/SQLancer/Tests/sqlancer23.test
@@ -238,3 +238,7 @@ SELECT (VALUES (prod(x.x - 1)), (x.x)) F
 
 statement error 42000!COUNT: aggregate functions not allowed in WHERE clause
 SELECT (SELECT 1 WHERE count(*) = 1)
+
+query I nosort
+SELECT 1 WHERE 0.8574837 < 0.6612825109479848
+----
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to