Changeset: 97fc3f72c4ca for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=97fc3f72c4ca
Modified Files:
sql/server/rel_select.c
sql/test/analytics/Tests/analytics14.sql
sql/test/analytics/Tests/analytics14.stable.err
Branch: statistics-analytics
Log Message:
Improved error message
diffs (53 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
@@ -4804,14 +4804,14 @@ rel_rankop(sql_query *query, sql_rel **r
if (wf && list_length(nexps))
fargs = nexps;
else {
- char *arg_list =
window_function_arg_types_2str(types, nfargs);
- sql_error(sql, 02, SQLSTATE(42000) "SELECT:
window function '%s(%s)' not found", aname, arg_list);
+ char *arg_list = nfargs ?
window_function_arg_types_2str(types, nfargs) : NULL;
+ sql_error(sql, 02, SQLSTATE(42000) "SELECT:
window function '%s(%s)' not found", aname, arg_list ? arg_list : "");
_DELETE(arg_list);
return NULL;
}
} else {
- char *arg_list = window_function_arg_types_2str(types,
nfargs);
- sql_error(sql, 02, SQLSTATE(42000) "SELECT: window
function '%s(%s)' not found", aname, arg_list);
+ char *arg_list = nfargs ?
window_function_arg_types_2str(types, nfargs) : NULL;
+ sql_error(sql, 02, SQLSTATE(42000) "SELECT: window
function '%s(%s)' not found", aname, arg_list ? arg_list : "");
_DELETE(arg_list);
return NULL;
}
diff --git a/sql/test/analytics/Tests/analytics14.sql
b/sql/test/analytics/Tests/analytics14.sql
--- a/sql/test/analytics/Tests/analytics14.sql
+++ b/sql/test/analytics/Tests/analytics14.sql
@@ -50,9 +50,12 @@ select stddev_pop(aa) over () from analy
select var_samp(aa) over () from analytics;
select var_pop(aa) over () from analytics;
+rollback;
+
create table stressme (aa varchar(64), bb int);
insert into stressme values ('one', 1), ('another', 1), ('stress', 1), (NULL,
2), ('ok', 2), ('check', 3), ('me', 3), ('please', 3), (NULL, 4);
select stddev_samp(aa) over (partition by bb) from stressme; --error,
stddev_samp not available for string type
+select stddev_samp() over (partition by bb) from stressme; --error,
stddev_samp without parameters not available
-rollback;
+drop table stressme;
diff --git a/sql/test/analytics/Tests/analytics14.stable.err
b/sql/test/analytics/Tests/analytics14.stable.err
--- a/sql/test/analytics/Tests/analytics14.stable.err
+++ b/sql/test/analytics/Tests/analytics14.stable.err
@@ -29,6 +29,10 @@ MAPI = (monetdb) /var/tmp/mtest-97238/.
QUERY = select stddev_samp(aa) over (partition by bb) from stressme; --error,
stddev_samp not available for string type
ERROR = !SELECT: window function 'stddev_samp(varchar(64))' not found
CODE = 42000
+MAPI = (monetdb) /var/tmp/mtest-212559/.s.monetdb.30356
+QUERY = select stddev_samp() over (partition by bb) from stressme; --error,
stddev_samp without parameters not available
+ERROR = !SELECT: window function 'stddev_samp()' not found
+CODE = 42000
# 11:24:49 >
# 11:24:49 > "Done."
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list