Changeset: e2e9119f996c for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/e2e9119f996c
Modified Files:
        sql/server/rel_select.c
        sql/test/BugTracker-2023/Tests/misc-crashes-7390.test
Branch: Jun2023
Log Message:

Missing if check + test. (GH7390/09)


diffs (55 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
@@ -4590,10 +4590,12 @@ rel_order_by(sql_query *query, sql_rel *
                        if ((selection = simple_selection(col)) != NULL) {
                                dnode *o = selection->h;
                                order = o->data.sym;
-                               col = order->data.lval->h->data.sym;
+                               if (order->data.lval->h->type == type_symbol)
+                                       col = order->data.lval->h->data.sym;
                                /* remove optional name from selection */
                                order->data.lval->h->next = NULL;
                        }
+
                        if (col->token == SQL_COLUMN || col->token == SQL_IDENT 
|| col->token == SQL_ATOM) {
                                exp_kind ek = {type_value, card_column, FALSE};
 
diff --git a/sql/test/BugTracker-2023/Tests/misc-crashes-7390.test 
b/sql/test/BugTracker-2023/Tests/misc-crashes-7390.test
--- a/sql/test/BugTracker-2023/Tests/misc-crashes-7390.test
+++ b/sql/test/BugTracker-2023/Tests/misc-crashes-7390.test
@@ -71,13 +71,13 @@ statement ok
 drop table v0
 
 statement error
-CREATE TEMP TABLE Table0 (Col0 INT, PRIMARY KEY(Col0), FOREIGN KEY (Col0) 
REFERENCES Table0);
+CREATE TEMP TABLE Table0 (Col0 INT, PRIMARY KEY(Col0), FOREIGN KEY (Col0) 
REFERENCES Table0)
 
 statement ok
-CREATE VIEW v0 AS SELECT CAST (NULL AS INT) EXCEPT SELECT CAST (NULL AS INT) 
GROUP BY NULL;
+CREATE VIEW v0 AS SELECT CAST (NULL AS INT) EXCEPT SELECT CAST (NULL AS INT) 
GROUP BY NULL
 
 statement ok
-drop view v0;
+drop view v0
 
 statement ok
 CREATE TABLE v0 (v1 INT NULL)
@@ -92,7 +92,16 @@ statement ok
 INSERT INTO v0 SELECT v0.v1 FROM v0, v0 AS c3_null, v0 AS col2
 
 statement ok
-SELECT v1, row_number() OVER (ORDER BY v1 * 3 NULLS LAST, NULL*0 DESC NULLS 
FIRST), 3 FROM v0 LIMIT 300000;
+SELECT v1, row_number() OVER (ORDER BY v1 * 3 NULLS LAST, NULL*0 DESC NULLS 
FIRST), 3 FROM v0 LIMIT 300000
 
 statement ok
 drop table v0
+
+statement ok
+CREATE TABLE v0 (v1 INT, v2 REAL)
+
+statement error
+SELECT * FROM v0 ORDER BY (SELECT *)
+
+statement ok
+drop table v0
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to