Changeset: d7cad8bc44d3 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d7cad8bc44d3
Modified Files:
        sql/server/rel_select.c
Branch: linear-hashing
Log Message:

Use ERR_GROUPBY error code whenever expressions don't meet the aggregation 
cardinality criteria


diffs (27 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
@@ -1831,9 +1831,9 @@ rel_compare(sql_query *query, sql_rel *r
                        return NULL;
        }
        if (ls->card > rs->card && rs->card == CARD_AGGR && is_sql_having(f))
-               return sql_error(sql, 05, SQLSTATE(42000) "SELECT: cannot use 
non GROUP BY column '%s.%s' in query results without an aggregate function", 
exp_relname(ls), exp_name(ls));
+               return sql_error(sql, ERR_GROUPBY, SQLSTATE(42000) "SELECT: 
cannot use non GROUP BY column '%s.%s' in query results without an aggregate 
function", exp_relname(ls), exp_name(ls));
        if (rs->card > ls->card && ls->card == CARD_AGGR && is_sql_having(f))
-               return sql_error(sql, 05, SQLSTATE(42000) "SELECT: cannot use 
non GROUP BY column '%s.%s' in query results without an aggregate function", 
exp_relname(rs), exp_name(rs));
+               return sql_error(sql, ERR_GROUPBY, SQLSTATE(42000) "SELECT: 
cannot use non GROUP BY column '%s.%s' in query results without an aggregate 
function", exp_relname(rs), exp_name(rs));
        return rel_compare_exp(query, rel, ls, rs, compare_op, rs2, k.reduce, 
quantifier, need_not);
 }
 
@@ -5420,9 +5420,9 @@ rel_select_exp(sql_query *query, sql_rel
                        sql_exp *ce = n->data;
                        if (rel->card < ce->card) {
                                if (exp_name(ce)) {
-                                       return sql_error(sql, 05, 
SQLSTATE(42000) "SELECT: cannot use non GROUP BY column '%s' in query results 
without an aggregate function", exp_name(ce));
+                                       return sql_error(sql, ERR_GROUPBY, 
SQLSTATE(42000) "SELECT: cannot use non GROUP BY column '%s' in query results 
without an aggregate function", exp_name(ce));
                                } else {
-                                       return sql_error(sql, 05, 
SQLSTATE(42000) "SELECT: cannot use non GROUP BY column in query results 
without an aggregate function");
+                                       return sql_error(sql, ERR_GROUPBY, 
SQLSTATE(42000) "SELECT: cannot use non GROUP BY column in query results 
without an aggregate function");
                                }
                        }
                }
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to