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]