Changeset: 852e065654bd for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/852e065654bd
Modified Files:
        sql/backends/monet5/sql_rank.c
        sql/server/rel_select.c
        sql/test/BugTracker-2024/Tests/rel_setop_get_statistics-Bug-7483.test
Branch: default
Log Message:

fixed issue #7483, introduce project in order by if relation isn't a simple 
project yet.
fixed returns of error messages in rel_rankop.c


diffs (48 lines):

diff --git a/sql/backends/monet5/sql_rank.c b/sql/backends/monet5/sql_rank.c
--- a/sql/backends/monet5/sql_rank.c
+++ b/sql/backends/monet5/sql_rank.c
@@ -832,7 +832,7 @@ SQLntile(Client cntxt, MalBlkPtr mb, Mal
 bailout:
        unfix_inputs(3, b, p, n);
        finalize_output(res, r, msg);
-       return MAL_SUCCEED;
+       return msg;
 }
 
 static str
@@ -954,7 +954,7 @@ do_limit_value(Client cntxt, MalBlkPtr m
 bailout:
        unfix_inputs(3, b, s, e);
        finalize_output(res, r, msg);
-       return MAL_SUCCEED;
+       return msg;
 }
 
 str
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
@@ -4374,6 +4374,8 @@ rel_order_by_column_exp(sql_query *query
                if (!found) {
                        if (needs_distinct)
                                return sql_error(sql, 02, SQLSTATE(42000) 
"SELECT: with DISTINCT ORDER BY expressions must appear in select list");
+                       if (!is_simple_project(r->op))
+                               *R = r = rel_project(sql->sa, r, 
rel_projections(sql, r, NULL, 1, 0));
                        append(r->exps, e);
                } else {
                        e = found;
diff --git 
a/sql/test/BugTracker-2024/Tests/rel_setop_get_statistics-Bug-7483.test 
b/sql/test/BugTracker-2024/Tests/rel_setop_get_statistics-Bug-7483.test
--- a/sql/test/BugTracker-2024/Tests/rel_setop_get_statistics-Bug-7483.test
+++ b/sql/test/BugTracker-2024/Tests/rel_setop_get_statistics-Bug-7483.test
@@ -4,8 +4,9 @@ SELECT 'x' x UNION SELECT 10 x
 x
 10
 
-skipif knownfail
-query T nosort
+query I nosort
 SELECT NTILE ( 1.000000 ) OVER ( ORDER BY x LIKE x ) FROM ( SELECT 'x' x UNION 
SELECT 10 x ) v
 ----
+1
+1
 
_______________________________________________
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org

Reply via email to