Changeset: 20f11d3a6f34 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/20f11d3a6f34
Modified Files:
        sql/server/rel_statistics.c
Branch: default
Log Message:

Add an overflow check.


diffs (12 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
@@ -751,7 +751,7 @@ rel_calc_nuniques(mvc *sql, sql_rel *l, 
                                if ((sub = atom_sub(sql->sa, max, min)) && (sub 
= atom_inc(sql->sa, sub)) && (sub = atom_cast(sql->sa, sub, 
sql_fetch_localtype(TYPE_oid))))
                                        euniques = MIN(euniques, (BUN) 
sub->data.val.oval);
                        }
-                       if (euniques != BUN_NONE)
+                       if (euniques != BUN_NONE && (euniques == 0 || nuniques 
< BUN_MAX/euniques))
                                nuniques = nuniques * euniques; /* the highest 
cardinality sets the estimation */
                        else
                                nuniques = BUN_NONE;
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to