Changeset: 1f9867b76872 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/1f9867b76872
Added Files:
sql/test/BugTracker-2025/Tests/7719-crash-in-complex-query.test
Modified Files:
sql/backends/monet5/rel_bin.c
sql/test/BugTracker-2025/Tests/All
Branch: default
Log Message:
added test for issue #7719,
first/last_value handling of (constant) bounds was missing. For now
use const bats.
diffs (45 lines):
diff --git a/sql/backends/monet5/rel_bin.c b/sql/backends/monet5/rel_bin.c
--- a/sql/backends/monet5/rel_bin.c
+++ b/sql/backends/monet5/rel_bin.c
@@ -1705,6 +1705,9 @@ exp_bin(backend *be, sql_exp *e, stmt *l
if (!f->func->s &&
!strcmp(f->func->base.name, "window_bound")
&& exps->h->next &&
list_length(f->func->ops) == 6 && en == exps->h->next && left->nrcols)
es = stmt_const(be,
bin_find_smallest_column(be, left), es);
+ if (!f->func->s &&
(!strcmp(f->func->base.name, "first_value") || !strcmp(f->func->base.name,
"last_value"))
+ && (!en->next ||
!en->next->next) && list_length(f->func->ops) == 1 && left->nrcols)
+ es = stmt_const(be,
bin_find_smallest_column(be, left), es);
}
if (es->nrcols > nrcols)
nrcols = es->nrcols;
diff --git a/sql/test/BugTracker-2025/Tests/7719-crash-in-complex-query.test
b/sql/test/BugTracker-2025/Tests/7719-crash-in-complex-query.test
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2025/Tests/7719-crash-in-complex-query.test
@@ -0,0 +1,17 @@
+statement ok
+CREATE TABLE v0 (v1 INT , v2 VARCHAR(71))
+
+query IITT
+SELECT v1, v1, v2, LAST_VALUE(v2) OVER (PARTITION BY v1 RANGE BETWEEN CURRENT
ROW AND UNBOUNDED FOLLOWING) FROM v0
+----
+
+statement ok rowcount 1
+insert into v0 values(1,1)
+
+query IITT
+SELECT v1, v1, v2, LAST_VALUE(v2) OVER (PARTITION BY v1 RANGE BETWEEN CURRENT
ROW AND UNBOUNDED FOLLOWING) FROM v0
+----
+1
+1
+1
+NULL
diff --git a/sql/test/BugTracker-2025/Tests/All
b/sql/test/BugTracker-2025/Tests/All
--- a/sql/test/BugTracker-2025/Tests/All
+++ b/sql/test/BugTracker-2025/Tests/All
@@ -63,5 +63,6 @@ 7715-anti-like
7716-antijoin-not-exists-null
7717-check-with-window
7718-crash
+7719-crash-in-complex-query
7730-generate-series-month-int
7732-table-exp-issue
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]