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]