Changeset: c5ca2147642c for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/c5ca2147642c
Added Files:
sql/test/BugTracker-2026/Tests/7977-prepare-optimize.test
Modified Files:
sql/backends/monet5/sql_gencode.c
sql/test/BugTracker-2026/Tests/All
Branch: Dec2025
Log Message:
fix for issue #7977
diffs (35 lines):
diff --git a/sql/backends/monet5/sql_gencode.c
b/sql/backends/monet5/sql_gencode.c
--- a/sql/backends/monet5/sql_gencode.c
+++ b/sql/backends/monet5/sql_gencode.c
@@ -1131,6 +1131,7 @@ backend_dumpproc_body(backend *be, Clien
c->curprg->def->errors = SQLoptimizeFunction(c,c->curprg->def);
if (c->curprg->def->errors) {
sql_error(m, 10, SQLSTATE(42000) "Internal error while
compiling statement: %s", c->curprg->def->errors);
+ res = -1;
} else {
res = 0; /* success */
}
diff --git a/sql/test/BugTracker-2026/Tests/7977-prepare-optimize.test
b/sql/test/BugTracker-2026/Tests/7977-prepare-optimize.test
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2026/Tests/7977-prepare-optimize.test
@@ -0,0 +1,11 @@
+# this wrapper uses string arguments for a function that expects doubles
+
+statement ok
+CREATE FUNCTION f_broken(x STRING, y STRING) RETURNS STRING EXTERNAL NAME
sql.alpha
+
+# This prepare should fail, but res = -1 not set, so it doesn't
+statement error
+PREPARE SELECT f_broken(?, ?)
+
+statement error
+EXEC 0('a','b')
diff --git a/sql/test/BugTracker-2026/Tests/All
b/sql/test/BugTracker-2026/Tests/All
--- a/sql/test/BugTracker-2026/Tests/All
+++ b/sql/test/BugTracker-2026/Tests/All
@@ -158,3 +158,4 @@ KNOWNFAIL?7965-select-1-limit-0-bug
7972-orderby-limit-subquery-bug
KNOWNFAIL?7973-groupby-list-null-row-bug
KNOWNFAIL?7974-muli-column-not-in-subquery-bug
+7977-prepare-optimize
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]