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

Reply via email to