MonetDB: default - Removed the obsolete ANALYZE statement syntax...

2024-05-02 Thread Martin van Dinther via checkin-list
Changeset: 8ef11b32cb8e for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/8ef11b32cb8e
Modified Files:
sql/ChangeLog
sql/server/rel_psm.c
sql/server/sql_parser.y
sql/server/sql_scan.c
sql/test/mergetables/Tests/mergequery.test
sql/test/mergetables/Tests/part-elim.test
sql/test/remote/Tests/partition_elim.test
Branch: default
Log Message:

Removed the obsolete ANALYZE statement syntax options: SAMPLE nn and MINMAX. 
Both options have been ignored since release Jan2022. Now they are no longer 
accepted in the ANALYZE statement.


diffs (172 lines):

diff --git a/sql/ChangeLog b/sql/ChangeLog
--- a/sql/ChangeLog
+++ b/sql/ChangeLog
@@ -2,6 +2,9 @@
 # This file is updated with Maddlog
 
 * Thu May  2 2024 Martin van Dinther 
+- Removed the obsolete ANALYZE statement syntax options: SAMPLE nn and
+  MINMAX. Both options have been ignored since release Jan2022. Now they
+  are no longer accepted in the ANALYZE statement.
 - The ANALYZE statement can now be used in procedures, functions and triggers.
 
 * Wed Apr 10 2024 Lucas Pereira 
