MonetDB: resource_management - create new branch for resource_ma...

2024-04-15 Thread Niels Nes via checkin-list
Changeset: af12610859ae for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/af12610859ae
Modified Files:
clients/Tests/exports.stable.out
gdk/gdk.h
gdk/gdk_aggr.c
gdk/gdk_bat.c
gdk/gdk_batop.c
gdk/gdk_calc_convert.c
gdk/gdk_string.c
gdk/gdk_utils.c
gdk/gdk_value.c
monetdb5/extras/rapi/rapi.c
monetdb5/mal/mal.h
monetdb5/mal/mal_builder.c
monetdb5/mal/mal_client.c
monetdb5/mal/mal_client.h
monetdb5/mal/mal_function.c
monetdb5/mal/mal_instruction.c
monetdb5/mal/mal_instruction.h
monetdb5/mal/mal_interpreter.c
monetdb5/mal/mal_parser.c
monetdb5/mal/mal_profiler.c
monetdb5/mal/mal_session.c
monetdb5/mal/mal_stack.c
monetdb5/modules/mal/calc.c
monetdb5/modules/mal/iterator.c
monetdb5/modules/mal/mal_mapi.c
monetdb5/modules/mal/manifold.c
monetdb5/modules/mal/remote.c
monetdb5/optimizer/opt_aliases.c
monetdb5/optimizer/opt_coercion.c
monetdb5/optimizer/opt_commonTerms.c
monetdb5/optimizer/opt_constants.c
monetdb5/optimizer/opt_costModel.c
monetdb5/optimizer/opt_dataflow.c
monetdb5/optimizer/opt_deadcode.c
monetdb5/optimizer/opt_dict.c
monetdb5/optimizer/opt_emptybind.c
monetdb5/optimizer/opt_evaluate.c
monetdb5/optimizer/opt_for.c
monetdb5/optimizer/opt_garbageCollector.c
monetdb5/optimizer/opt_generator.c
monetdb5/optimizer/opt_inline.c
monetdb5/optimizer/opt_inline.h
monetdb5/optimizer/opt_matpack.c
monetdb5/optimizer/opt_mergetable.c
monetdb5/optimizer/opt_mitosis.c
monetdb5/optimizer/opt_multiplex.c
monetdb5/optimizer/opt_prelude.c
monetdb5/optimizer/opt_prelude.h
monetdb5/optimizer/opt_profiler.c
monetdb5/optimizer/opt_projectionpath.c
monetdb5/optimizer/opt_pushselect.c
monetdb5/optimizer/opt_querylog.c
monetdb5/optimizer/opt_remap.c
monetdb5/optimizer/opt_remoteQueries.c
monetdb5/optimizer/opt_reorder.c
monetdb5/optimizer/opt_support.h
sql/backends/monet5/UDF/capi/capi.c
sql/backends/monet5/UDF/pyapi3/pyapi3.c
sql/backends/monet5/generator/generator.c
sql/backends/monet5/rel_bin.c
sql/backends/monet5/sql.c
sql/backends/monet5/sql_gencode.c
sql/backends/monet5/sql_rank.c
sql/backends/monet5/sql_scenario.c
sql/backends/monet5/sql_statement.c
sql/backends/monet5/sql_statement.h
sql/common/sql_hash.c
sql/common/sql_list.c
sql/include/sql_hash.h
sql/include/sql_list.h
sql/include/sql_mem.h
sql/scripts/23_skyserver.sql
sql/server/rel_basetable.c
sql/server/rel_optimizer.c
sql/server/sql_parser.y
sql/server/sql_var.c
sql/storage/bat/bat_storage.c
sql/storage/bat/bat_utils.c
sql/storage/sql_catalog.c
sql/storage/store.c
sql/test/prepare/Tests/sqlancer_prepare.sql
sql/test/prepare/Tests/sqlancer_prepare.stable.err
sql/test/prepare/Tests/sqlancer_prepare.stable.err.int128
Branch: resource_management
Log Message:

create new branch for resource_management improvements

first steps:
use allocators in mal interpreter (therefor also the VAL* functions can 
now optionaly have an allocator as first argument)
use temp - allocators instead of temp GDKmalloc's in optimizers


diffs (truncated from 4354 to 300 lines):

diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out
--- a/clients/Tests/exports.stable.out
+++ b/clients/Tests/exports.stable.out
@@ -416,11 +416,11 @@ gdk_return TMsubcommit_list(bat *restric
 void VALclear(ValPtr v);
 int VALcmp(const ValRecord *p, const ValRecord *q);
 void *VALconvert(int typ, ValPtr t);
-ValPtr VALcopy(ValPtr dst, const ValRecord *src);
+ValPtr VALcopy(allocator *va, ValPtr dst, const ValRecord *src);
 void VALempty(ValPtr v);
 char *VALformat(const ValRecord *res) __attribute__((__warn_unused_result__));
 void *VALget(ValPtr v);
-ValPtr VALinit(ValPtr d, int tpe, const void *s);
+ValPtr VALinit(allocator *va, ValPtr d, int tpe, const void *s);
 bool VALisnil(const ValRecord *v);
 ValPtr VALset(ValPtr v, int t, void *p);
 gdk_return VARcalcabsolute(ValPtr ret, const ValRecord *v);
@@ -580,8 +580,10 @@ const ptr ptr_nil;
 struct dirent *readdir(DIR *dir);
 void rewinddir(DIR *dir);
 void *sa_alloc(allocator *sa, size_t sz);
+void sa_close(allocator *sa);
 allocator *sa_create(allocator *pa);
 void sa_destroy(allocator *sa);
+void sa_open(allocator *sa);
 void *sa_realloc(allocator *sa, void *ptr, size_t sz, size_t osz);
 allocator *sa_reset(allocator *sa);
 size_t sa_size(allocator *sa);
@@ -880,8 +882,8 @@ char *concatErrors(char *err1, const cha
 const char *connectRef;
 const char *contai

MonetDB: check - merge with default

2024-04-15 Thread Yunus Koning via checkin-list
Changeset: 04574dd85264 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/04574dd85264
Modified Files:
sql/backends/monet5/rel_bin.c
sql/include/sql_catalog.h
sql/server/rel_schema.c
sql/server/sql_mvc.c
sql/server/sql_mvc.h
sql/server/sql_parser.y
sql/storage/sql_storage.h
sql/storage/store.c
Branch: check
Log Message:

merge with default


diffs (truncated from 175674 to 300 lines):

diff --git a/.hgtags b/.hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -822,3 +822,5 @@ 1230526af30f40eeea30fb87c47c3e414920561f
 1230526af30f40eeea30fb87c47c3e414920561f Dec2023_release
 95d8feaa1167b5ba87bd99253c3f4e62ebf528a1 Dec2023_3
 dcc8c702e685a4faf21ccf663028d1bc3d1165d1 Dec2023_5
+dcc8c702e685a4faf21ccf663028d1bc3d1165d1 Dec2023_SP1_release
+d656785f49ee62c19705722aa6b7c171904c64d5 Dec2023_7
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-SP1/%{name}-%{version}.tar.bz2
+Source: 
https://www.monetdb.org/downloads/sources/Dec2023-SP2/%{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
@@ -679,7 +679,6 @@ This package contains files needed to de
 
 %files SQL-server5-devel
 %defattr(-,root,root)
-%{_includedir}/monetdb/exception_buffer.h
 %{_includedir}/monetdb/opt_backend.h
 %{_includedir}/monetdb/rel_*.h
 %{_includedir}/monetdb/sql*.h
@@ -808,9 +807,7 @@ do
   /usr/sbin/semodule -s ${selinuxvariant} -i \
 %{_datadir}/selinux/${selinuxvariant}/monetdb.pp &> /dev/null || :
 done
-# use /var/run/monetdb since that's what it says in the monetdb.fc file
-# it says that because /run/monetdb for some reason doesn't work
-/sbin/restorecon -R %{_localstatedir}/monetdb5 %{_localstatedir}/log/monetdb 
/var/run/monetdb %{_bindir}/monetdbd %{_bindir}/mserver5 
%{_unitdir}/monetdbd.service &> /dev/null || :
+/sbin/restorecon -R %{_localstatedir}/monetdb5 %{_localstatedir}/log/monetdb 
%{_rundir}/monetdb %{_bindir}/monetdbd %{_bindir}/mserver5 
%{_unitdir}/monetdbd.service &> /dev/null || :
 /usr/bin/systemctl try-restart monetdbd.service
 
 %postun selinux
@@ -839,6 +836,13 @@ fi
 %setup -q
 
 %build
+# from Fedora 40, selinux uses /run where before it used /var/run
+# the code is now for Fedora 40 but needs a patch for older versions
+%if (0%{?fedora} < 40)
+sed -i 
's;@CMAKE_INSTALL_FULL_RUNSTATEDIR@/monetdb;@CMAKE_INSTALL_FULL_LOCALSTATEDIR@/run/monetdb;'
 misc/selinux/monetdb.fc.in
+sed -i 's/1\.2/1.1/' misc/selinux/monetdb.te
+%endif
+
 %cmake3 \
 -DCMAKE_INSTALL_RUNSTATEDIR=/run \
 -DRELEASE_VERSION=ON \
@@ -917,6 +921,31 @@ fi
 %endif
 
 %changelog
+* Tue Apr 09 2024 Sjoerd Mullender  - 11.49.7-20240409
+- Rebuilt.
+- GH#7469: Crash when using `CONTAINS`
+- GH#7479: MonetDB server crashes in `exp_ref`
+- GH#7490: commonTerms optimizer no longer works
+- GH#7495: Crash when simultaneously querying and updating a string column.
+
+* Thu Mar 28 2024 Sjoerd Mullender  - 11.49.7-20240409
+- gdk: Threads have their own list of free bats.  The list was not returned
+  to the system when a thread exited, meaning that the free bats that
+  were in the list would not be reused by any thread.  This has been
+  fixed.
+
+* Tue Mar 19 2024 Sjoerd Mullender  - 11.49.7-20240409
+- monetdb5: Fixed interaction between mserver5 and remote mserver5 when only 
one
+  of the two has 128 bit integer support.
+
+* Tue Mar 19 2024 Sjoerd Mullender  - 11.49.7-20240409
+- sql: Fixed issue where equal column aliases were created. When those
+  aliases were parsed on the remote side it could give crashes.
+
+* Mon Mar 18 2024 Sjoerd Mullender  - 11.49.7-20240409
+- gdk: Fixed a couple of deadlock situations, one actually observed, one
+  never observed.
+
 * Tue Mar 12 2024 Sjoerd Mullender  - 11.49.5-20240312
 - Rebuilt.
 - GH#7390: Some MonetDB Server crashes found
diff --git a/NT/mksqlwxs.py b/NT/mksqlwxs.py
--- a/NT/mksqlwxs.py
+++ b/NT/mksqlwxs.py
@@ -187,7 +187,7 @@ def main():
 print(r'')
 print(r'  ')
 id = comp(extend, id, 16,
-  sorted([r'include\monetdb\{}'.format(x) for x in filter(lambda 
x: (x.startswith('gdk') or x.startswith('monet') or x.startswith('mal') or 
x.startswith('sql') or x.startswith('rel') or x.startswith('store') or 
x.startswith('exception') or x.startswith('opt_backend')) and x.endswith('.h'), 
os.listdir(os.path.join(sys.argv[3], 'include', 'monetdb')))] +
+  sorted([r'include\monetdb\{}'.format(x) for x in filter(lambda 
x: (x.startswith('gdk') or x.startswith('monet') or x.startswith('mal') or 
x.startswith('sql') or x.startswith('rel') or x.startswith('store') or 
x.startswith('opt_backend')) and x.endswith('.h'), 
os.listdir(os.p

MonetDB: check - column CHECK condition on insert

2024-04-15 Thread Yunus Koning via checkin-list
Changeset: 4a1b36c42d20 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/4a1b36c42d20
Modified Files:
sql/backends/monet5/rel_bin.c
sql/server/rel_schema.c
Branch: check
Log Message:

column CHECK condition on insert


diffs (86 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
@@ -16,6 +16,7 @@
 #include "rel_rel.h"
 #include "rel_basetable.h"
 #include "rel_exp.h"
+#include "rel_dump.h"
 #include "rel_psm.h"
 #include "rel_prop.h"
 #include "rel_select.h"
@@ -4926,6 +4927,42 @@ sql_insert_triggers(backend *be, sql_tab
return res;
 }
 
+static void
+sql_insert_check(backend *be, sql_table *t, sql_rel *rel, list *refs)
+{
+   mvc *sql = be->mvc;
+   node *m, *n;
+
+   sql_rel* rel2 = rel_copy(sql, rel, 1);
+
+   list* exps = rel2->exps;
+
+   sql_rel* rel3;
+
+
+   sql_subtype *bt = sql_bind_localtype("bit");
+
+   for (n = ol_first_node(t->columns), m = exps->h; n && m;
+   n = n->next, m = m->next) {
+   sql_exp *i = m->data;
+   sql_column *c = n->data;
+   if (c->check) {
+   i->alias.rname= sa_strdup(sql->sa, t->base.name);
+   i->alias.name= sa_strdup(sql->sa, c->base.name);
+
+   int pos = 0;
+   rel3 = rel_read(sql, sa_strdup(sql->sa, c->check), 
&pos, sa_list(sql->sa));
+   rel3->l = rel2;
+   stmt* s = subrel_bin(be, rel3, refs);
+   s = stmt_uselect(be, column(be, s), stmt_atom(be, 
atom_zero_value(sql->sa, bt)), cmp_equal, NULL, 0, 1);
+   sql_subfunc *cnt = sql_bind_func(sql, "sys", "count", 
sql_bind_localtype("void"), NULL, F_AGGR, true, true);
+   s = stmt_aggr(be, s, NULL, NULL, cnt, 1, 0, 1);
+   char *msg = sa_message(sql->sa, SQLSTATE(40002) "INSERT 
INTO: CHECK constraint violated for column %s.%s", c->t->base.name, 
c->base.name);
+   (void)stmt_exception(be, s, msg, 1);
+   }
+   }
+}
+
 static sql_table *
 sql_insert_check_null(backend *be, sql_table *t, list *inserts)
 {
@@ -5004,6 +5041,8 @@ rel2bin_insert(backend *be, sql_rel *rel
if (idx_ins)
pin = refs_find_rel(refs, prel);
 
+   sql_insert_check(be, t, rel->r, refs);
+
if (!sql_insert_check_null(be, t, inserts->op4.lval))
return NULL;
 
diff --git a/sql/server/rel_schema.c b/sql/server/rel_schema.c
--- a/sql/server/rel_schema.c
+++ b/sql/server/rel_schema.c
@@ -608,19 +608,8 @@ column_constraint_type(sql_query *query,
sql_rel* rel3 = rel_basetable(sql, t, t->base.name);
sql_exp *e = rel_logical_value_exp(query, &rel3, s->data.sym, 
sql_sel, ek);
sql_rel *rel = rel_project_exp(sql, e);
-   (void) rel;
-
char* check = rel2str(sql, rel);
 
-   int pos = 0;
-   list *refs = sa_list(sql->sa);
-   sql_rel* rel2 = rel_read(sql, check, &pos, refs);
-   (void) check;
-   (void) rel2;
-   char *err = NULL, *r;
-   r = symbol2string(sql, s->data.sym, 0, &err);
-   (void) r;
-
switch (mvc_check(sql, cs, check)) {
case -1:
(void) sql_error(sql, 02, SQLSTATE(HY013) 
MAL_MALLOC_FAIL);
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: check - refactoring

2024-04-15 Thread Yunus Koning via checkin-list
Changeset: 53f601216841 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/53f601216841
Modified Files:
sql/backends/monet5/rel_bin.c
Branch: check
Log Message:

refactoring


diffs (37 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
@@ -4923,17 +4923,13 @@ sql_insert_triggers(backend *be, sql_tab
 }
 
 static void
-sql_insert_check(backend *be, sql_table *t, sql_rel *rel, list *refs)
+sql_insert_check(backend *be, sql_table *t, sql_rel *inserts, list *refs)
 {
mvc *sql = be->mvc;
node *m, *n;
 
-   sql_rel* rel2 = rel_copy(sql, rel, 1);
-
-   list* exps = rel2->exps;
-
-   sql_rel* rel3;
-
+   inserts = rel_copy(sql, inserts, 1);
+   list* exps = inserts->exps;
 
sql_subtype *bt = sql_bind_localtype("bit");
 
@@ -4946,9 +4942,9 @@ sql_insert_check(backend *be, sql_table 
i->alias.name= sa_strdup(sql->sa, c->base.name);
 
int pos = 0;
-   rel3 = rel_read(sql, sa_strdup(sql->sa, c->check), 
&pos, sa_list(sql->sa));
-   rel3->l = rel2;
-   stmt* s = subrel_bin(be, rel3, refs);
+   sql_rel* rel = rel_read(sql, sa_strdup(sql->sa, 
c->check), &pos, sa_list(sql->sa));
+   rel->l = inserts;
+   stmt* s = subrel_bin(be, rel, refs);
s = stmt_uselect(be, column(be, s), stmt_atom(be, 
atom_zero_value(sql->sa, bt)), cmp_equal, NULL, 0, 1);
sql_subfunc *cnt = sql_bind_func(sql, "sys", "count", 
sql_bind_localtype("void"), NULL, F_AGGR, true, true);
s = stmt_aggr(be, s, NULL, NULL, cnt, 1, 0, 1);
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: check - implement CHECK constraint for updates.

2024-04-15 Thread Yunus Koning via checkin-list
Changeset: 0bd4d7a4c899 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/0bd4d7a4c899
Modified Files:
sql/backends/monet5/rel_bin.c
Branch: check
Log Message:

implement CHECK constraint for updates.


diffs (43 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
@@ -5916,6 +5916,31 @@ sql_update_triggers(backend *be, sql_tab
 }
 
 static void
+sql_update_check(backend *be, sql_table *t, sql_rel *rupdates, stmt **updates, 
list *refs)
+{
+   mvc *sql = be->mvc;
+   node *n;
+   sql_subfunc *cnt = sql_bind_func(sql, "sys", "count", 
sql_bind_localtype("void"), NULL, F_AGGR, true, true);
+   sql_subtype *bt = sql_bind_localtype("bit");
+
+   for (n = ol_first_node(t->columns); n; n = n->next) {
+   sql_column *c = n->data;
+
+   if (updates[c->colnr] && c->check) {
+
+   int pos = 0;
+   sql_rel* rel = rel_read(sql, sa_strdup(sql->sa, 
c->check), &pos, sa_list(sql->sa));
+   rel->l = rupdates;
+   stmt* s = subrel_bin(be, rel, refs);
+   s = stmt_uselect(be, column(be, s), stmt_atom(be, 
atom_zero_value(sql->sa, bt)), cmp_equal, NULL, 0, 1);
+   s = stmt_aggr(be, s, NULL, NULL, cnt, 1, 0, 1);
+   char *msg = sa_message(sql->sa, SQLSTATE(40002) 
"UPDATE: CHECK constraint violated for column %s.%s", c->t->base.name, 
c->base.name);
+   (void)stmt_exception(be, s, msg, 1);
+   }
+   }
+}
+
+static void
 sql_update_check_null(backend *be, sql_table *t, stmt **updates)
 {
mvc *sql = be->mvc;
@@ -6044,6 +6069,7 @@ rel2bin_update(backend *be, sql_rel *rel
if (c)
updates[c->colnr] = bin_find_column(be, update, ce->l, 
ce->r);
}
+   sql_update_check(be, t, rel->r, updates, refs);
sql_update_check_null(be, t, updates);
 
/* check keys + get idx */
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: check - merge with default

2024-04-15 Thread Yunus Koning via checkin-list
Changeset: aad96fbaf536 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/aad96fbaf536
Modified Files:
sql/backends/monet5/rel_bin.c
sql/include/sql_catalog.h
sql/server/rel_schema.c
sql/server/sql_mvc.c
sql/storage/sql_storage.h
sql/storage/store.c
Branch: check
Log Message:

merge with default


diffs (truncated from 2471 to 300 lines):

diff --git a/clients/Tests/MAL-signatures.test 
b/clients/Tests/MAL-signatures.test
--- a/clients/Tests/MAL-signatures.test
+++ b/clients/Tests/MAL-signatures.test
@@ -25330,122 +25330,62 @@ SQLvar_pop;
 return the variance population of groups
 batsql
 window_bound
-pattern batsql.window_bound(X_0:bat[:any_1], X_1:int, X_2:int, X_3:int, 
X_4:bat[:bte]):bat[:oid]
-SQLwindow_bound;
-computes window ranges for each row
-batsql
-window_bound
-pattern batsql.window_bound(X_0:bat[:any_1], X_1:int, X_2:int, X_3:int, 
X_4:bat[:dbl]):bat[:oid]
+pattern batsql.window_bound(X_0:bat[:any_1], X_1:int, X_2:int, X_3:int, 
X_4:bat?[:bte]):bat[:oid]
 SQLwindow_bound;
 computes window ranges for each row
 batsql
 window_bound
-pattern batsql.window_bound(X_0:bat[:any_1], X_1:int, X_2:int, X_3:int, 
X_4:bat[:flt]):bat[:oid]
-SQLwindow_bound;
-computes window ranges for each row
-batsql
-window_bound
-pattern batsql.window_bound(X_0:bat[:any_1], X_1:int, X_2:int, X_3:int, 
X_4:bat[:int]):bat[:oid]
-SQLwindow_bound;
-computes window ranges for each row
-batsql
-window_bound
-pattern batsql.window_bound(X_0:bat[:any_1], X_1:int, X_2:int, X_3:int, 
X_4:bat[:lng]):bat[:oid]
+pattern batsql.window_bound(X_0:bat[:any_1], X_1:int, X_2:int, X_3:int, 
X_4:bat?[:dbl]):bat[:oid]
 SQLwindow_bound;
 computes window ranges for each row
 batsql
 window_bound
-pattern batsql.window_bound(X_0:bat[:any_1], X_1:int, X_2:int, X_3:int, 
X_4:bat[:sht]):bat[:oid]
-SQLwindow_bound;
-computes window ranges for each row
-batsql
-window_bound
-pattern batsql.window_bound(X_0:bat[:any_1], X_1:int, X_2:int, X_3:int, 
X_4:bte):bat[:oid]
+pattern batsql.window_bound(X_0:bat[:any_1], X_1:int, X_2:int, X_3:int, 
X_4:bat?[:flt]):bat[:oid]
 SQLwindow_bound;
 computes window ranges for each row
 batsql
 window_bound
-pattern batsql.window_bound(X_0:bat[:any_1], X_1:int, X_2:int, X_3:int, 
X_4:dbl):bat[:oid]
+pattern batsql.window_bound(X_0:bat[:any_1], X_1:int, X_2:int, X_3:int, 
X_4:bat?[:int]):bat[:oid]
 SQLwindow_bound;
 computes window ranges for each row
 batsql
 window_bound
-pattern batsql.window_bound(X_0:bat[:any_1], X_1:int, X_2:int, X_3:int, 
X_4:flt):bat[:oid]
-SQLwindow_bound;
-computes window ranges for each row
-batsql
-window_bound
-pattern batsql.window_bound(X_0:bat[:any_1], X_1:int, X_2:int, X_3:int, 
X_4:int):bat[:oid]
-SQLwindow_bound;
-computes window ranges for each row
-batsql
-window_bound
-pattern batsql.window_bound(X_0:bat[:any_1], X_1:int, X_2:int, X_3:int, 
X_4:lng):bat[:oid]
+pattern batsql.window_bound(X_0:bat[:any_1], X_1:int, X_2:int, X_3:int, 
X_4:bat?[:lng]):bat[:oid]
 SQLwindow_bound;
 computes window ranges for each row
 batsql
 window_bound
-pattern batsql.window_bound(X_0:bat[:any_1], X_1:int, X_2:int, X_3:int, 
X_4:sht):bat[:oid]
-SQLwindow_bound;
-computes window ranges for each row
-batsql
-window_bound
-pattern batsql.window_bound(X_0:bat[:bit], X_1:bat[:any_1], X_2:int, X_3:int, 
X_4:int, X_5:bat[:bte]):bat[:oid]
+pattern batsql.window_bound(X_0:bat[:any_1], X_1:int, X_2:int, X_3:int, 
X_4:bat?[:sht]):bat[:oid]
 SQLwindow_bound;
 computes window ranges for each row
 batsql
 window_bound
-pattern batsql.window_bound(X_0:bat[:bit], X_1:bat[:any_1], X_2:int, X_3:int, 
X_4:int, X_5:bat[:dbl]):bat[:oid]
+pattern batsql.window_bound(X_0:bat[:bit], X_1:bat[:any_1], X_2:int, X_3:int, 
X_4:int, X_5:bat?[:bte]):bat[:oid]
 SQLwindow_bound;
 computes window ranges for each row
 batsql
 window_bound
-pattern batsql.window_bound(X_0:bat[:bit], X_1:bat[:any_1], X_2:int, X_3:int, 
X_4:int, X_5:bat[:flt]):bat[:oid]
-SQLwindow_bound;
-computes window ranges for each row
-batsql
-window_bound
-pattern batsql.window_bound(X_0:bat[:bit], X_1:bat[:any_1], X_2:int, X_3:int, 
X_4:int, X_5:bat[:int]):bat[:oid]
-SQLwindow_bound;
-computes window ranges for each row
-batsql
-window_bound
-pattern batsql.window_bound(X_0:bat[:bit], X_1:bat[:any_1], X_2:int, X_3:int, 
X_4:int, X_5:bat[:lng]):bat[:oid]
+pattern batsql.window_bound(X_0:bat[:bit], X_1:bat[:any_1], X_2:int, X_3:int, 
X_4:int, X_5:bat?[:dbl]):bat[:oid]
 SQLwindow_bound;
 computes window ranges for each row
 batsql
 window_bound
-pattern batsql.window_bound(X_0:bat[:bit], X_1:bat[:any_1], X_2:int, X_3:int, 
X_4:int, X_5:bat[:sht]):bat[:oid]
-SQLwindow_bound;
-computes window ranges for each row
-batsql
-window_bound
-pattern batsql.window_bound(X_0:bat[:bit], X_1:bat[:any_1], X_2:int, X_3:int, 
X_4:int, X_5:bte):bat[:oid]
-SQLwindow_bound;
-computes window ranges for each row
-batsql
-window_bound
-pattern batsql.window_bound(X_0:bat[:bit], X_1:bat[:any_1], X_2:int, X_3:int, 
X_4:int, X_5:dbl):b

MonetDB: Dec2023 - Dec2023-SP2 was released.

2024-04-15 Thread Sjoerd Mullender via checkin-list
Changeset: 176e1849fab1 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/176e1849fab1
Modified Files:
.hgtags
Branch: Dec2023
Log Message:

Dec2023-SP2 was released.


diffs (8 lines):

diff --git a/.hgtags b/.hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -824,3 +824,4 @@ 95d8feaa1167b5ba87bd99253c3f4e62ebf528a1
 dcc8c702e685a4faf21ccf663028d1bc3d1165d1 Dec2023_5
 dcc8c702e685a4faf21ccf663028d1bc3d1165d1 Dec2023_SP1_release
 d656785f49ee62c19705722aa6b7c171904c64d5 Dec2023_7
+d656785f49ee62c19705722aa6b7c171904c64d5 Dec2023_SP2_release
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: default - Create the proper view to block the next alte...

2024-04-15 Thread Lucas Pereira via checkin-list
Changeset: 19e8d5f801d4 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/19e8d5f801d4
Modified Files:
sql/test/rename/Tests/rename00.SQL.py
sql/test/rename/Tests/rename01.test
Branch: default
Log Message:

Create the proper view to block the next alter schema stmt


diffs (24 lines):

diff --git a/sql/test/rename/Tests/rename00.SQL.py 
b/sql/test/rename/Tests/rename00.SQL.py
--- a/sql/test/rename/Tests/rename00.SQL.py
+++ b/sql/test/rename/Tests/rename00.SQL.py
@@ -12,7 +12,7 @@ with tempfile.TemporaryDirectory() as fa
 
 with process.server(mapiport='0', dbname='db1',
 dbfarm=os.path.join(farm_dir, 'db1'),
-stdin = process.PIPE,
+stdin=process.PIPE,
 stdout=process.PIPE, stderr=process.PIPE) as s:
 with SQLTestCase() as tc:
 tc.connect(username="monetdb", password="monetdb", port=s.dbport, 
database='db1')
diff --git a/sql/test/rename/Tests/rename01.test 
b/sql/test/rename/Tests/rename01.test
--- a/sql/test/rename/Tests/rename01.test
+++ b/sql/test/rename/Tests/rename01.test
@@ -75,7 +75,7 @@ statement ok
 create schema bar
 
 statement ok
-create view av as select * from foo.a
+create view bar.av as select * from foo.a
 
 statement error 2BM37!ALTER SCHEMA: unable to rename schema 'foo', there are 
database objects which depend on it
 alter schema foo rename to foofoo
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: default - Destroy empty list before reusing var

2024-04-15 Thread Lucas Pereira via checkin-list
Changeset: e36cce62cf60 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/e36cce62cf60
Modified Files:
sql/server/sql_mvc.c
sql/storage/store_dependency.c
Branch: default
Log Message:

Destroy empty list before reusing var


diffs (28 lines):

diff --git a/sql/server/sql_mvc.c b/sql/server/sql_mvc.c
--- a/sql/server/sql_mvc.c
+++ b/sql/server/sql_mvc.c
@@ -1422,7 +1422,7 @@ mvc_check_dependency(mvc *m, sqlid id, s
break;
case SCHEMA_DEPENDENCY:
dep_list = 
sql_trans_schema_user_dependencies(m->session->tr, id);
-   if (list_length(dep_list) == 0)
+   if (!dep_list)
dep_list = 
sql_trans_get_dependents(m->session->tr, id, SCHEMA_DEPENDENCY, NULL);
break;
case TABLE_DEPENDENCY:
diff --git a/sql/storage/store_dependency.c b/sql/storage/store_dependency.c
--- a/sql/storage/store_dependency.c
+++ b/sql/storage/store_dependency.c
@@ -340,6 +340,12 @@ sql_trans_schema_user_dependencies(sql_t
list_append(l,v);
}
store->table_api.rids_destroy(users);
+
+   if (list_length(l) == 0) {
+   list_destroy(l);
+   l = NULL;
+   }
+
return l;
 }
 
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: Dec2023 - Revert summary printing for testweb.

2024-04-15 Thread Sjoerd Mullender via checkin-list
Changeset: e795f94289b6 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/e795f94289b6
Modified Files:
testing/Mtest.py.in
Branch: Dec2023
Log Message:

Revert summary printing for testweb.


diffs (12 lines):

diff --git a/testing/Mtest.py.in b/testing/Mtest.py.in
--- a/testing/Mtest.py.in
+++ b/testing/Mtest.py.in
@@ -4271,7 +4271,7 @@ VALUES (%s, '%s', '%s', '%s',
 for f in Failure[x]:
 what += "%s\n" % f
 print(file=sys.stderr, end='', flush=True)
-if verbosity == 0 or verbosity == 1:
+if not testweb and (verbosity == 0 or verbosity == 1):
 if Failed or errseen:
 prred('ERROR')
 else:
___
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.

2024-04-15 Thread Sjoerd Mullender via checkin-list
Changeset: 7c893aa53210 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/7c893aa53210
Branch: default
Log Message:

Merge with Dec2023 branch.


diffs (20 lines):

diff --git a/.hgtags b/.hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -824,3 +824,4 @@ 95d8feaa1167b5ba87bd99253c3f4e62ebf528a1
 dcc8c702e685a4faf21ccf663028d1bc3d1165d1 Dec2023_5
 dcc8c702e685a4faf21ccf663028d1bc3d1165d1 Dec2023_SP1_release
 d656785f49ee62c19705722aa6b7c171904c64d5 Dec2023_7
+d656785f49ee62c19705722aa6b7c171904c64d5 Dec2023_SP2_release
diff --git a/testing/Mtest.py.in b/testing/Mtest.py.in
--- a/testing/Mtest.py.in
+++ b/testing/Mtest.py.in
@@ -4271,7 +4271,7 @@ VALUES (%s, '%s', '%s', '%s',
 for f in Failure[x]:
 what += "%s\n" % f
 print(file=sys.stderr, end='', flush=True)
-if verbosity == 0 or verbosity == 1:
+if not testweb and (verbosity == 0 or verbosity == 1):
 if Failed or errseen:
 prred('ERROR')
 else:
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: Dec2023 - Specify alignment requirement for atomic unsi...

2024-04-15 Thread Sjoerd Mullender via checkin-list
Changeset: 86b09939951e for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/86b09939951e
Modified Files:
common/utils/matomic.h
Branch: Dec2023
Log Message:

Specify alignment requirement for atomic unsigned long long explicitly.
This suppresses the warning otherwise issued by gcc on 32 bit Debian.


diffs (54 lines):

diff --git a/common/utils/matomic.h b/common/utils/matomic.h
--- a/common/utils/matomic.h
+++ b/common/utils/matomic.h
@@ -72,17 +72,17 @@
 #if ATOMIC_LLONG_LOCK_FREE != 1
 #error "we need _Atomic(unsigned [long] long) to be lock free"
 #endif
-typedef atomic_ulong ATOMIC_TYPE;
+typedef atomic_ulong ATOMIC_TYPE __attribute__((__aligned__(8)));
 typedef unsigned long ATOMIC_BASE_TYPE;
 #else
-typedef atomic_ullong ATOMIC_TYPE;
+typedef atomic_ullong ATOMIC_TYPE __attribute__((__aligned__(8)));
 typedef unsigned long long ATOMIC_BASE_TYPE;
 #endif
 #elif SIZEOF_LONG == 8
 #if ATOMIC_LONG_LOCK_FREE != 2
 #error "we need _Atomic(unsigned long) to be lock free"
 #endif
-typedef atomic_ulong ATOMIC_TYPE;
+typedef atomic_ulong ATOMIC_TYPE __attribute__((__aligned__(8)));
 typedef unsigned long ATOMIC_BASE_TYPE;
 #else
 #error "we need a 64 bit atomic type"
@@ -97,17 +97,17 @@ typedef unsigned long ATOMIC_BASE_TYPE;
 #if ATOMIC_LLONG_LOCK_FREE != 1
 #error "we need _Atomic(unsigned [long] long) to be lock free"
 #endif
-typedef atomic_ulong ATOMIC_TYPE;
+typedef atomic_ulong ATOMIC_TYPE __attribute__((__aligned__(8)));
 typedef unsigned long ATOMIC_BASE_TYPE;
 #else
-typedef volatile atomic_ullong ATOMIC_TYPE;
+typedef volatile atomic_ullong ATOMIC_TYPE __attribute__((__aligned__(8)));
 typedef unsigned long long ATOMIC_BASE_TYPE;
 #endif
 #elif SIZEOF_LONG == 8
 #if ATOMIC_LONG_LOCK_FREE != 2
 #error "we need _Atomic(unsigned long) to be lock free"
 #endif
-typedef volatile atomic_ulong ATOMIC_TYPE;
+typedef volatile atomic_ulong ATOMIC_TYPE __attribute__((__aligned__(8)));
 typedef unsigned long ATOMIC_BASE_TYPE;
 #else
 #error "we need a 64 bit atomic type"
@@ -272,7 +272,7 @@ typedef volatile int ATOMIC_FLAG;
  * __sync_* primitives is not supported) */
 
 typedef uint64_t ATOMIC_BASE_TYPE;
-typedef volatile ATOMIC_BASE_TYPE ATOMIC_TYPE;
+typedef volatile ATOMIC_BASE_TYPE ATOMIC_TYPE __attribute__((__aligned__ (8)));
 
 #define ATOMIC_VAR_INIT(val)   (val)
 #define ATOMIC_INIT(var, val)  (*(var) = (val))
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org