Changeset: c4acc6281650 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/c4acc6281650
Added Files:
        sql/test/BugTracker-2024/Tests/7545-groupby_on_index_col.test
Modified Files:
        sql/server/rel_select.c
        sql/test/BugTracker-2024/Tests/All
Branch: Aug2024
Log Message:

Check index exists + add test. Fix #7545.


diffs (33 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
@@ -1322,6 +1322,8 @@ bool group_by_pk_project_uk_cond(mvc* sq
 
                for (node * n = ol_first_node(t->idxs); n; n = n->next) {
                        sql_idx *i = n->data;
+                       if (!i->key)
+                               continue;
                        switch (i->key->type) {
                        case pkey:
                                pki = i;
diff --git a/sql/test/BugTracker-2024/Tests/7545-groupby_on_index_col.test 
b/sql/test/BugTracker-2024/Tests/7545-groupby_on_index_col.test
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2024/Tests/7545-groupby_on_index_col.test
@@ -0,0 +1,8 @@
+statement ok
+CREATE TABLE t0 (c0 VARCHAR, c1 VARCHAR)
+
+statement ok
+CREATE UNIQUE INDEX i0 ON t0(c0)
+
+statement error 42000!SELECT: cannot use non GROUP BY column 't0.c1' in query 
results without an aggregate function
+CREATE VIEW v0(c0) AS SELECT t0.c1 FROM t0 GROUP BY (CASE (NULL) WHEN t0.c1 
THEN t0.c0 END)
diff --git a/sql/test/BugTracker-2024/Tests/All 
b/sql/test/BugTracker-2024/Tests/All
--- a/sql/test/BugTracker-2024/Tests/All
+++ b/sql/test/BugTracker-2024/Tests/All
@@ -69,3 +69,4 @@ 7537-prepare_stmt_with_dropped_table
 7536-mclient-forgets-to-flush
 7541-levenshtein
 7542-column-name-resolution
+7545-groupby_on_index_col
_______________________________________________
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org

Reply via email to