diff --git a/sql/server/rel_psm.c b/sql/server/rel_psm.c
--- a/sql/server/rel_psm.c
+++ b/sql/server/rel_psm.c
@@ -650,26 +650,22 @@ psm_analyze(sql_query *query, dlist *qna
if (columns)
list_append(tl, exp_subtype(tname_exp));
}
+   if (!(f = sql_bind_func_(sql, "sys", "analyze", tl, F_PROC, true, 
false)))
+   return sql_error(sql, ERR_NOTFOUND, SQLSTATE(42000) "Analyze 
procedure missing");
+   if (!execute_priv(sql, f->func))
+   return sql_error(sql, 02, SQLSTATE(42000) "No privilege to call 
analyze procedure");
if (!columns) {
-   if (!(f = sql_bind_func_(sql, "sys", "analyze", tl, F_PROC, 
true, false)))
-   return sql_error(sql, ERR_NOTFOUND, SQLSTATE(42000) 
"Analyze procedure missing");
-   if (!execute_priv(sql, f->func))
-   return sql_error(sql, 02, SQLSTATE(42000) "No privilege 
to call analyze procedure");
list_append(analyze_calls, exp_op(sql->sa, exps, f));
} else {
if (!sname || !tname)
return sql_error(sql, ERR_NOTFOUND, SQLSTATE(42000) 
"Analyze schema or table name missing");
-   if (!(f = sql_bind_func_(sql, "sys", "analyze", tl, F_PROC, 
true, false)))
-   return sql_error(sql, ERR_NOTFOUND, SQLSTATE(42000) 
"Analyze procedure missing");
-   if (!execute_priv(sql, f->func))
-   return sql_error(sql, 02, SQLSTATE(42000) "No privilege 
to call analyze procedure");
for(dnode *n = columns->h; n; n = n->next) {
const char *cname = n->data.sval;
list *nexps = list_dup(exps, NULL);
sql_exp *cname_exp = exp_atom_str(sql->sa, cname, );
 
list_append(nexps, cname_exp);
-   /* call analyze( opt_minmax, opt_sample_size, sname, 
tname, cname) */
+   /* call analyze(sname, tname, cname) */
list_append(analyze_calls, exp_op(sql->sa, nexps, f));
}
}
diff --git a/sql/server/sql_parser.y b/sql/server/sql_parser.y
--- a/sql/server/sql_parser.y
+++ b/sql/server/sql_parser.y
@@ -579,7 +579,6 @@ int yydebug=1;
opt_index_type
opt_match
opt_match_type
-   opt_minmax
opt_on_commit
opt_outer
opt_ref_action
@@ -720,7 +719,7 @@ SQLCODE SQLERROR UNDER WHENEVER
 %token CHECK CONSTRAINT CREATE COMMENT NULLS FIRST LAST
 %token TYPE PROCEDURE FUNCTION sqlLOADER AGGREGATE RETURNS EXTERNAL sqlNAME 
DECLARE
 %token CALL LANGUAGE
-%token ANALYZE MINMAX SQL_EXPLAIN SQL_PLAN SQL_TRACE PREP PREPARE EXEC EXECUTE 
DEALLOCATE
+%token ANALYZE SQL_EXPLAIN SQL_PLAN SQL_TRACE PREP PREPARE EXEC EXECUTE 
DEALLOCATE
 %token DEFAULT DISTINCT DROP TRUNCATE
 %token FOREIGN
 %token RENAME ENCRYPTED UNENCRYPTED PASSWORD GRANT REVOKE ROLE ADMIN INTO
@@ -963,12 +962,10 @@ declare:
 
/* schema definition language */
 analyze_statement:
-   ANALYZE qname opt_column_list opt_sample opt_minmax
+   ANALYZE qname opt_column_list
{ dlist *l = L();
append_list(l, $2);
append_list(l, $3);
-   append_symbol(l, $4);
-   append_int(l, $5);
$$ = _symbol_create_list( SQL_ANALYZE, l); }
  ;
 
@@ -986,11 +983,6 @@ sql:
  |  comment_on_statement
  ;
 
-opt_minmax:
-   /* empty */ { $$ = 0; }
- | MINMAX  { $$ = 1; }
- ;
-
 declare_statement:
declare variable_list { $$ = _symbol_create_list( SQL_DECLARE, $2); }
   | declare table_def { $$ = $2; if ($$) $$->token = SQL_DECLARE_TABLE; }
@@ -5988,7 +5980,6 @@ non_reserved_word:
 | MAX_MEMORY   { $$ = sa_strdup(SA, "max_memory"); }
 | MAXVALUE { $$ = sa_strdup(SA, 

MonetDB: balanced_union - Merges default

2024-05-02 Thread stefanos mavros via checkin-list
Changeset: fe0346d0a13f for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/fe0346d0a13f
Modified Files:
sql/backends/monet5/rel_bin.c
sql/server/rel_exp.c
sql/server/rel_optimize_proj.c
sql/server/rel_select.c
sql/server/rel_unnest.c
sql/test/miscellaneous/Tests/simple_plans.test
Branch: balanced_union
Log Message:

Merges default


diffs (truncated from 2573 to 300 lines):

diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml
--- a/.github/workflows/linux.yml
+++ b/.github/workflows/linux.yml
@@ -48,7 +48,12 @@ jobs:
   ref: ${{ github.ref }}
 
   - name: install pymonetdb cryptography
-run: pip3 install pymonetdb cryptography
+run: pip3 install --user --upgrade pymonetdb cryptography
+if: runner.os != 'macOS'
+
+  - name: install pymonetdb cryptography
+run: pip3 install --user --break-system-packages --upgrade pymonetdb 
cryptography
+if: runner.os == 'macOS'
 
   - name: make MonetDB on linux
 run: |
@@ -83,7 +88,23 @@ jobs:
 -DBISON_EXECUTABLE=/usr/local/opt/bison/bin/bison \
 -DCMAKE_SUMMARY=ON
   make install -j3
-if: runner.os == 'macOS'
+if: runner.os == 'macOS' && runner.arch == 'x64'
+
+  - name: make MonetDB on macos
+run: |
+  mkdir build
+  cd build 
+  cmake .. \
+-DCMAKE_INSTALL_PREFIX=$HOME/MDB \
+-DPY3INTEGRATION=OFF \
+-DRINTEGRATION=OFF  \
+-DCMAKE_BUILD_TYPE=Release \
+-DASSERT=OFF \
+-DCMAKE_C_COMPILER=${{ matrix.c_compiler }} \
+-DBISON_EXECUTABLE=/opt/homebrew/opt/bison/bin/bison \
+-DCMAKE_SUMMARY=ON
+  make install -j3
+if: runner.os == 'macOS' && runner.arch == 'arm64'
 
   - name: choco packages
 run: |
diff --git a/.hgtags b/.hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -825,3 +825,4 @@ dcc8c702e685a4faf21ccf663028d1bc3d1165d1
 dcc8c702e685a4faf21ccf663028d1bc3d1165d1 Dec2023_SP1_release
 d656785f49ee62c19705722aa6b7c171904c64d5 Dec2023_7
 d656785f49ee62c19705722aa6b7c171904c64d5 Dec2023_SP2_release
+9a694c41042503a22d6c92aeab5bc4ca1912b62e Dec2023_9
diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -91,7 +91,7 @@ Group: Applications/Databases
 License: MPL-2.0
 URL: https://www.monetdb.org/
 BugURL: https://github.com/MonetDB/MonetDB/issues
-Source: 
https://www.monetdb.org/downloads/sources/Dec2023-SP2/%{name}-%{version}.tar.bz2
+Source: 
https://www.monetdb.org/downloads/sources/Dec2023-SP3/%{name}-%{version}.tar.bz2
 
 # The Fedora packaging document says we need systemd-rpm-macros for
 # the _unitdir and _tmpfilesdir macros to exist; however on RHEL 7
@@ -916,6 +916,25 @@ fi
 %endif
 
 %changelog
+* Thu May 02 2024 Sjoerd Mullender  - 11.49.9-20240502
+- Rebuilt.
+- GH#7422: Aggregate functions with variadic arguments
+- GH#7472: MonetDB server crashes in `tail_type`
+- GH#7473: MonetDB server crashes in `SQLunionfunc`
+- GH#7478: MonetDB server crashes in `exp_equal`
+- GH#7496: Query on view fails to produce a resultset. Assertion triggered
+  in rel2bin_select.
+- GH#7499: create schema + set schema inside a transaction that is rolled
+  back causes the connection to be aborted
+- GH#7501: files remain in backup causing problems at restart
+- GH#7503: MonetDB server crashes using `WHEN MATCHED THEN UPDATE`
+- GH#7504: possible deadlock when a bat is made persistent when it is also
+  getting unloaded
+- GH#7506: MonetDB Dec2023-SP2 crashes at `rel_value_exp2`
+- GH#7507: BBPextend: ERROR: trying to extend BAT pool beyond the limit
+  (16384)
+- GH#7508: MonetDB Dec2023-SP2 crashes at `exp_ref`
+
 * Tue Apr 09 2024 Sjoerd Mullender  - 11.49.7-20240409
 - Rebuilt.
 - GH#7469: Crash when using `CONTAINS`
diff --git a/clients/mapilib/mapi.c b/clients/mapilib/mapi.c
--- a/clients/mapilib/mapi.c
+++ b/clients/mapilib/mapi.c
@@ -1777,6 +1777,11 @@ mapi_new(msettings *settings)
Mapi mid;
static ATOMIC_TYPE index = ATOMIC_VAR_INIT(0);
 
+   if (!ATOMIC_TAS(_initialized)) {
+   if (mnstr_init() < 0)
+   return NULL;
+   }
+
mid = malloc(sizeof(*mid));
if (mid == NULL)
return NULL;
@@ -1885,11 +1890,6 @@ mapi_mapiuri(const char *url, const char
 {
Mapi mid;
 
-   if (!ATOMIC_TAS(_initialized)) {
-   if (mnstr_init() < 0)
-   return NULL;
-   }
-
mid = mapi_new(NULL);
if (mid == NULL)
return NULL;
@@ -1944,11 +1944,6 @@ mapi_mapi(const char *host, int port, co
 {
Mapi mid;
 
-   if (!ATOMIC_TAS(_initialized)) {
-   if (mnstr_init() < 0)
-   return NULL;
-   }
-
mid = mapi_new(NULL);
if (mid == NULL)
return NULL;
diff --git a/cmake/monetdb-versi

MonetDB: default - Update the sql Changelog regarding the possib...

2024-05-02 Thread Martin van Dinther via checkin-list
Changeset: e4a68cc5163e for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/e4a68cc5163e
Modified Files:
sql/ChangeLog
Branch: default
Log Message:

Update the sql Changelog regarding the possibility to use ANALYZE statement in 
procedures, functions and triggers.


diffs (13 lines):

diff --git a/sql/ChangeLog b/sql/ChangeLog
--- a/sql/ChangeLog
+++ b/sql/ChangeLog
@@ -1,6 +1,9 @@
 # ChangeLog file for sql
 # This file is updated with Maddlog
 
+* Thu May  2 2024 Martin van Dinther 
+- The ANALYZE statement can now be used in procedures, functions and triggers.
+
 * Wed Apr 10 2024 Lucas Pereira 
 - Make schema renaming more permissive. A schema can be renamed if it
   does not contain objects that are a dependency for objects outside
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: default - Add test for request #7500

2024-05-02 Thread Martin van Dinther via checkin-list
Changeset: 752f3f6a6ec4 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/752f3f6a6ec4
Added Files:

sql/test/BugTracker-2024/Tests/analyze-in-proc-func-trig-body-Bug-7500.test
Modified Files:
sql/test/BugTracker-2024/Tests/All
Branch: default
Log Message:

Add test for request #7500


diffs (84 lines):

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
@@ -53,4 +53,5 @@ sql_init_subtype-Bug-7487
 orderby-max-over-rows-Bug-7488
 rel2bin_select-Bug-7496
 multicolumn_IN_value_list-Bug-7497
+analyze-in-proc-func-trig-body-Bug-7500
 field-arg-error-Bug-7506
diff --git 
a/sql/test/BugTracker-2024/Tests/analyze-in-proc-func-trig-body-Bug-7500.test 
b/sql/test/BugTracker-2024/Tests/analyze-in-proc-func-trig-body-Bug-7500.test
new file mode 100644
--- /dev/null
+++ 
b/sql/test/BugTracker-2024/Tests/analyze-in-proc-func-trig-body-Bug-7500.test
@@ -0,0 +1,70 @@
+statement ok
+CREATE SCHEMA test
+
+statement ok
+CREATE TABLE test.numbers (num bigint NOT NULL)
+
+statement ok
+INSERT INTO test.numbers VALUES (123), (345), (567), (8901), (5479)
+
+statement ok
+ANALYZE test.numbers
+
+-- (try to) use the ANALYZE statement in a procedure body:
+statement ok
+CREATE PROCEDURE test.update_stats1 () ANALYZE test.numbers
+
+statement ok
+CREATE PROCEDURE test.update_stats2 () BEGIN ANALYZE test.numbers; END
+
+statement ok
+CREATE PROCEDURE test.update_stats3 () BEGIN ATOMIC ANALYZE test.numbers; END
+
+statement ok
+CREATE PROCEDURE test.refresh_numbers1 (amount bigint)
+BEGIN
+   TRUNCATE TABLE test.numbers;
+   INSERT INTO test.numbers(num) SELECT value from sys.generate_series(1, 
amount+1);
+   ANALYZE test.numbers;
+END
+
+statement ok
+CALL test.refresh_numbers1 (123)
+
+
+-- (try to) use the ANALYZE statement in a function body:
+statement ok
+CREATE FUNCTION test.update_stats7 () RETURNS int BEGIN ANALYZE test.numbers; 
RETURN 7; END
+
+statement ok
+CREATE FUNCTION test.update_stats8 () RETURNS int BEGIN ATOMIC ANALYZE 
test.numbers; RETURN 8; END;
+
+statement ok
+CREATE FUNCTION test.refresh_numbers2 (amount bigint) RETURNS int
+BEGIN
+   TRUNCATE TABLE test.numbers;
+   INSERT INTO test.numbers(num) SELECT value from sys.generate_series(1, 
amount+1);
+   ANALYZE test.numbers;
+   RETURN amount;
+END;
+
+query I nosort
+SELECT test.refresh_numbers2 (1234)
+
+1234
+
+
+-- (try to) use the ANALYZE statement in a trigger body:
+statement ok
+CREATE TRIGGER numbers_ins0 AFTER INSERT ON test.numbers ANALYZE test.numbers
+
+statement ok
+CREATE TRIGGER numbers_ins1 AFTER INSERT ON test.numbers BEGIN ATOMIC ANALYZE 
test.numbers; END
+
+statement ok
+INSERT INTO test.numbers VALUES (-99)
+
+
+-- cleanup
+statement ok
+DROP SCHEMA test CASCADE
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: balanced_union - Removes leftovers after merge with def...

2024-05-02 Thread stefanos mavros via checkin-list
Changeset: a576e0c9bbf5 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/a576e0c9bbf5
Modified Files:
sql/server/rel_optimize_proj.c
Branch: balanced_union
Log Message:

Removes leftovers after merge with default


diffs (65 lines):

diff --git a/sql/server/rel_optimize_proj.c b/sql/server/rel_optimize_proj.c
--- a/sql/server/rel_optimize_proj.c
+++ b/sql/server/rel_optimize_proj.c
@@ -53,14 +53,6 @@ rel_used_projections(mvc *sql, list *exp
return nexps;
 }
 
-static int
-data_equal( sql_exp *e1, sql_exp *e2)
-{
-   if (e1 == e2)
-   return 0;
-   return -1;
-}
-
 /* move projects down with the goal op removing them completely (ie push 
renames/reduced lists into basetable)
  * for some cases we can directly remove iff renames rename into same alias
  * */
@@ -90,45 +82,7 @@ rel_push_project_down_(visitor *v, sql_r
} else if (list_check_prop_all(rel->exps, 
(prop_check_func)_is_useless_rename)) {
if ((is_project(l->op) && list_length(l->exps) == 
list_length(rel->exps)) ||
((v->parent && is_project(v->parent->op)) &&
-(is_mset(l->op) || is_select(l->op) || 
is_join(l->op) || is_semi(l->op) || is_topn(l->op) || is_sample(l->op {
-   rel->l = NULL;
-   rel_destroy(rel);
-   v->changes++;
-   return l;
-   }
-   } else if (list_check_prop_all(rel->exps, 
(prop_check_func)_is_rename)) {
-   /* TODO for positional (setops), if not top relation, 
rename in order of the inner */
-   /* check for selfrefs, ie if l has self refs we cannot 
reduce (or rename) the expressions */
-   if (is_simple_project(l->op) && !l->r) {
-   list *nexps = sa_list(v->sql->sa);
-
-   /* first find all required expressions */
-   for(node *n = rel->exps->h; n; n = n->next) {
-   sql_exp *e = n->data, *ne = NULL;
-
-   if (e->l)
-   ne = exps_bind_column2(l->exps, 
e->l, e->r, NULL);
-   if (!ne && !e->l)
-   ne = exps_bind_column(l->exps, 
e->r, NULL, NULL, 1);
-   if (!ne)
-   return rel;
-   if (ne && exp_has_selfref(v->sql, ne))
-   return rel;
-   /* make sure we don't have duplicates */
-   if (list_find(nexps, ne, 
(fcmp)_equal))
-   return rel;
-   append(nexps, ne);
-   }
-   /* rename using outer expressions */
-   for(node *n = rel->exps->h, *m = nexps->h; n && 
m; n = n->next, m = m->next) {
-   sql_exp *e = n->data, *ne = m->data;
-
-   exp_setname(v->sql->sa, ne, 
exp_relname(e), exp_name(e));
-   exp_propagate(v->sql->sa, ne, e);
-   }
-   /* reset hash after renaming */
-   list_hash_clear(nexps);
-   l->exps = nexps;
+(is_mset(l->op) || is_set(l->op) || 
is_select(l->op) || is_join(l->op) || is_semi(l->op) || is_topn(l->op) || 
is_sample(l->op {
rel->l = NULL;
rel_destroy(rel);
v->changes++;
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: Dec2023 - Rename test to correct SF bug number.

2024-05-02 Thread Sjoerd Mullender via checkin-list
Changeset: f3e52645a5bd for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/f3e52645a5bd
Added Files:

sql/test/BugTracker-2009/Tests/select_X_where_bla_EQ_whatever.SF-2825974.test
Removed Files:

sql/test/BugTracker-2009/Tests/select_X_where_bla_EQ_whatever.SF-282597.test
Modified Files:
sql/test/BugTracker-2009/Tests/All
Branch: Dec2023
Log Message:

Rename test to correct SF bug number.


diffs (15 lines):

diff --git a/sql/test/BugTracker-2009/Tests/All 
b/sql/test/BugTracker-2009/Tests/All
--- a/sql/test/BugTracker-2009/Tests/All
+++ b/sql/test/BugTracker-2009/Tests/All
@@ -69,7 +69,7 @@ utf8_bug.SF-2822855
 reorder.SF-2770608
 orIssue.SF-2812504
 recursion-problem.SF-2827784
-select_X_where_bla_EQ_whatever.SF-282597
+select_X_where_bla_EQ_whatever.SF-2825974
 rollback_mistake.SF-2814622
 numeric_data_type_bug.SF-2818176
 insert_into_values_bug.SF-2807609
diff --git 
a/sql/test/BugTracker-2009/Tests/select_X_where_bla_EQ_whatever.SF-282597.test 
b/sql/test/BugTracker-2009/Tests/select_X_where_bla_EQ_whatever.SF-2825974.test
rename from 
sql/test/BugTracker-2009/Tests/select_X_where_bla_EQ_whatever.SF-282597.test
rename to 
sql/test/BugTracker-2009/Tests/select_X_where_bla_EQ_whatever.SF-2825974.test
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: default - no more GROUP BY constant (part 1)

2024-05-02 Thread Niels Nes via checkin-list
Changeset: 8bac8f7f028c for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/8bac8f7f028c
Modified Files:
sql/server/rel_select.c
sql/test/BugTracker-2023/Tests/misc-crashes-7390.test
sql/test/BugTracker-2024/Tests/exp_equal-Bug-7478.test
sql/test/BugTracker-2024/Tests/where_null-7450.test
sql/test/SQLancer/Tests/sqlancer01.test
sql/test/SQLancer/Tests/sqlancer02.test
sql/test/SQLancer/Tests/sqlancer03.test
sql/test/SQLancer/Tests/sqlancer04.test
sql/test/SQLancer/Tests/sqlancer09.test
sql/test/SQLancer/Tests/sqlancer11.test
sql/test/SQLancer/Tests/sqlancer18.test
sql/test/SQLancer/Tests/sqlancer23.test
sql/test/miscellaneous/Tests/groupby_expressions.test
sql/test/miscellaneous/Tests/simple_selects.test
Branch: default
Log Message:

no more GROUP BY constant (part 1)
We dis-allow grouping by constants.
Todo handle the group by numeric (again), ie lookup the numbered column in the
resulting selection


diffs (truncated from 511 to 300 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
@@ -4068,6 +4068,15 @@ rel_group_column(sql_query *query, sql_r
exp_kind ek = {type_value, card_value, TRUE};
sql_exp *e = rel_value_exp2(lquery, rel, grp, f, ek);
 
+   if (e && exp_is_atom(e)) {
+   sql_subtype *tpe = exp_subtype(e);
+   if (!tpe || tpe->type->eclass != EC_NUM) {
+   if (!tpe)
+   return sql_error(sql, 02, SQLSTATE(42000) 
"Cannot have a parameter (?) for group by column");
+   return sql_error(sql, 02, SQLSTATE(42000) "SELECT: 
non-integer constant in GROUP BY");
+   }
+   }
+
if (!e) {
char buf[ERRSIZE], *name;
int status = sql->session->status;
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
@@ -111,7 +111,7 @@ CREATE TEMP TABLE Table0 (Col0 INT, PRIM
 
 -- 07.sql
 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)
 
 statement ok
 DROP VIEW v0
@@ -452,7 +452,7 @@ statement ok
 CREATE TABLE v0(v2 DOUBLE PRIMARY KEY, v1 VARCHAR(1))
 
 statement ok
-DELETE FROM v0 WHERE (SELECT v2 FROM v0 WHERE v0.v2 = v0.v1 GROUP BY 2.10, 
v1) IN (10.10, 10, 10 )
+DELETE FROM v0 WHERE (SELECT v2 FROM v0 WHERE v0.v2 = v0.v1 GROUP BY v1) IN 
(10.10, 10, 10 )
 
 statement ok
 DROP TABLE v0
@@ -533,7 +533,7 @@ statement ok
 CREATE TABLE v0(v1 VARCHAR(30), v2 CHAR(20))
 
 statement ok
-DELETE FROM v0 WHERE (SELECT v1 WHERE (SELECT COUNT (*) OVER (ORDER BY v1 DESC 
NULLS LAST)) = v2 GROUP BY 2.10 HAVING 0 NOT LIKE v2)
+DELETE FROM v0 WHERE (SELECT v1 WHERE (SELECT COUNT (*) OVER (ORDER BY v1 DESC 
NULLS LAST)) = v2)
 
 statement ok
 DROP TABLE v0
diff --git a/sql/test/BugTracker-2024/Tests/exp_equal-Bug-7478.test 
b/sql/test/BugTracker-2024/Tests/exp_equal-Bug-7478.test
--- a/sql/test/BugTracker-2024/Tests/exp_equal-Bug-7478.test
+++ b/sql/test/BugTracker-2024/Tests/exp_equal-Bug-7478.test
@@ -1,10 +1,10 @@
 query T nosort
-WITH x AS ( SELECT NULL ) SELECT 'x' IN ( SELECT * FROM x GROUP BY 'x' )
+WITH x AS ( SELECT NULL ) SELECT 'x' IN ( SELECT * FROM x)
 
 NULL
 
 query T nosort
-SELECT ( WITH x AS ( SELECT NULL ) SELECT 'x' IN ( SELECT * FROM x GROUP BY 
'x' ) )
+SELECT ( WITH x AS ( SELECT NULL ) SELECT 'x' IN ( SELECT * FROM x) )
 
 NULL
 
diff --git a/sql/test/BugTracker-2024/Tests/where_null-7450.test 
b/sql/test/BugTracker-2024/Tests/where_null-7450.test
--- a/sql/test/BugTracker-2024/Tests/where_null-7450.test
+++ b/sql/test/BugTracker-2024/Tests/where_null-7450.test
@@ -5,7 +5,7 @@ statement ok
 INSERT INTO t0 ( c0) VALUES (false)
 
 statement ok
-CREATE VIEW v0(c0) AS SELECT true FROM t0 WHERE NULL GROUP BY t0.c0, true
+CREATE VIEW v0(c0) AS SELECT true FROM t0 WHERE NULL GROUP BY t0.c0
 
 query I nosort
 SELECT * FROM v0
diff --git a/sql/test/SQLancer/Tests/sqlancer01.test 
b/sql/test/SQLancer/Tests/sqlancer01.test
--- a/sql/test/SQLancer/Tests/sqlancer01.test
+++ b/sql/test/SQLancer/Tests/sqlancer01.test
@@ -279,7 +279,7 @@ 0.835   0
 0.455  -1239303309
 
 query I rowsort
-SELECT MIN(DISTINCT t0.c1) FROM t0 WHERE 1 >= t0.c0 GROUP BY true
+SELECT MIN(DISTINCT t0.c1) FROM t0 WHERE 1 >= t0.c0
 
 -1239303309
 
@@ -547,7 +547,7 @@ 1511423462.000
 NULL
 
 query RR rowsort
-SELECT ALL 0.1002352, AVG(ALL t0.c0) FROM t0 GROUP BY CAST(t0.c0 AS 
STRING(799)), 0.4665444117594173, ((sql_min(+ ("locate"('', 'F', 150648381)), 
(((-1039870396))*(length('u')>>(CAST(0.588018201374832 AS INT)))
+SELECT ALL 0.1002352, 

MonetDB: Dec2023 - Enable test.

2024-05-02 Thread Sjoerd Mullender via checkin-list
Changeset: 2b3f9e72cae9 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/2b3f9e72cae9
Modified Files:
sql/test/BugTracker-2024/Tests/sql_init_subtype-Bug-7487.test
Branch: Dec2023
Log Message:

Enable test.


diffs (18 lines):

diff --git a/sql/test/BugTracker-2024/Tests/sql_init_subtype-Bug-7487.test 
b/sql/test/BugTracker-2024/Tests/sql_init_subtype-Bug-7487.test
--- a/sql/test/BugTracker-2024/Tests/sql_init_subtype-Bug-7487.test
+++ b/sql/test/BugTracker-2024/Tests/sql_init_subtype-Bug-7487.test
@@ -8,13 +8,11 @@ SELECT levenshtein ( 'Xint' , '2014-10-2
 
 14
 
-skipif knownfail
 query I nosort
 SELECT levenshtein ( 'int' , 'X2014-10-25 UTC' )
 
-14
+15
 
-skipif knownfail
 query I nosort
 SELECT levenshtein ( 'int' , '2014-10-25 UTC' )
 
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: Dec2023 - No API changes allowed.

2024-05-02 Thread Sjoerd Mullender via checkin-list
Changeset: 4141f64e7027 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/4141f64e7027
Modified Files:
sql/backends/monet5/UDF/udf/udf.c
sql/backends/monet5/UDF/udf/udf.h
Branch: Dec2023
Log Message:

No API changes allowed.


diffs (28 lines):

diff --git a/sql/backends/monet5/UDF/udf/udf.c 
b/sql/backends/monet5/UDF/udf/udf.c
--- a/sql/backends/monet5/UDF/udf/udf.c
+++ b/sql/backends/monet5/UDF/udf/udf.c
@@ -77,10 +77,9 @@ UDFreverse_(str *buf, size_t *buflen, co
 
 /* MAL wrapper */
 str
-UDFreverse(str *res, const char *const *arg)
+UDFreverse(str *res, const str *arg)
 {
-   str msg = MAL_SUCCEED;
-   const char *s;
+   str msg = MAL_SUCCEED, s;
 
/* assert calling sanity */
assert(res && arg);
diff --git a/sql/backends/monet5/UDF/udf/udf.h 
b/sql/backends/monet5/UDF/udf/udf.h
--- a/sql/backends/monet5/UDF/udf/udf.h
+++ b/sql/backends/monet5/UDF/udf/udf.h
@@ -33,7 +33,7 @@
 
 /* export MAL wrapper functions */
 
-udf_export str UDFreverse(str *ret, const char *const *arg);
+udf_export str UDFreverse(str *ret, const str *arg);
 udf_export str UDFBATreverse(bat *ret, const bat *arg);
 
 /* using C macro for convenient type-expansion */
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: Dec2023 - Properly use const for str parameters to C st...

2024-05-02 Thread Sjoerd Mullender via checkin-list
Changeset: 90933e6c6b36 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/90933e6c6b36
Modified Files:
monetdb5/modules/atoms/str.c
monetdb5/modules/kernel/batstr.c
monetdb5/modules/mal/pcre.c
monetdb5/modules/mal/txtsim.c
sql/backends/monet5/UDF/udf/udf.c
sql/backends/monet5/UDF/udf/udf.h
sql/backends/monet5/sql_user.c
sql/backends/monet5/sql_user.h
Branch: Dec2023
Log Message:

Properly use const for str parameters to C stubs for MAL functions.
const str *val (which was used in many places) is not the same as const
* const *val (which is what it really is).
The pointer itself can be changed (i.e. val), but not *val and not
**val, since they belong to the caller.
This also fixes #7509.  But Lucas, please take a closer look.


diffs (truncated from 982 to 300 lines):

diff --git a/monetdb5/modules/atoms/str.c b/monetdb5/modules/atoms/str.c
--- a/monetdb5/modules/atoms/str.c
+++ b/monetdb5/modules/atoms/str.c
@@ -3488,7 +3488,7 @@ STRlike(const char *s, const char *pat, 
 }
 
 static str
-STRlikewrap3(bit *ret, const str *s, const str *pat, const str *esc)
+STRlikewrap3(bit *ret, const char *const *s, const char *const *pat, const 
char *const *esc)
 {
if (strNil(*s) || strNil(*pat) || strNil(*esc))
*ret = bit_nil;
@@ -3498,7 +3498,7 @@ STRlikewrap3(bit *ret, const str *s, con
 }
 
 static str
-STRlikewrap(bit *ret, const str *s, const str *pat)
+STRlikewrap(bit *ret, const char *const *s, const char *const *pat)
 {
if (strNil(*s) || strNil(*pat))
*ret = bit_nil;
@@ -3508,7 +3508,7 @@ STRlikewrap(bit *ret, const str *s, cons
 }
 
 static str
-STRtostr(str *res, const str *src)
+STRtostr(str *res, const char *const *src)
 {
if (*src == 0)
*res = GDKstrdup(str_nil);
@@ -3520,7 +3520,7 @@ STRtostr(str *res, const str *src)
 }
 
 static str
-STRLength(int *res, const str *arg1)
+STRLength(int *res, const char *const *arg1)
 {
const char *s = *arg1;
 
@@ -3529,7 +3529,7 @@ STRLength(int *res, const str *arg1)
 }
 
 static str
-STRBytes(int *res, const str *arg1)
+STRBytes(int *res, const char *const *arg1)
 {
const char *s = *arg1;
 
@@ -3553,7 +3553,7 @@ str_tail(str *buf, size_t *buflen, const
 }
 
 static str
-STRTail(str *res, const str *arg1, const int *offset)
+STRTail(str *res, const char *const *arg1, const int *offset)
 {
str buf = NULL, msg = MAL_SUCCEED;
const char *s = *arg1;
@@ -3609,7 +3609,7 @@ str_Sub_String(str *buf, size_t *buflen,
 }
 
 static str
-STRSubString(str *res, const str *arg1, const int *offset, const int *length)
+STRSubString(str *res, const char *const *arg1, const int *offset, const int 
*length)
 {
str buf = NULL, msg = MAL_SUCCEED;
const char *s = *arg1;
@@ -3698,7 +3698,7 @@ str_wchr_at(int *res, const char *s, int
 }
 
 static str
-STRWChrAt(int *res, const str *arg1, const int *at)
+STRWChrAt(int *res, const char *const *arg1, const int *at)
 {
return str_wchr_at(res, *arg1, *at);
 }
@@ -3711,7 +3711,7 @@ str_lower(str *buf, size_t *buflen, cons
 }
 
 static inline str
-STRlower(str *res, const str *arg1)
+STRlower(str *res, const char *const *arg1)
 {
str buf = NULL, msg = MAL_SUCCEED;
const char *s = *arg1;
@@ -3752,7 +3752,7 @@ str_upper(str *buf, size_t *buflen, cons
 }
 
 static str
-STRupper(str *res, const str *arg1)
+STRupper(str *res, const char *const *arg1)
 {
str buf = NULL, msg = MAL_SUCCEED;
const char *s = *arg1;
@@ -3948,10 +3948,11 @@ STRstr_search(Client cntxt, MalBlkPtr mb
(void) cntxt;
(void) mb;
bit *res = getArgReference(stk, pci, 0);
-   const str *haystack = getArgReference(stk, pci, 1),
-   *needle = getArgReference(stk, pci, 2);
+   const char *const *haystack = getArgReference(stk, pci, 1);
+   const char *const *needle = getArgReference(stk, pci, 2);
bit icase = pci->argc == 4 && *getArgReference_bit(stk, pci, 3);
-   str s = *haystack, h = *needle, msg = MAL_SUCCEED;
+   const char *s = *haystack, *h = *needle;
+   char *msg = MAL_SUCCEED;
if (strNil(s) || strNil(h)) {
*res = bit_nil;
} else {
@@ -4009,10 +4010,11 @@ STRrevstr_search(Client cntxt, MalBlkPtr
(void) cntxt;
(void) mb;
bit *res = getArgReference(stk, pci, 0);
-   const str *haystack = getArgReference(stk, pci, 1);
-   const str *needle = getArgReference(stk, pci, 2);
+   const char *const *haystack = getArgReference(stk, pci, 1);
+   const char *const *needle = getArgReference(stk, pci, 2);
bit icase = pci->argc == 4 && *getArgReference_bit(stk, pci, 3);
-   str s = *haystack, h = *needle, msg = MAL_SUCCEED;
+   const char *s = *haystack, *h = *needle;
+   char *msg = MAL_SUCCEED;
if (strNil(s) || strNil(h)) {
*res = bit_nil;
} else {
@@ -4181,7 +4183,7 @@ 

MonetDB: default - Merge with Dec2023 branch, not changing any f...

2024-05-02 Thread Sjoerd Mullender via checkin-list
Changeset: b7be7e896f89 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/b7be7e896f89
Modified Files:
.bumpversion.cfg
MonetDB.spec
clients/mapilib/mapi.rc
clients/odbc/driver/driver.rc
clients/odbc/winsetup/setup.rc
cmake/monetdb-versions.cmake
gdk/libbat.rc
monetdb5/tools/libmonetdb5.rc
Branch: default
Log Message:

Merge with Dec2023 branch, not changing any files..

___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: Dec2023 - Post release build.

2024-05-02 Thread Sjoerd Mullender via checkin-list
Changeset: ca4151f9f2b5 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/ca4151f9f2b5
Modified Files:
.bumpversion.cfg
MonetDB.spec
clients/mapilib/mapi.rc
clients/odbc/driver/driver.rc
clients/odbc/winsetup/setup.rc
cmake/monetdb-versions.cmake
gdk/libbat.rc
monetdb5/tools/libmonetdb5.rc
Branch: Dec2023
Log Message:

Post release build.


diffs (191 lines):

diff --git a/.bumpversion.cfg b/.bumpversion.cfg
--- a/.bumpversion.cfg
+++ b/.bumpversion.cfg
@@ -1,5 +1,5 @@
 [bumpversion]
-current_version = 11.49.9
+current_version = 11.49.10
 commit = False
 tag = False
 
diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -9,7 +9,7 @@
 # Copyright 1997 - July 2008 CWI.
 
 %global name MonetDB
-%global version 11.49.9
+%global version 11.49.10
 %{!?buildno: %global buildno %(date +%Y%m%d)}
 
 # Use bcond_with to add a --with option; i.e., "without" is default.
diff --git a/clients/mapilib/mapi.rc b/clients/mapilib/mapi.rc
--- a/clients/mapilib/mapi.rc
+++ b/clients/mapilib/mapi.rc
@@ -6,8 +6,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_U
 #define sversion(major,minor,patch)#major "." #minor "." #patch "\0"
 
 1 VERSIONINFO
-  FILEVERSION version(11,49,9)
-  PRODUCTVERSION version(11,49,9)
+  FILEVERSION version(11,49,10)
+  PRODUCTVERSION version(11,49,10)
   FILEFLAGSMASK 0x3fL
   FILEFLAGS 0
   FILEOS VOS_NT_WINDOWS32
@@ -21,14 +21,14 @@ BEGIN
   VALUE "Comments", "\0"
   VALUE "CompanyName", "MonetDB Foundation\0"
   VALUE "FileDescription", "MonetDB Application Interface DLL\0"
-  VALUE "FileVersion", sversion(11,49,9)
+  VALUE "FileVersion", sversion(11,49,10)
   VALUE "InternalName", "Mapi\0"
   VALUE "LegalCopyright", "Copyright (c) 2024 MonetDB Foundation\0"
   VALUE "LegalTrademarks", "\0"
   VALUE "OriginalFilename", "Mapi.dll\0"
   VALUE "PrivateBuild", "\0"
   VALUE "ProductName", "MonetDB Client Libraries\0"
-  VALUE "ProductVersion", sversion(11,49,9)
+  VALUE "ProductVersion", sversion(11,49,10)
   VALUE "SpecialBuild", "\0"
 END
   END
diff --git a/clients/odbc/driver/driver.rc b/clients/odbc/driver/driver.rc
--- a/clients/odbc/driver/driver.rc
+++ b/clients/odbc/driver/driver.rc
@@ -6,8 +6,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_U
 #define sversion(major,minor,patch)#major "." #minor "." #patch "\0"
 
 1 VERSIONINFO
-  FILEVERSION version(11,49,9)
-  PRODUCTVERSION version(11,49,9)
+  FILEVERSION version(11,49,10)
+  PRODUCTVERSION version(11,49,10)
   FILEFLAGSMASK 0x3fL
   FILEFLAGS 0
   FILEOS VOS_NT_WINDOWS32
@@ -21,14 +21,14 @@ BEGIN
   VALUE "Comments", "\0"
   VALUE "CompanyName", "MonetDB Foundation\0"
   VALUE "FileDescription", "MonetDB ODBC Driver DLL\0"
-  VALUE "FileVersion", sversion(11,49,9)
+  VALUE "FileVersion", sversion(11,49,10)
   VALUE "InternalName", "MonetODBC\0"
   VALUE "LegalCopyright", "Copyright (c) 2024 MonetDB Foundation\0"
   VALUE "LegalTrademarks", "\0"
   VALUE "OriginalFilename", "MonetODBC.dll\0"
   VALUE "PrivateBuild", "\0"
   VALUE "ProductName", "MonetDB SQL Server\0"
-  VALUE "ProductVersion", sversion(11,49,9)
+  VALUE "ProductVersion", sversion(11,49,10)
   VALUE "SpecialBuild", "\0"
 END
   END
diff --git a/clients/odbc/winsetup/setup.rc b/clients/odbc/winsetup/setup.rc
--- a/clients/odbc/winsetup/setup.rc
+++ b/clients/odbc/winsetup/setup.rc
@@ -65,8 +65,8 @@ END
 //
 
 VS_VERSION_INFO VERSIONINFO
- FILEVERSION version(11,49,9)
- PRODUCTVERSION version(11,49,9)
+ FILEVERSION version(11,49,10)
+ PRODUCTVERSION version(11,49,10)
  FILEFLAGSMASK 0x3fL
 #ifdef _DEBUG
  FILEFLAGS 0x1L
@@ -83,12 +83,12 @@ BEGIN
 BEGIN
 VALUE "CompanyName", "MonetDB Foundation"
 VALUE "FileDescription", "MonetDB ODBC Setup DLL"
-VALUE "FileVersion", sversion(11,49,9)
+VALUE "FileVersion", sversion(11,49,10)
 VALUE "InternalName", "MonetODBCs.dll"
 VALUE "LegalCopyright", "Copyright (c) 2024 MonetDB Foundation"
 VALUE "OriginalFilename", "MonetODBCs.dll"
 VALUE "ProductName", "MonetDB SQL Server"
-VALUE "ProductVersion", sversion(11,49,9)
+VALUE "ProductVersion", sversion(11,49,10)
 END
 END
 BLOCK "VarFileInfo"
diff --git a/cmake/monetdb-versions.cmake b/cmake/monetdb-versions.cmake
--- a/cmake/monetdb-versions.cmake
+++ b/cmake/monetdb-versions.cmake
@@ -12,10 +12,10 @@
 
 set(MONETDB_VERSION_MAJOR "11")
 set(MONETDB_VERSION_MINOR "49")
-set(MONETDB_VERSION_PATCH "9")
+set(MONETDB_VERSION_PATCH "10")
 
 if(RELEASE_VERSION)
-  set(MONETDB_RELEASE "Dec2023-SP3")
+  set(MONETDB_RELEASE "unreleased")
 endif()
 set(MONETDB_VERSION 
"${MONETDB_VERSION_MAJOR}.${MONETDB_VERSION_MINOR}.${MONETDB_VERSION_PATCH}")
 
diff --git a/gdk/libbat.rc b/gdk/libbat.rc
--- a/gdk/libbat.rc
+++ b/gdk/libbat.rc
@@ -6,8 +6,8 @@ 

MonetDB: default - Merge with Dec2023 branch.

2024-05-02 Thread Sjoerd Mullender via checkin-list
Changeset: d1bececfe979 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/d1bececfe979
Modified Files:
MonetDB.spec
cmake/monetdb-versions.cmake
Branch: default
Log Message:

Merge with Dec2023 branch.


diffs (163 lines):

diff --git a/.hgtags b/.hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -825,3 +825,4 @@ dcc8c702e685a4faf21ccf663028d1bc3d1165d1
 dcc8c702e685a4faf21ccf663028d1bc3d1165d1 Dec2023_SP1_release
 d656785f49ee62c19705722aa6b7c171904c64d5 Dec2023_7
 d656785f49ee62c19705722aa6b7c171904c64d5 Dec2023_SP2_release
+9a694c41042503a22d6c92aeab5bc4ca1912b62e Dec2023_9
diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -91,7 +91,7 @@ Group: Applications/Databases
 License: MPL-2.0
 URL: https://www.monetdb.org/
 BugURL: https://github.com/MonetDB/MonetDB/issues
-Source: 
https://www.monetdb.org/downloads/sources/Dec2023-SP2/%{name}-%{version}.tar.bz2
+Source: 
https://www.monetdb.org/downloads/sources/Dec2023-SP3/%{name}-%{version}.tar.bz2
 
 # The Fedora packaging document says we need systemd-rpm-macros for
 # the _unitdir and _tmpfilesdir macros to exist; however on RHEL 7
@@ -916,6 +916,25 @@ fi
 %endif
 
 %changelog
+* Thu May 02 2024 Sjoerd Mullender  - 11.49.9-20240502
+- Rebuilt.
+- GH#7422: Aggregate functions with variadic arguments
+- GH#7472: MonetDB server crashes in `tail_type`
+- GH#7473: MonetDB server crashes in `SQLunionfunc`
+- GH#7478: MonetDB server crashes in `exp_equal`
+- GH#7496: Query on view fails to produce a resultset. Assertion triggered
+  in rel2bin_select.
+- GH#7499: create schema + set schema inside a transaction that is rolled
+  back causes the connection to be aborted
+- GH#7501: files remain in backup causing problems at restart
+- GH#7503: MonetDB server crashes using `WHEN MATCHED THEN UPDATE`
+- GH#7504: possible deadlock when a bat is made persistent when it is also
+  getting unloaded
+- GH#7506: MonetDB Dec2023-SP2 crashes at `rel_value_exp2`
+- GH#7507: BBPextend: ERROR: trying to extend BAT pool beyond the limit
+  (16384)
+- GH#7508: MonetDB Dec2023-SP2 crashes at `exp_ref`
+
 * Tue Apr 09 2024 Sjoerd Mullender  - 11.49.7-20240409
 - Rebuilt.
 - GH#7469: Crash when using `CONTAINS`
diff --git a/cmake/monetdb-versions.cmake b/cmake/monetdb-versions.cmake
--- a/cmake/monetdb-versions.cmake
+++ b/cmake/monetdb-versions.cmake
@@ -44,19 +44,19 @@ set(MONETDB_VERSION "${MONETDB_VERSION_M
 # common/options and common/utils)
 set(GDK_VERSION_MAJOR "28")
 set(GDK_VERSION_MINOR "1")
-set(GDK_VERSION_PATCH "2")
+set(GDK_VERSION_PATCH "3")
 set(GDK_VERSION 
"${GDK_VERSION_MAJOR}.${GDK_VERSION_MINOR}.${GDK_VERSION_PATCH}")
 
 # version of the MAPI library (subdirectory clients/mapilib)
 set(MAPI_VERSION_MAJOR "26")
 set(MAPI_VERSION_MINOR "2")
-set(MAPI_VERSION_PATCH "1")
+set(MAPI_VERSION_PATCH "2")
 set(MAPI_VERSION 
"${MAPI_VERSION_MAJOR}.${MAPI_VERSION_MINOR}.${MAPI_VERSION_PATCH}")
 
 # version of the MONETDB5 library (subdirectory monetdb5, not including extras 
or sql)
 set(MONETDB5_VERSION_MAJOR "35")
 set(MONETDB5_VERSION_MINOR "0")
-set(MONETDB5_VERSION_PATCH "3")
+set(MONETDB5_VERSION_PATCH "4")
 set(MONETDB5_VERSION 
"${MONETDB5_VERSION_MAJOR}.${MONETDB5_VERSION_MINOR}.${MONETDB5_VERSION_PATCH}")
 
 # version of the MONETDBE library (subdirectory tools/monetdbe)
@@ -74,5 +74,5 @@ set(STREAM_VERSION "${STREAM_VERSION_MAJ
 # version of the SQL library (subdirectory sql)
 set(SQL_VERSION_MAJOR "14")
 set(SQL_VERSION_MINOR "1")
-set(SQL_VERSION_PATCH "3")
+set(SQL_VERSION_PATCH "4")
 set(SQL_VERSION 
"${SQL_VERSION_MAJOR}.${SQL_VERSION_MINOR}.${SQL_VERSION_PATCH}")
diff --git a/debian/changelog b/debian/changelog
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,25 @@
+monetdb (11.49.9) unstable; urgency=low
+
+  * Rebuilt.
+  * GH#7422: Aggregate functions with variadic arguments
+  * GH#7472: MonetDB server crashes in `tail_type`
+  * GH#7473: MonetDB server crashes in `SQLunionfunc`
+  * GH#7478: MonetDB server crashes in `exp_equal`
+  * GH#7496: Query on view fails to produce a resultset. Assertion triggered
+in rel2bin_select.
+  * GH#7499: create schema + set schema inside a transaction that is rolled
+back causes the connection to be aborted
+  * GH#7501: files remain in backup causing problems at restart
+  * GH#7503: MonetDB server crashes using `WHEN MATCHED THEN UPDATE`
+  * GH#7504: possible deadlock when a bat is made persistent when it is also
+getting unloaded
+  * GH#7506: MonetDB Dec2023-SP2 crashes at `rel_value_exp2`
+  * GH#7507: BBPextend: ERROR: trying to extend BAT pool beyond the limit
+(16384)
+  * GH#7508: MonetDB Dec2023-SP2 crashes at `exp_ref`
+
+ -- Sjoerd Mullender   Thu, 02 May 2024 12:35:52 +0200
+
 monetdb (11.49.7) unstable; urgency=low
 

MonetDB: Dec2023 - Setting tag Dec2023_9 for the release build.

2024-05-02 Thread Sjoerd Mullender via checkin-list
Changeset: 54bb3db4f9df for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/54bb3db4f9df
Modified Files:
.hgtags
Branch: Dec2023
Log Message:

Setting tag Dec2023_9 for the release build.


diffs (8 lines):

diff --git a/.hgtags b/.hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -825,3 +825,4 @@ dcc8c702e685a4faf21ccf663028d1bc3d1165d1
 dcc8c702e685a4faf21ccf663028d1bc3d1165d1 Dec2023_SP1_release
 d656785f49ee62c19705722aa6b7c171904c64d5 Dec2023_7
 d656785f49ee62c19705722aa6b7c171904c64d5 Dec2023_SP2_release
+9a694c41042503a22d6c92aeab5bc4ca1912b62e Dec2023_9
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: Dec2023 - Moved contents of ChangeLog.Dec2023 to MonetD...

2024-05-02 Thread Sjoerd Mullender via checkin-list
Changeset: 9a694c410425 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/9a694c410425
Modified Files:
MonetDB.spec
debian/changelog
misc/packages/deb/changelog
misc/packages/rpm/changelog
Branch: Dec2023
Log Message:

Moved contents of ChangeLog.Dec2023 to MonetDB.spec, debian/changelog and 
ChangeLog-Archive.


diffs (122 lines):

diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -91,7 +91,7 @@ Group: Applications/Databases
 License: MPL-2.0
 URL: https://www.monetdb.org/
 BugURL: https://github.com/MonetDB/MonetDB/issues
-Source: 
https://www.monetdb.org/downloads/sources/Dec2023-SP2/%{name}-%{version}.tar.bz2
+Source: 
https://www.monetdb.org/downloads/sources/Dec2023-SP3/%{name}-%{version}.tar.bz2
 
 # The Fedora packaging document says we need systemd-rpm-macros for
 # the _unitdir and _tmpfilesdir macros to exist; however on RHEL 7
@@ -917,6 +917,25 @@ fi
 %endif
 
 %changelog
+* Thu May 02 2024 Sjoerd Mullender  - 11.49.9-20240502
+- Rebuilt.
+- GH#7422: Aggregate functions with variadic arguments
+- GH#7472: MonetDB server crashes in `tail_type`
+- GH#7473: MonetDB server crashes in `SQLunionfunc`
+- GH#7478: MonetDB server crashes in `exp_equal`
+- GH#7496: Query on view fails to produce a resultset. Assertion triggered
+  in rel2bin_select.
+- GH#7499: create schema + set schema inside a transaction that is rolled
+  back causes the connection to be aborted
+- GH#7501: files remain in backup causing problems at restart
+- GH#7503: MonetDB server crashes using `WHEN MATCHED THEN UPDATE`
+- GH#7504: possible deadlock when a bat is made persistent when it is also
+  getting unloaded
+- GH#7506: MonetDB Dec2023-SP2 crashes at `rel_value_exp2`
+- GH#7507: BBPextend: ERROR: trying to extend BAT pool beyond the limit
+  (16384)
+- GH#7508: MonetDB Dec2023-SP2 crashes at `exp_ref`
+
 * Tue Apr 09 2024 Sjoerd Mullender  - 11.49.7-20240409
 - Rebuilt.
 - GH#7469: Crash when using `CONTAINS`
diff --git a/debian/changelog b/debian/changelog
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,25 @@
+monetdb (11.49.9) unstable; urgency=low
+
+  * Rebuilt.
+  * GH#7422: Aggregate functions with variadic arguments
+  * GH#7472: MonetDB server crashes in `tail_type`
+  * GH#7473: MonetDB server crashes in `SQLunionfunc`
+  * GH#7478: MonetDB server crashes in `exp_equal`
+  * GH#7496: Query on view fails to produce a resultset. Assertion triggered
+in rel2bin_select.
+  * GH#7499: create schema + set schema inside a transaction that is rolled
+back causes the connection to be aborted
+  * GH#7501: files remain in backup causing problems at restart
+  * GH#7503: MonetDB server crashes using `WHEN MATCHED THEN UPDATE`
+  * GH#7504: possible deadlock when a bat is made persistent when it is also
+getting unloaded
+  * GH#7506: MonetDB Dec2023-SP2 crashes at `rel_value_exp2`
+  * GH#7507: BBPextend: ERROR: trying to extend BAT pool beyond the limit
+(16384)
+  * GH#7508: MonetDB Dec2023-SP2 crashes at `exp_ref`
+
+ -- Sjoerd Mullender   Thu, 02 May 2024 12:35:52 +0200
+
 monetdb (11.49.7) unstable; urgency=low
 
   * Rebuilt.
diff --git a/misc/packages/deb/changelog b/misc/packages/deb/changelog
--- a/misc/packages/deb/changelog
+++ b/misc/packages/deb/changelog
@@ -1,3 +1,25 @@
+monetdb (11.49.9) unstable; urgency=low
+
+  * Rebuilt.
+  * GH#7422: Aggregate functions with variadic arguments
+  * GH#7472: MonetDB server crashes in `tail_type`
+  * GH#7473: MonetDB server crashes in `SQLunionfunc`
+  * GH#7478: MonetDB server crashes in `exp_equal`
+  * GH#7496: Query on view fails to produce a resultset. Assertion triggered
+in rel2bin_select.
+  * GH#7499: create schema + set schema inside a transaction that is rolled
+back causes the connection to be aborted
+  * GH#7501: files remain in backup causing problems at restart
+  * GH#7503: MonetDB server crashes using `WHEN MATCHED THEN UPDATE`
+  * GH#7504: possible deadlock when a bat is made persistent when it is also
+getting unloaded
+  * GH#7506: MonetDB Dec2023-SP2 crashes at `rel_value_exp2`
+  * GH#7507: BBPextend: ERROR: trying to extend BAT pool beyond the limit
+(16384)
+  * GH#7508: MonetDB Dec2023-SP2 crashes at `exp_ref`
+
+ -- Sjoerd Mullender   Thu, 02 May 2024 12:35:52 +0200
+
 monetdb (11.49.7) unstable; urgency=low
 
   * Rebuilt.
diff --git a/misc/packages/rpm/changelog b/misc/packages/rpm/changelog
--- a/misc/packages/rpm/changelog
+++ b/misc/packages/rpm/changelog
@@ -1,3 +1,22 @@
+* Thu May 02 2024 Sjoerd Mullender  - 11.49.9-20240502
+- Rebuilt.
+- GH#7422: Aggregate functions with variadic arguments
+- GH#7472: MonetDB server crashes in `tail_type`
+- GH#7473: MonetDB server crashes in `SQLunionfunc`
+- GH#7478: MonetDB server crashes in `exp_equal`
+- GH#7496: Query on view fails to produce a resultset. Assertion triggered
+  in rel2bin_select.
+- GH#7499: create schema + set schema inside a transaction that is rolled

MonetDB: Dec2023 - Updated library versions.

2024-05-02 Thread Sjoerd Mullender via checkin-list
Changeset: 874ec6166517 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/874ec6166517
Modified Files:
cmake/monetdb-versions.cmake
Branch: Dec2023
Log Message:

Updated library versions.


diffs (33 lines):

diff --git a/cmake/monetdb-versions.cmake b/cmake/monetdb-versions.cmake
--- a/cmake/monetdb-versions.cmake
+++ b/cmake/monetdb-versions.cmake
@@ -44,19 +44,19 @@ set(MONETDB_VERSION "${MONETDB_VERSION_M
 # common/options and common/utils)
 set(GDK_VERSION_MAJOR "28")
 set(GDK_VERSION_MINOR "1")
-set(GDK_VERSION_PATCH "2")
+set(GDK_VERSION_PATCH "3")
 set(GDK_VERSION 
"${GDK_VERSION_MAJOR}.${GDK_VERSION_MINOR}.${GDK_VERSION_PATCH}")
 
 # version of the MAPI library (subdirectory clients/mapilib)
 set(MAPI_VERSION_MAJOR "26")
 set(MAPI_VERSION_MINOR "2")
-set(MAPI_VERSION_PATCH "1")
+set(MAPI_VERSION_PATCH "2")
 set(MAPI_VERSION 
"${MAPI_VERSION_MAJOR}.${MAPI_VERSION_MINOR}.${MAPI_VERSION_PATCH}")
 
 # version of the MONETDB5 library (subdirectory monetdb5, not including extras 
or sql)
 set(MONETDB5_VERSION_MAJOR "35")
 set(MONETDB5_VERSION_MINOR "0")
-set(MONETDB5_VERSION_PATCH "3")
+set(MONETDB5_VERSION_PATCH "4")
 set(MONETDB5_VERSION 
"${MONETDB5_VERSION_MAJOR}.${MONETDB5_VERSION_MINOR}.${MONETDB5_VERSION_PATCH}")
 
 # version of the MONETDBE library (subdirectory tools/monetdbe)
@@ -74,5 +74,5 @@ set(STREAM_VERSION "${STREAM_VERSION_MAJ
 # version of the SQL library (subdirectory sql)
 set(SQL_VERSION_MAJOR "14")
 set(SQL_VERSION_MINOR "1")
-set(SQL_VERSION_PATCH "3")
+set(SQL_VERSION_PATCH "4")
 set(SQL_VERSION 
"${SQL_VERSION_MAJOR}.${SQL_VERSION_MINOR}.${SQL_VERSION_PATCH}")
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: default - Merge with Dec2023 branch, not changing any f...

2024-05-02 Thread Sjoerd Mullender via checkin-list
Changeset: d688acbf8e0a for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/d688acbf8e0a
Modified Files:
.bumpversion.cfg
MonetDB.spec
clients/mapilib/mapi.rc
clients/odbc/driver/driver.rc
clients/odbc/winsetup/setup.rc
cmake/monetdb-versions.cmake
gdk/libbat.rc
monetdb5/tools/libmonetdb5.rc
Branch: default
Log Message:

Merge with Dec2023 branch, not changing any files.

___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: Dec2023 - Pre-release version number update.

2024-05-02 Thread Sjoerd Mullender via checkin-list
Changeset: d6ca61403026 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/d6ca61403026
Modified Files:
.bumpversion.cfg
MonetDB.spec
clients/mapilib/mapi.rc
clients/odbc/driver/driver.rc
clients/odbc/winsetup/setup.rc
cmake/monetdb-versions.cmake
gdk/libbat.rc
monetdb5/tools/libmonetdb5.rc
Branch: Dec2023
Log Message:

Pre-release version number update.


diffs (191 lines):

diff --git a/.bumpversion.cfg b/.bumpversion.cfg
--- a/.bumpversion.cfg
+++ b/.bumpversion.cfg
@@ -1,5 +1,5 @@
 [bumpversion]
-current_version = 11.49.8
+current_version = 11.49.9
 commit = False
 tag = False
 
diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -9,7 +9,7 @@
 # Copyright 1997 - July 2008 CWI.
 
 %global name MonetDB
-%global version 11.49.8
+%global version 11.49.9
 %{!?buildno: %global buildno %(date +%Y%m%d)}
 
 # Use bcond_with to add a --with option; i.e., "without" is default.
diff --git a/clients/mapilib/mapi.rc b/clients/mapilib/mapi.rc
--- a/clients/mapilib/mapi.rc
+++ b/clients/mapilib/mapi.rc
@@ -6,8 +6,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_U
 #define sversion(major,minor,patch)#major "." #minor "." #patch "\0"
 
 1 VERSIONINFO
-  FILEVERSION version(11,49,8)
-  PRODUCTVERSION version(11,49,8)
+  FILEVERSION version(11,49,9)
+  PRODUCTVERSION version(11,49,9)
   FILEFLAGSMASK 0x3fL
   FILEFLAGS 0
   FILEOS VOS_NT_WINDOWS32
@@ -21,14 +21,14 @@ BEGIN
   VALUE "Comments", "\0"
   VALUE "CompanyName", "MonetDB Foundation\0"
   VALUE "FileDescription", "MonetDB Application Interface DLL\0"
-  VALUE "FileVersion", sversion(11,49,8)
+  VALUE "FileVersion", sversion(11,49,9)
   VALUE "InternalName", "Mapi\0"
   VALUE "LegalCopyright", "Copyright (c) 2024 MonetDB Foundation\0"
   VALUE "LegalTrademarks", "\0"
   VALUE "OriginalFilename", "Mapi.dll\0"
   VALUE "PrivateBuild", "\0"
   VALUE "ProductName", "MonetDB Client Libraries\0"
-  VALUE "ProductVersion", sversion(11,49,8)
+  VALUE "ProductVersion", sversion(11,49,9)
   VALUE "SpecialBuild", "\0"
 END
   END
diff --git a/clients/odbc/driver/driver.rc b/clients/odbc/driver/driver.rc
--- a/clients/odbc/driver/driver.rc
+++ b/clients/odbc/driver/driver.rc
@@ -6,8 +6,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_U
 #define sversion(major,minor,patch)#major "." #minor "." #patch "\0"
 
 1 VERSIONINFO
-  FILEVERSION version(11,49,8)
-  PRODUCTVERSION version(11,49,8)
+  FILEVERSION version(11,49,9)
+  PRODUCTVERSION version(11,49,9)
   FILEFLAGSMASK 0x3fL
   FILEFLAGS 0
   FILEOS VOS_NT_WINDOWS32
@@ -21,14 +21,14 @@ BEGIN
   VALUE "Comments", "\0"
   VALUE "CompanyName", "MonetDB Foundation\0"
   VALUE "FileDescription", "MonetDB ODBC Driver DLL\0"
-  VALUE "FileVersion", sversion(11,49,8)
+  VALUE "FileVersion", sversion(11,49,9)
   VALUE "InternalName", "MonetODBC\0"
   VALUE "LegalCopyright", "Copyright (c) 2024 MonetDB Foundation\0"
   VALUE "LegalTrademarks", "\0"
   VALUE "OriginalFilename", "MonetODBC.dll\0"
   VALUE "PrivateBuild", "\0"
   VALUE "ProductName", "MonetDB SQL Server\0"
-  VALUE "ProductVersion", sversion(11,49,8)
+  VALUE "ProductVersion", sversion(11,49,9)
   VALUE "SpecialBuild", "\0"
 END
   END
diff --git a/clients/odbc/winsetup/setup.rc b/clients/odbc/winsetup/setup.rc
--- a/clients/odbc/winsetup/setup.rc
+++ b/clients/odbc/winsetup/setup.rc
@@ -65,8 +65,8 @@ END
 //
 
 VS_VERSION_INFO VERSIONINFO
- FILEVERSION version(11,49,8)
- PRODUCTVERSION version(11,49,8)
+ FILEVERSION version(11,49,9)
+ PRODUCTVERSION version(11,49,9)
  FILEFLAGSMASK 0x3fL
 #ifdef _DEBUG
  FILEFLAGS 0x1L
@@ -83,12 +83,12 @@ BEGIN
 BEGIN
 VALUE "CompanyName", "MonetDB Foundation"
 VALUE "FileDescription", "MonetDB ODBC Setup DLL"
-VALUE "FileVersion", sversion(11,49,8)
+VALUE "FileVersion", sversion(11,49,9)
 VALUE "InternalName", "MonetODBCs.dll"
 VALUE "LegalCopyright", "Copyright (c) 2024 MonetDB Foundation"
 VALUE "OriginalFilename", "MonetODBCs.dll"
 VALUE "ProductName", "MonetDB SQL Server"
-VALUE "ProductVersion", sversion(11,49,8)
+VALUE "ProductVersion", sversion(11,49,9)
 END
 END
 BLOCK "VarFileInfo"
diff --git a/cmake/monetdb-versions.cmake b/cmake/monetdb-versions.cmake
--- a/cmake/monetdb-versions.cmake
+++ b/cmake/monetdb-versions.cmake
@@ -12,10 +12,10 @@
 
 set(MONETDB_VERSION_MAJOR "11")
 set(MONETDB_VERSION_MINOR "49")
-set(MONETDB_VERSION_PATCH "8")
+set(MONETDB_VERSION_PATCH "9")
 
 if(RELEASE_VERSION)
-  set(MONETDB_RELEASE "unreleased")
+  set(MONETDB_RELEASE "Dec2023-SP3")
 endif()
 set(MONETDB_VERSION 
"${MONETDB_VERSION_MAJOR}.${MONETDB_VERSION_MINOR}.${MONETDB_VERSION_PATCH}")
 
diff --git a/gdk/libbat.rc b/gdk/libbat.rc
--- a/gdk/libbat.rc
+++ b/gdk/libbat.rc
@@ -6,8 +6,8 @@ 

MonetDB: default - Merge with Dec2023 branch.

2024-05-02 Thread Sjoerd Mullender via checkin-list
Changeset: 90d39ff168f9 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/90d39ff168f9
Modified Files:
sql/server/rel_optimize_proj.c
sql/server/rel_select.c
Branch: default
Log Message:

Merge with Dec2023 branch.


diffs (34 lines):

diff --git a/sql/server/rel_optimize_proj.c b/sql/server/rel_optimize_proj.c
--- a/sql/server/rel_optimize_proj.c
+++ b/sql/server/rel_optimize_proj.c
@@ -1781,6 +1781,8 @@ rel_groupby_cse(visitor *v, sql_rel *rel
sql_exp *e1_in_exps = (e1->l && 
e1->alias.rname == e1->l && e1->alias.name == e1->r) ?
exps_bind_column2(rel->exps, 
e1->l, e1->r, NULL) :
exps_bind_column(rel->exps, 
e1->alias.name, NULL, NULL, 0);
+   if (!e1_in_exps)
+   continue;
assert(e1_in_exps);
 
/* write e2 as an e1 alias since the 
expressions are the same */
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
@@ -3299,6 +3299,8 @@ rel_nop(sql_query *query, sql_rel **rel,
if (!sname && strcmp(fname, "field") == 0) { /* map into join */
if (err)
return NULL;
+   if (list_length(exps) < 2)
+   return sql_error(sql, 02, SQLSTATE(42000) "Field 
function called with not enough arguments");
sql_exp *le = exps->h->data;
set_freevar(le, 1);
list_remove_data(exps, NULL, le);
diff --git a/sql/test/BugTracker-2024/Tests/field-arg-error-Bug-7506.test 
b/sql/test/BugTracker-2024/Tests/field-arg-error-Bug-7506.test
--- a/sql/test/BugTracker-2024/Tests/field-arg-error-Bug-7506.test
+++ b/sql/test/BugTracker-2024/Tests/field-arg-error-Bug-7506.test
@@ -1,2 +1,5 @@
-statement error
+statement error 42000!SELECT: identifier 'x' unknown
 SELECT FIELD(x, '', '', '', '', '', '', '', '', '', '', '', '', '')
+
+statement error 42000!Field function called with not enough arguments
+SELECT 
FIELD('fieldID999')
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: Dec2023 - Field function needs at least 2 arguments, fi...

2024-05-02 Thread Niels Nes via checkin-list
Changeset: bceaa8a1561d for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/bceaa8a1561d
Modified Files:
sql/server/rel_optimize_proj.c
sql/server/rel_select.c
sql/test/BugTracker-2024/Tests/field-arg-error-Bug-7506.test
Branch: Dec2023
Log Message:

Field function needs at least 2 arguments, fixes #7508


diffs (34 lines):

diff --git a/sql/server/rel_optimize_proj.c b/sql/server/rel_optimize_proj.c
--- a/sql/server/rel_optimize_proj.c
+++ b/sql/server/rel_optimize_proj.c
@@ -1781,6 +1781,8 @@ rel_groupby_cse(visitor *v, sql_rel *rel
sql_exp *e1_in_exps = (e1->l && 
e1->alias.rname == e1->l && e1->alias.name == e1->r) ?
exps_bind_column2(rel->exps, 
e1->l, e1->r, NULL) :
exps_bind_column(rel->exps, 
e1->alias.name, NULL, NULL, 0);
+   if (!e1_in_exps)
+   continue;
assert(e1_in_exps);
 
/* write e2 as an e1 alias since the 
expressions are the same */
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
@@ -3536,6 +3536,8 @@ rel_nop(sql_query *query, sql_rel **rel,
if (!sname && strcmp(fname, "field") == 0) { /* map into join */
if (err)
return NULL;
+   if (list_length(exps) < 2)
+   return sql_error(sql, 02, SQLSTATE(42000) "Field 
function called with not enough arguments");
sql_exp *le = exps->h->data;
set_freevar(le, 1);
list_remove_data(exps, NULL, le);
diff --git a/sql/test/BugTracker-2024/Tests/field-arg-error-Bug-7506.test 
b/sql/test/BugTracker-2024/Tests/field-arg-error-Bug-7506.test
--- a/sql/test/BugTracker-2024/Tests/field-arg-error-Bug-7506.test
+++ b/sql/test/BugTracker-2024/Tests/field-arg-error-Bug-7506.test
@@ -1,2 +1,5 @@
-statement error
+statement error 42000!SELECT: identifier 'x' unknown
 SELECT FIELD(x, '', '', '', '', '', '', '', '', '', '', '', '', '')
+
+statement error 42000!Field function called with not enough arguments
+SELECT 
FIELD('fieldID999')
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org