Changeset: 2479817fcb9e for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2479817fcb9e
Added Files:
ChangeLog.Nov2019
buildtools/ChangeLog.Nov2019
clients/ChangeLog.Nov2019
clients/mapilib/ChangeLog.Nov2019
common/stream/ChangeLog.Nov2019
gdk/ChangeLog.Nov2019
geom/ChangeLog.Nov2019
monetdb5/ChangeLog.Nov2019
sql/ChangeLog.Nov2019
sql/jdbc/tests/Tests/JdbcClient_create_tables.sql
sql/jdbc/tests/Tests/JdbcClient_drop_tables.sql
sql/jdbc/tests/Tests/JdbcClient_inserts_selects.sql
sql/test/BugTracker-2019/Tests/alter_table_drop_column.Bug-6749.py
sql/test/BugTracker-2019/Tests/alter_table_drop_column.Bug-6749.stable.err
sql/test/BugTracker-2019/Tests/alter_table_drop_column.Bug-6749.stable.out
sql/test/BugTracker-2019/Tests/cte-union.Bug-6755.sql
sql/test/BugTracker-2019/Tests/cte-union.Bug-6755.stable.err
sql/test/BugTracker-2019/Tests/cte-union.Bug-6755.stable.out
sql/test/BugTracker-2019/Tests/merge-table-limit.Bug-6756.sql
sql/test/BugTracker-2019/Tests/merge-table-limit.Bug-6756.stable.err
sql/test/BugTracker-2019/Tests/merge-table-limit.Bug-6756.stable.out
sql/test/BugTracker-2019/Tests/remote-table-non-existent-column.Bug-6750.py
testing/ChangeLog.Nov2019
tools/merovingian/ChangeLog.Nov2019
Removed Files:
sql/jdbc/tests/JdbcClient_create_tables.sql
sql/jdbc/tests/JdbcClient_inserts_selects.sql
Modified Files:
.hgtags
MonetDB.spec
NT/monetdb_config.h.in
NT/rules.msc
clients/Tests/MAL-signatures.stable.out
clients/Tests/MAL-signatures.stable.out.int128
clients/Tests/exports.stable.out
clients/mapiclient/mclient.c
clients/mapiclient/mhelp.c
clients/mapilib/mapi.rc
clients/odbc/driver/ODBCUtil.c
clients/odbc/driver/driver.rc
clients/odbc/winsetup/setup.rc
common/utils/msabaoth.c
common/utils/msabaoth.h
configure.ag
debian/changelog
debian/fix-deb.sh
gdk/ChangeLog
gdk/gdk.h
gdk/gdk_aggr.c
gdk/gdk_align.c
gdk/gdk_analytic_func.c
gdk/gdk_bat.c
gdk/gdk_batop.c
gdk/gdk_bbp.c
gdk/gdk_calc.c
gdk/gdk_calc.h
gdk/gdk_calc_compare.h
gdk/gdk_calc_private.h
gdk/gdk_cand.c
gdk/gdk_cand.h
gdk/gdk_cross.c
gdk/gdk_firstn.c
gdk/gdk_group.c
gdk/gdk_hash.c
gdk/gdk_join.c
gdk/gdk_logger.c
gdk/gdk_posix.c
gdk/gdk_posix.h
gdk/gdk_private.h
gdk/gdk_project.c
gdk/gdk_search.c
gdk/gdk_select.c
gdk/gdk_string.c
gdk/gdk_system.c
gdk/gdk_unique.c
gdk/gdk_utils.c
gdk/libbat.rc
libversions
monetdb5/ChangeLog
monetdb5/mal/Tests/tst670.stable.err
monetdb5/mal/mal.c
monetdb5/mal/mal_client.c
monetdb5/mal/mal_debugger.c
monetdb5/mal/mal_import.c
monetdb5/mal/mal_interpreter.c
monetdb5/modules/atoms/batxml.c
monetdb5/modules/atoms/json.c
monetdb5/modules/atoms/uuid.c
monetdb5/modules/atoms/uuid.mal
monetdb5/modules/atoms/xml.c
monetdb5/modules/atoms/xml.h
monetdb5/modules/atoms/xml.mal
monetdb5/modules/kernel/algebra.c
monetdb5/modules/kernel/batmmath.c
monetdb5/modules/mal/00_batcalc_hge.mal
monetdb5/modules/mal/00_batcalc_hge.mal.sh
monetdb5/modules/mal/01_batcalc.mal
monetdb5/modules/mal/01_batcalc.mal.sh
monetdb5/modules/mal/01_calc.mal
monetdb5/modules/mal/01_calc.mal.sh
monetdb5/modules/mal/batcalc.c
monetdb5/modules/mal/calc.c
monetdb5/modules/mal/clients.c
monetdb5/modules/mal/mal_io.c
monetdb5/modules/mal/mal_mapi.c
monetdb5/modules/mal/mat.c
monetdb5/modules/mal/orderidx.c
monetdb5/modules/mal/pcre.c
monetdb5/modules/mal/projectionpath.c
monetdb5/modules/mal/querylog.c
monetdb5/modules/mal/remote.c
monetdb5/modules/mal/sysmon.c
monetdb5/modules/mal/tablet.c
monetdb5/modules/mal/wlc.c
monetdb5/modules/mal/wlc.h
monetdb5/optimizer/opt_wlc.c
monetdb5/tools/libmonetdb5.rc
sql/ChangeLog
sql/ChangeLog-Archive
sql/ChangeLog.Apr2019
sql/backends/monet5/generator/generator.c
sql/backends/monet5/sql.c
sql/backends/monet5/sql.h
sql/backends/monet5/sql.mal
sql/backends/monet5/sql_result.c
sql/backends/monet5/sql_scenario.c
sql/backends/monet5/sql_statement.c
sql/backends/monet5/sql_upgrades.c
sql/backends/monet5/wlr.c
sql/common/sql_types.c
sql/jdbc/tests/Tests/Test_JdbcClient.SQL.bat
sql/jdbc/tests/Tests/Test_JdbcClient.SQL.sh
sql/jdbc/tests/Tests/Test_JdbcClient.stable.out
sql/scripts/25_debug.sql
sql/server/rel_dump.c
sql/server/rel_optimizer.c
sql/server/rel_propagate.c
sql/server/rel_psm.c
sql/server/rel_schema.c
sql/server/rel_select.c
sql/server/rel_updates.c
sql/server/rel_updates.h
sql/server/sql_mvc.c
sql/storage/bat/bat_storage.c
sql/storage/bat/bat_utils.c
sql/storage/sql_storage.h
sql/storage/store.c
sql/test/BugDay_2005-10-06_2.9.3/Tests/not_null.SF-933194.stable.out
sql/test/BugDay_2005-10-06_2.9.3/Tests/type_dump_test.SF-989257-src.sql
sql/test/BugDay_2005-10-06_2.9.3/Tests/type_dump_test.SF-989257.stable.out
sql/test/BugDay_2005-11-09_2.9.3/Tests/hang_on_copy_into.SF-1100504.stable.err
sql/test/BugTracker-2009/Tests/segfault_when_quitting_debugger.SF-2538837.stable.out
sql/test/BugTracker-2010/Tests/incomplete-utf8-sequence.Bug-2575.stable.err
sql/test/BugTracker-2015/Tests/backslash_predecing_separator.Bug-3775.stable.err
sql/test/BugTracker-2017/Tests/sqlitelogictest-comparisons-between-floating-points-and-NULL.Bug-6496.sql
sql/test/BugTracker-2017/Tests/sqlitelogictest-comparisons-between-floating-points-and-NULL.Bug-6496.stable.out
sql/test/BugTracker-2018/Tests/sqlitelogictest-algebra-rangejoin-undefined.Bug-6610.stable.out
sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-in-cast.Bug-6561.stable.out
sql/test/BugTracker-2018/Tests/sqlitelogictest-having-not-null-not-in.Bug-6557.sql
sql/test/BugTracker-2018/Tests/sqlitelogictest-having-not-null-not-in.Bug-6557.stable.out
sql/test/BugTracker-2018/Tests/sqlitelogictest-wrong-select-not-between.Bug-6511.stable.out
sql/test/BugTracker-2019/Tests/All
sql/test/BugTracker-2019/Tests/duplicates-not-eliminated-long-CASE-stmt.Bug-6697.stable.out
sql/test/BugTracker/Tests/authorization.SF-1430616.stable.out
sql/test/SQLite_regress/sqllogictest/Tests/select3.test.stable.out
sql/test/SQLite_regress/sqllogictest/Tests/select3.test.stable.out.int128
sql/test/analytics/Tests/analytics09.sql
sql/test/analytics/Tests/analytics09.stable.out
sql/test/copy/Tests/columns.stable.err
sql/test/copy/Tests/incorrect_columns.stable.out
sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.powerpc64.int128
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.32bit
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.powerpc64
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.powerpc64.int128
sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128
sql/test/emptydb-upgrade/Tests/upgrade.stable.out
sql/test/emptydb-upgrade/Tests/upgrade.stable.out.32bit
sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128
sql/test/emptydb/Tests/check.stable.out
sql/test/emptydb/Tests/check.stable.out.32bit
sql/test/emptydb/Tests/check.stable.out.int128
sql/test/mosaic/Tests/All
sql/test/subquery/Tests/correlated.sql
sql/test/subquery/Tests/correlated.stable.err
sql/test/subquery/Tests/subquery.sql
sql/test/subquery/Tests/subquery.stable.err
sql/test/subquery/Tests/subquery.stable.out
sql/test/sys-schema/Tests/systemfunctions.stable.out
sql/test/sys-schema/Tests/systemfunctions.stable.out.int128
sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out
sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.32bit
sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.int128
sql/test/testdb-upgrade-hge/Tests/dump.stable.out.int128
sql/test/testdb-upgrade-hge/Tests/upgrade.stable.out.int128
sql/test/testdb-upgrade/Tests/dump.stable.out
sql/test/testdb-upgrade/Tests/upgrade.stable.out
sql/test/testdb-upgrade/Tests/upgrade.stable.out.32bit
sql/test/testdb-upgrade/Tests/upgrade.stable.out.int128
sql/test/wlcr/Tests/All
sql/test/wlcr/Tests/wlc01.py
sql/test/wlcr/Tests/wlc01.stable.out
sql/test/wlcr/Tests/wlc100.py
sql/test/wlcr/Tests/wlc100.stable.out
sql/test/wlcr/Tests/wlc20.py
sql/test/wlcr/Tests/wlc20.stable.out
sql/test/wlcr/Tests/wlc21.py
sql/test/wlcr/Tests/wlc21.stable.out
sql/test/wlcr/Tests/wlc30.py
sql/test/wlcr/Tests/wlc30.stable.out
sql/test/wlcr/Tests/wlc40.py
sql/test/wlcr/Tests/wlc40.stable.out
sql/test/wlcr/Tests/wlc50.py
sql/test/wlcr/Tests/wlc50.stable.out
sql/test/wlcr/Tests/wlc70.py
sql/test/wlcr/Tests/wlc70.stable.out
sql/test/wlcr/Tests/wlr01.py
sql/test/wlcr/Tests/wlr01.stable.out
sql/test/wlcr/Tests/wlr100.py
sql/test/wlcr/Tests/wlr100.stable.out
sql/test/wlcr/Tests/wlr20.py
sql/test/wlcr/Tests/wlr20.stable.out
sql/test/wlcr/Tests/wlr30.py
sql/test/wlcr/Tests/wlr30.stable.out
sql/test/wlcr/Tests/wlr40.py
sql/test/wlcr/Tests/wlr50.py
sql/test/wlcr/Tests/wlr50.stable.out
sql/test/wlcr/Tests/wlr70.py
sql/test/wlcr/Tests/wlr70.stable.out
testing/Mtest.py.in
testing/exportutils.py
tools/merovingian/ChangeLog
tools/mserver/mserver5.c
vertoo.data
Branch: mosaic
Log Message:
Merge with default.
diffs (truncated from 289215 to 300 lines):
diff --git a/.hgtags b/.hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -730,3 +730,10 @@ 2366418b3d88b268117a6f981638c4da686497aa
02147798590c5f9d7c837bec07277313c1fa29cc Apr2019_7
2366418b3d88b268117a6f981638c4da686497aa Apr2019_SP1_release
02147798590c5f9d7c837bec07277313c1fa29cc Apr2019_SP1_release
+a6674f7048a13fe7dc53995a4f723d33a34bce23 Apr2019_9
+02147798590c5f9d7c837bec07277313c1fa29cc Apr2019_SP1_release
+a6674f7048a13fe7dc53995a4f723d33a34bce23 Apr2019_SP1_release
+6566d90185b83ed95129db9ea68baf52f2de5cc7 Apr2019_11
+a6674f7048a13fe7dc53995a4f723d33a34bce23 Apr2019_SP1_release
+6566d90185b83ed95129db9ea68baf52f2de5cc7 Apr2019_SP1_release
+d4c1a8c3cbcd965169f1836eaa635101436db81c Nov2019_root
diff --git a/ChangeLog b/ChangeLog.Nov2019
copy from ChangeLog
copy to ChangeLog.Nov2019
diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -1,5 +1,5 @@
%global name MonetDB
-%global version 11.34.0
+%global version 11.36.0
%{!?buildno: %global buildno %(date +%Y%m%d)}
# Use bcond_with to add a --with option; i.e., "without" is default.
@@ -1061,6 +1061,26 @@ done
%postun -p /sbin/ldconfig
%changelog
+* Fri Aug 30 2019 Sjoerd Mullender <[email protected]> - 11.33.11-20190830
+- Rebuilt.
+- BZ#6749: mserver5 restart aborts/segfaults after dropping column
+ with constraint
+
+* Tue Aug 20 2019 Sjoerd Mullender <[email protected]> - 11.33.9-20190820
+- Rebuilt.
+- BZ#6571: Jdbc connection hangs
+- BZ#6693: mix of long and short queries make JDBC-driver hang
+- BZ#6741: report no such table when execute “alter table tb1 rename
+ to tb2” according to using mapi
+- BZ#6744: CREATE SEQUENCE seq; fails
+- BZ#6748: MonetDB "forgets" columns after ALTER TABLE statements
+- BZ#6751: ODBC driver(11.33.3) Seg Faults when "fn ucase" is used in SQL
+
+* Tue Aug 20 2019 Sjoerd Mullender <[email protected]> - 11.33.9-20190820
+- sql: Many fixes for using the server in a highly concurrent setting with
+ many clients doing read-only queries mixed with clients doing updating
+ queries.
+
* Wed Aug 07 2019 Panagiotis Koutsourakis <[email protected]> -
11.33.7-20190807
- Rebuilt.
diff --git a/NT/monetdb_config.h.in b/NT/monetdb_config.h.in
--- a/NT/monetdb_config.h.in
+++ b/NT/monetdb_config.h.in
@@ -662,7 +662,7 @@
#define PACKAGE_URL "https://www.monetdb.org/"
/* Define to the version of this package. */
-#define PACKAGE_VERSION "11.34.0"
+#define PACKAGE_VERSION "11.36.0"
/* Path separator */
#define PATH_SEP ';'
diff --git a/NT/rules.msc b/NT/rules.msc
--- a/NT/rules.msc
+++ b/NT/rules.msc
@@ -6,7 +6,7 @@
#
# Copyright 1997 - July 2008 CWI, August 2008 - 2019 MonetDB B.V.
-VERSION=11.34.0
+VERSION=11.36.0
# ^^^^^^
# Maintained via vertoo. Please don't modify by hand!
# Contact [email protected] for details and/or
assistance.
diff --git a/buildtools/ChangeLog b/buildtools/ChangeLog.Nov2019
copy from buildtools/ChangeLog
copy to buildtools/ChangeLog.Nov2019
diff --git a/clients/ChangeLog b/clients/ChangeLog.Nov2019
copy from clients/ChangeLog
copy to clients/ChangeLog.Nov2019
diff --git a/clients/Tests/MAL-signatures.stable.out
b/clients/Tests/MAL-signatures.stable.out
--- a/clients/Tests/MAL-signatures.stable.out
+++ b/clients/Tests/MAL-signatures.stable.out
@@ -6117,14 +6117,14 @@ stdout of test 'MAL-signatures` in direc
[ "batcalc", "avg", "pattern batcalc.avg(b:bat[:sht], s:bat[:oid],
scale:int):dbl ", "CMDcalcavg;", "average of non-nil values of B"
]
[ "batcalc", "avg", "pattern batcalc.avg(b:bat[:sht], scale:int) (X_0:dbl,
X_1:lng) ", "CMDcalcavg;", "average and number of non-nil values of B"
]
[ "batcalc", "avg", "pattern batcalc.avg(b:bat[:sht], scale:int):dbl ",
"CMDcalcavg;", "average of non-nil values of B with candidates list" ]
-[ "batcalc", "between", "pattern batcalc.between(b:bat[:any_1],
v1:any_1, v2:any_1, s:bat[:oid], sym:bit, linc:bit, hinc:bit,
nils_false:bit):bat[:bit] ", "CMDbatBETWEEN;", "B between V1 and V2
(or vice versa) with candidate list" ]
-[ "batcalc", "between", "pattern batcalc.between(b:bat[:any_1],
v1:any_1, v2:any_1, sym:bit, linc:bit, hinc:bit, nils_false:bit):bat[:bit] ",
"CMDbatBETWEEN;", "B between V1 and V2 (or vice versa)" ]
-[ "batcalc", "between", "pattern batcalc.between(b:bat[:any_1],
v1:any_1, v2:bat[:any_1], s:bat[:oid], sym:bit, linc:bit, hinc:bit,
nils_false:bit):bat[:bit] ", "CMDbatBETWEEN;", "B between V1 and
V2 (or vice versa) with candidate list" ]
-[ "batcalc", "between", "pattern batcalc.between(b:bat[:any_1],
v1:any_1, v2:bat[:any_1], sym:bit, linc:bit, hinc:bit,
nils_false:bit):bat[:bit] ", "CMDbatBETWEEN;", "B between V1 and V2
(or vice versa)" ]
-[ "batcalc", "between", "pattern batcalc.between(b:bat[:any_1],
v1:bat[:any_1], v2:any_1, s:bat[:oid], sym:bit, linc:bit, hinc:bit,
nils_false:bit):bat[:bit] ", "CMDbatBETWEEN;", "B between V1 and
V2 (or vice versa) with candidate list" ]
-[ "batcalc", "between", "pattern batcalc.between(b:bat[:any_1],
v1:bat[:any_1], v2:any_1, sym:bit, linc:bit, hinc:bit,
nils_false:bit):bat[:bit] ", "CMDbatBETWEEN;", "B between V1 and V2
(or vice versa)" ]
-[ "batcalc", "between", "pattern batcalc.between(b:bat[:any_1],
v1:bat[:any_1], v2:bat[:any_1], s:bat[:oid], sym:bit, linc:bit, hinc:bit,
nils_false:bit):bat[:bit] ", "CMDbatBETWEEN;", "B between V1 and V2 (or
vice versa) with candidate list" ]
-[ "batcalc", "between", "pattern batcalc.between(b:bat[:any_1],
v1:bat[:any_1], v2:bat[:any_1], sym:bit, linc:bit, hinc:bit,
nils_false:bit):bat[:bit] ", "CMDbatBETWEEN;", "B between V1 and V2
(or vice versa)" ]
+[ "batcalc", "between", "pattern batcalc.between(b:bat[:any_1],
v1:any_1, v2:any_1, s:bat[:oid], sym:bit, linc:bit, hinc:bit, nils_false:bit,
anti:bit):bat[:bit] ", "CMDbatBETWEEN;", "B between V1 and V2 (or vice
versa) with candidate list" ]
+[ "batcalc", "between", "pattern batcalc.between(b:bat[:any_1],
v1:any_1, v2:any_1, sym:bit, linc:bit, hinc:bit, nils_false:bit,
anti:bit):bat[:bit] ", "CMDbatBETWEEN;", "B between V1 and V2 (or vice
versa)" ]
+[ "batcalc", "between", "pattern batcalc.between(b:bat[:any_1],
v1:any_1, v2:bat[:any_1], s:bat[:oid], sym:bit, linc:bit, hinc:bit,
nils_false:bit, anti:bit):bat[:bit] ", "CMDbatBETWEEN;", "B between
V1 and V2 (or vice versa) with candidate list" ]
+[ "batcalc", "between", "pattern batcalc.between(b:bat[:any_1],
v1:any_1, v2:bat[:any_1], sym:bit, linc:bit, hinc:bit, nils_false:bit,
anti:bit):bat[:bit] ", "CMDbatBETWEEN;", "B between V1 and V2 (or vice
versa)" ]
+[ "batcalc", "between", "pattern batcalc.between(b:bat[:any_1],
v1:bat[:any_1], v2:any_1, s:bat[:oid], sym:bit, linc:bit, hinc:bit,
nils_false:bit, anti:bit):bat[:bit] ", "CMDbatBETWEEN;", "B between
V1 and V2 (or vice versa) with candidate list" ]
+[ "batcalc", "between", "pattern batcalc.between(b:bat[:any_1],
v1:bat[:any_1], v2:any_1, sym:bit, linc:bit, hinc:bit, nils_false:bit,
anti:bit):bat[:bit] ", "CMDbatBETWEEN;", "B between V1 and V2 (or vice
versa)" ]
+[ "batcalc", "between", "pattern batcalc.between(b:bat[:any_1],
v1:bat[:any_1], v2:bat[:any_1], s:bat[:oid], sym:bit, linc:bit, hinc:bit,
nils_false:bit, anti:bit):bat[:bit] ", "CMDbatBETWEEN;", "B
between V1 and V2 (or vice versa) with candidate list" ]
+[ "batcalc", "between", "pattern batcalc.between(b:bat[:any_1],
v1:bat[:any_1], v2:bat[:any_1], sym:bit, linc:bit, hinc:bit, nils_false:bit,
anti:bit):bat[:bit] ", "CMDbatBETWEEN;", "B between V1 and V2 (or
vice versa)" ]
[ "batcalc", "bit", "pattern batcalc.bit(b:bat[:bit]):bat[:bit] ",
"CMDconvertsignal_bit;", "cast from bit to bit, signal error on
overflow" ]
[ "batcalc", "bit", "pattern batcalc.bit(b:bat[:bit],
s:bat[:oid]):bat[:bit] ", "CMDconvertsignal_bit;", "cast from bit to
bit with candidates list, signal error on overflow" ]
[ "batcalc", "bit", "pattern batcalc.bit(b:bat[:bte]):bat[:bit] ",
"CMDconvertsignal_bit;", "cast from bte to bit, signal error on
overflow" ]
@@ -10066,7 +10066,7 @@ stdout of test 'MAL-signatures` in direc
[ "calc", "and", "pattern calc.and(v1:int, v2:int):int ",
"CMDvarAND;", "Return V1 AND V2" ]
[ "calc", "and", "pattern calc.and(v1:lng, v2:lng):lng ",
"CMDvarAND;", "Return V1 AND V2" ]
[ "calc", "and", "pattern calc.and(v1:sht, v2:sht):sht ",
"CMDvarAND;", "Return V1 AND V2" ]
-[ "calc", "between", "pattern calc.between(b:any_1, lo:any_1,
hi:any_1, sym:bit, linc:bit, hinc:bit, nils_false:bit):bit ",
"CMDvarBETWEEN;", "B between LO and HI inclusive" ]
+[ "calc", "between", "pattern calc.between(b:any_1, lo:any_1,
hi:any_1, sym:bit, linc:bit, hinc:bit, nils_false:bit, anti:bit):bit ",
"CMDvarBETWEEN;", "B between LO and HI inclusive" ]
[ "calc", "bit", "pattern calc.bit(v:bit):bit ", "CMDvarCONVERT;",
"Cast VALUE to bit" ]
[ "calc", "bit", "pattern calc.bit(v:bte):bit ", "CMDvarCONVERT;",
"Cast VALUE to bit" ]
[ "calc", "bit", "pattern calc.bit(v:dbl):bit ", "CMDvarCONVERT;",
"Cast VALUE to bit" ]
@@ -11797,6 +11797,7 @@ stdout of test 'MAL-signatures` in direc
[ "sql", "resultSet", "unsafe pattern sql.resultSet(tbl:bat[:str],
attr:bat[:str], tpe:bat[:str], len:bat[:int], scale:bat[:int], cols:any...):int
", "mvc_row_result_wrap;", "Prepare a table result set for the client
front-end" ]
[ "sql", "resultSet", "unsafe pattern sql.resultSet(tbl:str,
attr:str, tpe:str, len:int, scale:int, eclass:int, val:any):int ",
"mvc_scalar_value_wrap;", "Prepare a table result set for the client
front-end." ]
[ "sql", "resultSet", "unsafe pattern sql.resultSet(tbl:bat[:str],
attr:bat[:str], tpe:bat[:str], len:bat[:int], scale:bat[:int],
cols:bat[:any]...):int ", "mvc_table_result_wrap;", "Prepare a table
result set for the client in default CSV format" ]
+[ "sql", "resume_log_flushing", "command sql.resume_log_flushing():void
", "SQLresume_log_flushing;", "Resume WAL log flushing" ]
[ "sql", "reuse", "pattern sql.reuse(sch:str, tbl:str):void ",
"SQLreuse;", "Consolidate the deletion table over all columns reusing
deleted slots" ]
[ "sql", "round", "command sql.round(v:bte, d:int, s:int,
r:bte):bte ", "bte_round_wrap;", "round off the decimal v(d,s) to r
digits behind the dot (if r < 0, before the dot)" ]
[ "sql", "round", "command sql.round(v:dbl, r:bte):dbl ",
"dbl_round_wrap;", "round off the floating point v to r digits behind the
dot (if r < 0, before the dot)" ]
@@ -11832,6 +11833,7 @@ stdout of test 'MAL-signatures` in direc
[ "sql", "sum", "pattern sql.sum(b:int, s:lng, e:lng):lng ",
"SQLsum;", "return the sum of groups" ]
[ "sql", "sum", "pattern sql.sum(b:lng, s:lng, e:lng):lng ",
"SQLsum;", "return the sum of groups" ]
[ "sql", "sum", "pattern sql.sum(b:sht, s:lng, e:lng):lng ",
"SQLsum;", "return the sum of groups" ]
+[ "sql", "suspend_log_flushing", "command
sql.suspend_log_flushing():void ", "SQLsuspend_log_flushing;", "Suspend
WAL log flushing" ]
[ "sql", "sysmon_pause", "pattern sql.sysmon_pause(tag:int):void ",
"SYSMONpause;", "" ]
[ "sql", "sysmon_pause", "pattern sql.sysmon_pause(tag:lng):void ",
"SYSMONpause;", "" ]
[ "sql", "sysmon_pause", "pattern sql.sysmon_pause(tag:sht):void ",
"SYSMONpause;", "" ]
@@ -12057,7 +12059,6 @@ stdout of test 'MAL-signatures` in direc
[ "uuid", "#read", "command uuid.#read():void ", "UUIDread;",
"" ]
[ "uuid", "#tostr", "command uuid.#tostr():void ",
"UUIDtoString;", "" ]
[ "uuid", "#write", "command uuid.#write():void ", "UUIDwrite;",
"" ]
-[ "uuid", "epilogue", "command uuid.epilogue():void ",
"UUIDepilogue;", "release the resources held by the uuid module" ]
[ "uuid", "isaUUID", "command uuid.isaUUID(u:str):bit ",
"UUIDisaUUID;", "Test a string for a UUID format" ]
[ "uuid", "new", "unsafe command uuid.new():uuid ",
"UUIDgenerateUuid;", "Generate a new uuid" ]
[ "uuid", "new", "unsafe command uuid.new(d:int):uuid ",
"UUIDgenerateUuidInt;", "Generate a new uuid (dummy version for side effect
free multiplex loop)" ]
@@ -12229,7 +12230,6 @@ stdout of test 'MAL-signatures` in direc
[ "xml", "document", "command xml.document(val:str):xml ",
"XMLdocument;", "Check the value for compliance as XML document" ]
[ "xml", "element", "command xml.element(name:str, ns:xml,
attr:xml, s:xml):xml ", "XMLelement;", "The basic building block for XML
elements are namespaces, attributes and a sequence of xml elements. The name
space and the attributes may be left unspecified(=nil:bat)." ]
[ "xml", "element", "command xml.element(name:str, s:xml):xml ",
"XMLelementSmall;", "The basic building block for XML elements are
namespaces, attributes and a sequence of xml elements. The name space and the
attributes may be left unspecified(=nil:bat)." ]
-[ "xml", "epilogue", "command xml.epilogue():void ", "XMLepilogue;",
"release the resources held by the xml module" ]
[ "xml", "forest", "pattern xml.forest(val:xml...):xml ",
"XMLforest;", "Construct an element list" ]
[ "xml", "isdocument", "command xml.isdocument(val:str):bit ",
"XMLisdocument;", "Validate the string as a document" ]
[ "xml", "parse", "command xml.parse(doccont:str, val:str,
option:str):xml ", "XMLparse;", "Parse the XML document or element
string values " ]
diff --git a/clients/Tests/MAL-signatures.stable.out.int128
b/clients/Tests/MAL-signatures.stable.out.int128
--- a/clients/Tests/MAL-signatures.stable.out.int128
+++ b/clients/Tests/MAL-signatures.stable.out.int128
@@ -8651,22 +8651,14 @@ stdout of test 'MAL-signatures` in direc
[ "batcalc", "avg", "pattern batcalc.avg(b:bat[:sht], s:bat[:oid],
scale:int):dbl ", "CMDcalcavg;", "average of non-nil values of B"
]
[ "batcalc", "avg", "pattern batcalc.avg(b:bat[:sht], scale:int) (X_0:dbl,
X_1:lng) ", "CMDcalcavg;", "average and number of non-nil values of B"
]
[ "batcalc", "avg", "pattern batcalc.avg(b:bat[:sht], scale:int):dbl ",
"CMDcalcavg;", "average of non-nil values of B with candidates list" ]
-[ "batcalc", "between", "pattern batcalc.between(b:bat[:any_1],
v1:any_1, v2:any_1, s:bat[:oid], sym:bit, linc:bit, hinc:bit,
nils_false:bit):bat[:bit] ", "CMDbatBETWEEN;", "B between V1 and V2
(or vice versa) with candidate list" ]
-[ "batcalc", "between", "pattern batcalc.between(b:bat[:any_1],
v1:any_1, v2:any_1, sym:bit, linc:bit, hinc:bit, nils_false:bit):bat[:bit] ",
"CMDbatBETWEEN;", "B between V1 and V2 (or vice versa)" ]
-[ "batcalc", "between", "pattern batcalc.between(b:bat[:any_1],
v1:any_1, v2:bat[:any_1], s:bat[:oid], sym:bit, linc:bit, hinc:bit,
nils_false:bit):bat[:bit] ", "CMDbatBETWEEN;", "B between V1 and
V2 (or vice versa) with candidate list" ]
-[ "batcalc", "between", "pattern batcalc.between(b:bat[:any_1],
v1:any_1, v2:bat[:any_1], sym:bit, linc:bit, hinc:bit,
nils_false:bit):bat[:bit] ", "CMDbatBETWEEN;", "B between V1 and V2
(or vice versa)" ]
-[ "batcalc", "between", "pattern batcalc.between(b:bat[:any_1],
v1:bat[:any_1], v2:any_1, s:bat[:oid], sym:bit, linc:bit, hinc:bit,
nils_false:bit):bat[:bit] ", "CMDbatBETWEEN;", "B between V1 and
V2 (or vice versa) with candidate list" ]
-[ "batcalc", "between", "pattern batcalc.between(b:bat[:any_1],
v1:bat[:any_1], v2:any_1, sym:bit, linc:bit, hinc:bit,
nils_false:bit):bat[:bit] ", "CMDbatBETWEEN;", "B between V1 and V2
(or vice versa)" ]
-[ "batcalc", "between", "pattern batcalc.between(b:bat[:any_1],
v1:bat[:any_1], v2:bat[:any_1], s:bat[:oid], sym:bit, linc:bit, hinc:bit,
nils_false:bit):bat[:bit] ", "CMDbatBETWEEN;", "B between V1 and V2 (or
vice versa) with candidate list" ]
-[ "batcalc", "between", "pattern batcalc.between(b:bat[:any_1],
v1:bat[:any_1], v2:bat[:any_1], sym:bit, linc:bit, hinc:bit,
nils_false:bit):bat[:bit] ", "CMDbatBETWEEN;", "B between V1 and V2
(or vice versa)" ]
-[ "batcalc", "between", "pattern batcalc.between(b:bat[:hge],
lo:bat[:hge], hi:bat[:hge]):bat[:bit] ", "CMDbatBETWEEN;", "B between LO
and HI inclusive, nil border is (minus) infinity" ]
-[ "batcalc", "between", "pattern batcalc.between(b:bat[:hge],
lo:bat[:hge], hi:bat[:hge], s:bat[:oid]):bat[:bit] ", "CMDbatBETWEEN;",
"B between LO and HI inclusive with candidates list, nil border is (minus)
infinity" ]
-[ "batcalc", "between", "pattern batcalc.between(b:bat[:hge],
lo:bat[:hge], hi:hge):bat[:bit] ", "CMDbatBETWEEN;", "B between LO
and HI inclusive, nil border is (minus) infinity" ]
-[ "batcalc", "between", "pattern batcalc.between(b:bat[:hge],
lo:bat[:hge], hi:hge, s:bat[:oid]):bat[:bit] ", "CMDbatBETWEEN;", "B
between LO and HI inclusive with candidates list, nil border is (minus)
infinity" ]
-[ "batcalc", "between", "pattern batcalc.between(b:bat[:hge], lo:hge,
hi:bat[:hge]):bat[:bit] ", "CMDbatBETWEEN;", "B between LO and HI
inclusive, nil border is (minus) infinity" ]
-[ "batcalc", "between", "pattern batcalc.between(b:bat[:hge], lo:hge,
hi:bat[:hge], s:bat[:oid]):bat[:bit] ", "CMDbatBETWEEN;", "B between LO
and HI inclusive with candidates list, nil border is (minus) infinity" ]
-[ "batcalc", "between", "pattern batcalc.between(b:bat[:hge], lo:hge,
hi:hge):bat[:bit] ", "CMDbatBETWEEN;", "B between LO and HI
inclusive, nil border is (minus) infinity" ]
-[ "batcalc", "between", "pattern batcalc.between(b:bat[:hge], lo:hge,
hi:hge, s:bat[:oid]):bat[:bit] ", "CMDbatBETWEEN;", "B between LO and HI
inclusive with candidates list, nil border is (minus) infinity" ]
+[ "batcalc", "between", "pattern batcalc.between(b:bat[:any_1],
v1:any_1, v2:any_1, s:bat[:oid], sym:bit, linc:bit, hinc:bit, nils_false:bit,
anti:bit):bat[:bit] ", "CMDbatBETWEEN;", "B between V1 and V2 (or vice
versa) with candidate list" ]
+[ "batcalc", "between", "pattern batcalc.between(b:bat[:any_1],
v1:any_1, v2:any_1, sym:bit, linc:bit, hinc:bit, nils_false:bit,
anti:bit):bat[:bit] ", "CMDbatBETWEEN;", "B between V1 and V2 (or vice
versa)" ]
+[ "batcalc", "between", "pattern batcalc.between(b:bat[:any_1],
v1:any_1, v2:bat[:any_1], s:bat[:oid], sym:bit, linc:bit, hinc:bit,
nils_false:bit, anti:bit):bat[:bit] ", "CMDbatBETWEEN;", "B between
V1 and V2 (or vice versa) with candidate list" ]
+[ "batcalc", "between", "pattern batcalc.between(b:bat[:any_1],
v1:any_1, v2:bat[:any_1], sym:bit, linc:bit, hinc:bit, nils_false:bit,
anti:bit):bat[:bit] ", "CMDbatBETWEEN;", "B between V1 and V2 (or vice
versa)" ]
+[ "batcalc", "between", "pattern batcalc.between(b:bat[:any_1],
v1:bat[:any_1], v2:any_1, s:bat[:oid], sym:bit, linc:bit, hinc:bit,
nils_false:bit, anti:bit):bat[:bit] ", "CMDbatBETWEEN;", "B between
V1 and V2 (or vice versa) with candidate list" ]
+[ "batcalc", "between", "pattern batcalc.between(b:bat[:any_1],
v1:bat[:any_1], v2:any_1, sym:bit, linc:bit, hinc:bit, nils_false:bit,
anti:bit):bat[:bit] ", "CMDbatBETWEEN;", "B between V1 and V2 (or vice
versa)" ]
+[ "batcalc", "between", "pattern batcalc.between(b:bat[:any_1],
v1:bat[:any_1], v2:bat[:any_1], s:bat[:oid], sym:bit, linc:bit, hinc:bit,
nils_false:bit, anti:bit):bat[:bit] ", "CMDbatBETWEEN;", "B
between V1 and V2 (or vice versa) with candidate list" ]
+[ "batcalc", "between", "pattern batcalc.between(b:bat[:any_1],
v1:bat[:any_1], v2:bat[:any_1], sym:bit, linc:bit, hinc:bit, nils_false:bit,
anti:bit):bat[:bit] ", "CMDbatBETWEEN;", "B between V1 and V2 (or
vice versa)" ]
[ "batcalc", "bit", "pattern batcalc.bit(b:bat[:bit]):bat[:bit] ",
"CMDconvertsignal_bit;", "cast from bit to bit, signal error on
overflow" ]
[ "batcalc", "bit", "pattern batcalc.bit(b:bat[:bit],
s:bat[:oid]):bat[:bit] ", "CMDconvertsignal_bit;", "cast from bit to
bit with candidates list, signal error on overflow" ]
[ "batcalc", "bit", "pattern batcalc.bit(b:bat[:bte]):bat[:bit] ",
"CMDconvertsignal_bit;", "cast from bte to bit, signal error on
overflow" ]
@@ -14218,7 +14210,7 @@ stdout of test 'MAL-signatures` in direc
[ "calc", "and", "pattern calc.and(v1:int, v2:int):int ",
"CMDvarAND;", "Return V1 AND V2" ]
[ "calc", "and", "pattern calc.and(v1:lng, v2:lng):lng ",
"CMDvarAND;", "Return V1 AND V2" ]
[ "calc", "and", "pattern calc.and(v1:sht, v2:sht):sht ",
"CMDvarAND;", "Return V1 AND V2" ]
-[ "calc", "between", "pattern calc.between(b:any_1, lo:any_1,
hi:any_1, sym:bit, linc:bit, hinc:bit, nils_false:bit):bit ",
"CMDvarBETWEEN;", "B between LO and HI inclusive" ]
+[ "calc", "between", "pattern calc.between(b:any_1, lo:any_1,
hi:any_1, sym:bit, linc:bit, hinc:bit, nils_false:bit, anti:bit):bit ",
"CMDvarBETWEEN;", "B between LO and HI inclusive" ]
[ "calc", "bit", "pattern calc.bit(v:bit):bit ", "CMDvarCONVERT;",
"Cast VALUE to bit" ]
[ "calc", "bit", "pattern calc.bit(v:bte):bit ", "CMDvarCONVERT;",
"Cast VALUE to bit" ]
[ "calc", "bit", "pattern calc.bit(v:dbl):bit ", "CMDvarCONVERT;",
"Cast VALUE to bit" ]
@@ -16216,6 +16208,7 @@ stdout of test 'MAL-signatures` in direc
[ "sql", "resultSet", "unsafe pattern sql.resultSet(tbl:bat[:str],
attr:bat[:str], tpe:bat[:str], len:bat[:int], scale:bat[:int], cols:any...):int
", "mvc_row_result_wrap;", "Prepare a table result set for the client
front-end" ]
[ "sql", "resultSet", "unsafe pattern sql.resultSet(tbl:str,
attr:str, tpe:str, len:int, scale:int, eclass:int, val:any):int ",
"mvc_scalar_value_wrap;", "Prepare a table result set for the client
front-end." ]
[ "sql", "resultSet", "unsafe pattern sql.resultSet(tbl:bat[:str],
attr:bat[:str], tpe:bat[:str], len:bat[:int], scale:bat[:int],
cols:bat[:any]...):int ", "mvc_table_result_wrap;", "Prepare a table
result set for the client in default CSV format" ]
+[ "sql", "resume_log_flushing", "command sql.resume_log_flushing():void
", "SQLresume_log_flushing;", "Resume WAL log flushing" ]
[ "sql", "reuse", "pattern sql.reuse(sch:str, tbl:str):void ",
"SQLreuse;", "Consolidate the deletion table over all columns reusing
deleted slots" ]
[ "sql", "round", "command sql.round(v:bte, d:int, s:int,
r:bte):bte ", "bte_round_wrap;", "round off the decimal v(d,s) to r
digits behind the dot (if r < 0, before the dot)" ]
[ "sql", "round", "command sql.round(v:dbl, r:bte):dbl ",
"dbl_round_wrap;", "round off the floating point v to r digits behind the
dot (if r < 0, before the dot)" ]
@@ -16257,6 +16250,7 @@ stdout of test 'MAL-signatures` in direc
[ "sql", "sum", "pattern sql.sum(b:lng, s:lng, e:lng):lng ",
"SQLsum;", "return the sum of groups" ]
[ "sql", "sum", "pattern sql.sum(b:sht, s:lng, e:lng):hge ",
"SQLsum;", "return the sum of groups" ]
[ "sql", "sum", "pattern sql.sum(b:sht, s:lng, e:lng):lng ",
"SQLsum;", "return the sum of groups" ]
+[ "sql", "suspend_log_flushing", "command
sql.suspend_log_flushing():void ", "SQLsuspend_log_flushing;", "Suspend
WAL log flushing" ]
[ "sql", "sysmon_pause", "pattern sql.sysmon_pause(tag:int):void ",
"SYSMONpause;", "" ]
[ "sql", "sysmon_pause", "pattern sql.sysmon_pause(tag:lng):void ",
"SYSMONpause;", "" ]
[ "sql", "sysmon_pause", "pattern sql.sysmon_pause(tag:sht):void ",
"SYSMONpause;", "" ]
@@ -16485,7 +16479,6 @@ stdout of test 'MAL-signatures` in direc
[ "uuid", "#read", "command uuid.#read():void ", "UUIDread;",
"" ]
[ "uuid", "#tostr", "command uuid.#tostr():void ",
"UUIDtoString;", "" ]
[ "uuid", "#write", "command uuid.#write():void ", "UUIDwrite;",
"" ]
-[ "uuid", "epilogue", "command uuid.epilogue():void ",
"UUIDepilogue;", "release the resources held by the uuid module" ]
[ "uuid", "isaUUID", "command uuid.isaUUID(u:str):bit ",
"UUIDisaUUID;", "Test a string for a UUID format" ]
[ "uuid", "new", "unsafe command uuid.new():uuid ",
"UUIDgenerateUuid;", "Generate a new uuid" ]
[ "uuid", "new", "unsafe command uuid.new(d:int):uuid ",
"UUIDgenerateUuidInt;", "Generate a new uuid (dummy version for side effect
free multiplex loop)" ]
@@ -16657,7 +16650,6 @@ stdout of test 'MAL-signatures` in direc
[ "xml", "document", "command xml.document(val:str):xml ",
"XMLdocument;", "Check the value for compliance as XML document" ]
[ "xml", "element", "command xml.element(name:str, ns:xml,
attr:xml, s:xml):xml ", "XMLelement;", "The basic building block for XML
elements are namespaces, attributes and a sequence of xml elements. The name
space and the attributes may be left unspecified(=nil:bat)." ]
[ "xml", "element", "command xml.element(name:str, s:xml):xml ",
"XMLelementSmall;", "The basic building block for XML elements are
namespaces, attributes and a sequence of xml elements. The name space and the
attributes may be left unspecified(=nil:bat)." ]
-[ "xml", "epilogue", "command xml.epilogue():void ", "XMLepilogue;",
"release the resources held by the xml module" ]
[ "xml", "forest", "pattern xml.forest(val:xml...):xml ",
"XMLforest;", "Construct an element list" ]
[ "xml", "isdocument", "command xml.isdocument(val:str):bit ",
"XMLisdocument;", "Validate the string as a document" ]
[ "xml", "parse", "command xml.parse(doccont:str, val:str,
option:str):xml ", "XMLparse;", "Parse the XML document or element
string values " ]
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
@@ -27,10 +27,10 @@ BAT *BATcalcaddcst(BAT *b, const ValReco
BAT *BATcalcand(BAT *b1, BAT *b2, BAT *s);
BAT *BATcalcandcst(BAT *b, const ValRecord *v, BAT *s);
gdk_return BATcalcavg(BAT *b, BAT *s, dbl *avg, BUN *vals, int scale);
-BAT *BATcalcbetween(BAT *b, BAT *lo, BAT *hi, BAT *s, bool symmetric, bool
linc, bool hinc, bool nils_false);
-BAT *BATcalcbetweenbatcst(BAT *b, BAT *lo, const ValRecord *hi, BAT *s, bool
symmetric, bool linc, bool hinc, bool nils_false);
-BAT *BATcalcbetweencstbat(BAT *b, const ValRecord *lo, BAT *hi, BAT *s, bool
symmetric, bool linc, bool hinc, bool nils_false);
-BAT *BATcalcbetweencstcst(BAT *b, const ValRecord *lo, const ValRecord *hi,
BAT *s, bool symmetric, bool linc, bool hinc, bool nils_false);
+BAT *BATcalcbetween(BAT *b, BAT *lo, BAT *hi, BAT *s, bool symmetric, bool
linc, bool hinc, bool nils_false, bool anti);
+BAT *BATcalcbetweenbatcst(BAT *b, BAT *lo, const ValRecord *hi, BAT *s, bool
symmetric, bool linc, bool hinc, bool nils_false, bool anti);
+BAT *BATcalcbetweencstbat(BAT *b, const ValRecord *lo, BAT *hi, BAT *s, bool
symmetric, bool linc, bool hinc, bool nils_false, bool anti);
+BAT *BATcalcbetweencstcst(BAT *b, const ValRecord *lo, const ValRecord *hi,
BAT *s, bool symmetric, bool linc, bool hinc, bool nils_false, bool anti);
BAT *BATcalccmp(BAT *b1, BAT *b2, BAT *s);
BAT *BATcalccmpcst(BAT *b, const ValRecord *v, BAT *s);
BAT *BATcalccstadd(const ValRecord *v, BAT *b, BAT *s, int tp, bool
abort_on_error);
@@ -106,8 +106,8 @@ dbl BATcalcvariance_population(dbl *avgp
dbl BATcalcvariance_sample(dbl *avgp, BAT *b);
BAT *BATcalcxor(BAT *b1, BAT *b2, BAT *s);
BAT *BATcalcxorcst(BAT *b, const ValRecord *v, BAT *s);
-bool BATcandcontains(BAT *s, oid o);
int BATcheckmosaic(BAT *b);
+bool BATcheckorderidx(BAT *b);
gdk_return BATclear(BAT *b, bool force);
void BATcommit(BAT *b);
BAT *BATconstant(oid hseq, int tt, const void *val, BUN cnt, role_t role);
@@ -123,7 +123,7 @@ gdk_return BATfirstn(BAT **topn, BAT **g
restrict_t BATgetaccess(BAT *b);
PROPrec *BATgetprop(BAT *b, enum prop_t idx);
gdk_return BATgroup(BAT **groups, BAT **extents, BAT **histo, BAT *b, BAT *s,
BAT *g, BAT *e, BAT *h) __attribute__((__warn_unused_result__));
-const char *BATgroupaggrinit(BAT *b, BAT *g, BAT *e, BAT *s, oid *minp, oid
*maxp, BUN *ngrpp, BUN *startp, BUN *endp, const oid **candp, const oid
**candendp);
+const char *BATgroupaggrinit(BAT *b, BAT *g, BAT *e, BAT *s, oid *minp, oid
*maxp, BUN *ngrpp, struct canditer *ci, BUN *ncand);
gdk_return BATgroupavg(BAT **bnp, BAT **cntsp, BAT *b, BAT *g, BAT *e, BAT *s,
int tp, bool skip_nils, bool abort_on_error, int scale);
BAT *BATgroupcount(BAT *b, BAT *g, BAT *e, BAT *s, int tp, bool skip_nils,
bool abort_on_error);
BAT *BATgroupmax(BAT *b, BAT *g, BAT *e, BAT *s, int tp, bool skip_nils, bool
abort_on_error);
@@ -156,6 +156,7 @@ void *BATmin_skipnil(BAT *b, void *aggr,
gdk_return BATmode(BAT *b, bool transient);
gdk_return BATmosaic(BAT *b, BUN cap);
void BATmsync(BAT *b);
+gdk_return BATnegcands(BAT *cands, BAT *odels);
bool BATordered(BAT *b);
bool BATordered_rev(BAT *b);
gdk_return BATorderidx(BAT *b, bool stable);
@@ -171,6 +172,7 @@ void BATrmprop(BAT *b, enum prop_t idx);
gdk_return BATroles(BAT *b, const char *tnme);
BAT *BATsample(BAT *b, BUN n);
BAT *BATsample_with_seed(BAT *b, BUN n, unsigned seed);
+gdk_return BATsave(BAT *b) __attribute__((__warn_unused_result__));
BAT *BATselect(BAT *b, BAT *s, const void *tl, const void *th, bool li, bool
hi, bool anti);
gdk_return BATsemijoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr,
bool nil_matches, BUN estimate) __attribute__((__warn_unused_result__));
gdk_return BATsetaccess(BAT *b, restrict_t mode);
@@ -362,7 +364,7 @@ ValPtr VALset(ValPtr v, int t, void *p);
gdk_return VARcalcabsolute(ValPtr ret, const ValRecord *v);
gdk_return VARcalcadd(ValPtr ret, const ValRecord *lft, const ValRecord *rgt,
bool abort_on_error);
gdk_return VARcalcand(ValPtr ret, const ValRecord *lft, const ValRecord *rgt);
-gdk_return VARcalcbetween(ValPtr ret, const ValRecord *v, const ValRecord *lo,
const ValRecord *hi, bool symmetric, bool linc, bool hinc, bool nils_false);
+gdk_return VARcalcbetween(ValPtr ret, const ValRecord *v, const ValRecord *lo,
const ValRecord *hi, bool symmetric, bool linc, bool hinc, bool nils_false,
bool anti);
gdk_return VARcalccmp(ValPtr ret, const ValRecord *lft, const ValRecord *rgt);
gdk_return VARcalcdecr(ValPtr ret, const ValRecord *v, bool abort_on_error);
gdk_return VARcalcdiv(ValPtr ret, const ValRecord *lft, const ValRecord *rgt,
bool abort_on_error);
@@ -400,6 +402,17 @@ ssize_t bitToStr(str *dst, size_t *len,
ssize_t bteFromStr(const char *src, size_t *len, bte **dst, bool external);
ssize_t bteToStr(str *dst, size_t *len, const bte *src, bool external);
const bte bte_nil;
+oid canditer_idx(struct canditer *ci, BUN p);
+BUN canditer_init(struct canditer *ci, BAT *b, BAT *s);
+oid canditer_last(struct canditer *ci);
+oid canditer_peek(struct canditer *ci);
+oid canditer_peekprev(struct canditer *ci);
+oid canditer_prev(struct canditer *ci);
+void canditer_reset(struct canditer *ci);
+BUN canditer_search(struct canditer *ci, oid o, bool next);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list