Changeset: e98c34767772 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e98c34767772
Modified Files:
        sql/server/rel_select.c
Branch: sciql
Log Message:

Avoid segfault for queries with implicit GROUP BY, e.g., "select count(*) from 
t;"

A sql_rel for GROUPBY does not always has the 'r' value, which is a list of
group by expressions.  In case of an implicit GROUP BY (a SciQL GROUP BY is
never implicit), the contents of 'r' is 0x0.  Hence, check before use it.


diffs (12 lines):

diff --git a/sql/server/rel_select.c b/sql/server/rel_select.c
--- a/sql/server/rel_select.c
+++ b/sql/server/rel_select.c
@@ -4093,7 +4093,7 @@ _rel_aggr(mvc *sql, sql_rel **rel, int d
                return e;
        }
 
-       if (((sql_exp*)((list*)groupby->r)->h->data)->f) {
+       if (((list*)groupby->r)->h && 
((sql_exp*)((list*)groupby->r)->h->data)->f) {
                /* e_column->f has been "misused" => an aggragation over array 
tiles */
                return _rel_tiling_aggr(sql, rel, groupby, distinct, aggrstr, 
sym, f);
        }
_______________________________________________
Checkin-list mailing list
Checkin-list@monetdb.org
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to