MonetDB: unlock - merged
Changeset: 6414b75bf78b for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=6414b75bf78b Modified Files: clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 clients/Tests/exports.stable.out gdk/CMakeLists.txt gdk/gdk_aggr.c gdk/gdk_bat.c gdk/gdk_firstn.c gdk/gdk_group.c gdk/gdk_hash.c gdk/gdk_imprints.c gdk/gdk_join.c gdk/gdk_orderidx.c gdk/gdk_project.c gdk/gdk_select.c gdk/gdk_unique.c monetdb5/mal/mal_interpreter.c monetdb5/modules/kernel/batmmath.c monetdb5/modules/mal/CMakeLists.txt monetdb5/optimizer/CMakeLists.txt sql/backends/monet5/rel_bin.c sql/backends/monet5/sql.c sql/backends/monet5/sql_statement.c sql/common/sql_types.c sql/server/rel_optimizer.c sql/server/rel_updates.c sql/test/BugTracker-2019/Tests/duplicates-not-eliminated-long-CASE-stmt.Bug-6697.stable.out 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/remote/Tests/partition_elim.stable.out sql/test/sys-schema/Tests/systemfunctions.stable.out sql/test/sys-schema/Tests/systemfunctions.stable.out.int128 Branch: unlock Log Message: merged diffs (truncated from 192223 to 300 lines): diff --git a/.hgignore b/.hgignore --- a/.hgignore +++ b/.hgignore @@ -15,32 +15,7 @@ syntax: glob # recommended build process plus a few patterns of files that we never # want in the repository (object files and such). -# files generated by bootstrap -Makefile.am -Makefile.in -Makefile.msc -aclocal.m4 -acout.in -autom4te.cache -buildtools/conf/compile -buildtools/conf/config.guess -buildtools/conf/config.sub -buildtools/conf/install-sh -buildtools/conf/libtool.m4 -buildtools/conf/ltmain.sh -buildtools/conf/ltoptions.m4 -buildtools/conf/ltsugar.m4 -buildtools/conf/ltversion.m4 -buildtools/conf/lt~obsolete.m4 -buildtools/conf/missing -buildtools/conf/ylwrap -configure -configure.ac -doc.lst -install.lst -monetdb_config.h.in *.pyc -sql/backends/monet5/UDF/capi/cheader.text.h # files generated by various editors *.swp @@ -73,21 +48,6 @@ tags *.rej *.orig -# build results on Windows -NT/.monetdb -NT/buildtools -NT/clients -NT/common -NT/gdk -NT/geom -NT/java -NT/monetdb5 -NT/monetdb_config.h -NT/sql -NT/testing -NT/tools -NT/unistd.h - # package building on Mac OS X MacOSX/build MacOSX/usr diff --git a/misc/packages/rpm/COPYING b/COPYING rename from misc/packages/rpm/COPYING rename to COPYING diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -65,6 +65,9 @@ # operators. Otherwise the POSIX regex functions are used. %bcond_without pcre +# By default, include C integration +%bcond_without cintegration + %if %{fedpkgs} # By default, create the MonetDB-R package. %bcond_without rintegration @@ -108,6 +111,7 @@ BuildRequires: checkpolicy BuildRequires: selinux-policy-devel BuildRequires: hardlink %endif +BuildRequires: cmake >= 3.12 BuildRequires: gcc BuildRequires: bison BuildRequires: /usr/bin/python3 @@ -187,6 +191,7 @@ functionality of MonetDB. %{_includedir}/monetdb/gdk*.h %{_includedir}/monetdb/matomic.h %{_includedir}/monetdb/mstring.h +%exclude %{_includedir}/monetdb/monetdbe.h %{_includedir}/monetdb/monet*.h %{_libdir}/libbat.so %{_libdir}/pkgconfig/monetdb-gdk.pc @@ -462,7 +467,6 @@ Provides: MonetDB5-server-hugeint%{?_isa %endif %if (0%{?fedora} >= 22) Recommends: %{name}-SQL-server5%{?_isa} = %{version}-%{release} -%endif Suggests: %{name}-client%{?_isa} = %{version}-%{release} %endif # versions up to 1.0.5 don't accept the queryid field in the result set @@ -515,7 +519,10 @@ exit 0 %{_libdir}/libmonetdb5.so.* %dir %{_libdir}/monetdb5 %{_libdir}/monetdb5/microbenchmark.mal +%{_libdir}/monetdb5/run_*.mal +%if %{with cintegration} %{_libdir}/monetdb5/lib_capi.so +%endif %{_libdir}/monetdb5/lib_generator.so %{_libdir}/monetdb5/lib_udf.so %doc %{_mandir}/man1/mserver5.1.gz @@ -540,7 +547,6 @@ used from the MAL level. %files -n MonetDB5-server-devel %defattr(-,root,root) -%dir %{_includedir}/monetdb %{_includedir}/monetdb/mal*.h %{_libdir}/libmonetdb5.so %{_libdir}/pkgconfig/monetdb5.pc @@ -599,13 +605,50 @@ use SQL with MonetDB, you will need to i %config(noreplace) %attr(664,monetdb,monetdb) %{_localstatedir}/monetdb5/dbfarm/.merovingian_properties %verify(not mtime) %attr(664,monetdb,monetdb) %{_localstatedir}/monetdb5/dbfarm/.merovingian_lock %config(noreplace) %attr(644,root,root) %{_sysconfdir}/logrotate.d/monetdbd -%{_libdir}/monetdb5/lib_sql.so +%{_libdir}/monetdb5/lib_sql.so* %doc %{_mandir}/man1/monetdb.1.gz %doc %{_mandir}/man1/monetdbd.1.gz %dir %{_datadir}/doc/MonetDB-SQL %docdir %{_datadir}/doc/MonetDB-SQL %{_datadir}/doc/MonetDB-SQL/* +%package
MonetDB: default - sqlancer type mismatch str := bat[:str]. Code...
Changeset: 1e98748ea422 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=1e98748ea422 Modified Files: sql/test/SQLancer/Tests/sqlancer04.sql Branch: default Log Message: sqlancer type mismatch str := bat[:str]. Code generation problem? diffs (20 lines): diff --git a/sql/test/SQLancer/Tests/sqlancer04.sql b/sql/test/SQLancer/Tests/sqlancer04.sql --- a/sql/test/SQLancer/Tests/sqlancer04.sql +++ b/sql/test/SQLancer/Tests/sqlancer04.sql @@ -161,3 +161,16 @@ CREATE TABLE t0(c0 INTERVAL SECOND, c1 s create view v0(c0) as (select distinct t0.c1 from t0); SELECT ALL AVG(ALL CASE COALESCE(CAST(v0.c0 AS REAL), atan(v0.c0, v0.c0)) WHEN abs(0.7471649) THEN INTERVAL '1865286244' MONTH END) FROM v0 GROUP BY COALESCE(v0.c0)+(v0.c0)))&(v0.c0)), v0.c0, CAST("second"(TIME '01:32:22') AS INT)); ROLLBACK; + +START TRANSACTION; +CREATE TABLE "sys"."t0" ("c0" DOUBLE,"c1" INTERVAL MONTH); +COPY 4 RECORDS INTO "sys"."t0" FROM stdin USING DELIMITERS E'\t',E'\n','"'; +NULL 1876068957 +NULL 1798321013 +0.8609488658910056 496732801 +0.6220338267946794 1689393833 + +SELECT 1 FROM t0 WHERE 'b' = COALESCE('1', CASE WHEN 2 THEN 'a' END); +SELECT MAX(ALL 0.47279814) FROM t0 WHERE ((r'Vቕ*2DGj!K-?')NOT ILIKE(COALESCE(r'뷿', upper(r'1285890467'), r'R B+ ]%''?E}%<[cöjö媘թ丅MJV%r&伉', +CASE WHEN -681304440 THEN r'+s' WHEN -2104930505 THEN r'M[' END))) GROUP BY t0.c0, t0.c1; +ROLLBACK; ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: oscar - Use cmake3 so that we can build on CentOS 7.
Changeset: 16bd4bee771d for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=16bd4bee771d Modified Files: MonetDB.spec Branch: oscar Log Message: Use cmake3 so that we can build on CentOS 7. diffs (39 lines): diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -111,7 +111,7 @@ BuildRequires: checkpolicy BuildRequires: selinux-policy-devel BuildRequires: hardlink %endif -BuildRequires: cmake >= 3.12 +BuildRequires: cmake3 >= 3.12 BuildRequires: gcc BuildRequires: bison BuildRequires: /usr/bin/python3 @@ -762,7 +762,7 @@ fi %setup -q %build -%{cmake} \ +%cmake3 \ -DASSERT=OFF \ -DCINTEGRATION=%{?with_cintegration:ON}%{!?with_cintegration:OFF} \ -DFITS=%{?with_fits:ON}%{!?with_fits:OFF} \ @@ -791,7 +791,7 @@ fi -DWITH_XML2=ON \ -DWITH_ZLIB=ON -%cmake_build +%cmake3_build %if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} >= 7 cd buildtools/selinux @@ -810,7 +810,7 @@ cd - %endif %install -%cmake_install +%cmake3_install # move file to correct location %if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} >= 7 ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Making SQLancer happy. Keep relation names wh...
Changeset: 380fec712a3d for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=380fec712a3d Modified Files: sql/server/rel_select.c sql/test/BugTracker-2015/Tests/outerjoin_project.Bug-3725.stable.out sql/test/BugTracker-2018/Tests/multi-column-hash-wrongly-NIL.Bug-6638.stable.out sql/test/BugTracker-2019/Tests/disallow_duplicate_column_aliases.Bug-6723.stable.out sql/test/BugTracker/Tests/full_join_crash.SF-1841754.stable.out sql/test/SQLancer/Tests/sqlancer04.sql sql/test/SQLancer/Tests/sqlancer04.stable.err sql/test/SQLancer/Tests/sqlancer04.stable.out sql/test/bugs/Tests/subselect_single_value-bug-sf-962099.stable.out Branch: default Log Message: Making SQLancer happy. Keep relation names while referencing them, so later their columns can be found on a natural join diffs (truncated from 382 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 @@ -197,15 +197,14 @@ rel_table_optname(mvc *sql, sql_rel *sq, ne = sq->exps->h; for (; ne; ne = ne->next) { sql_exp *e = ne->data; - - /* - if (exp_name(e) && exps_bind_column2(l, tname, exp_name(e))) - return sql_error(sql, ERR_AMBIGUOUS, SQLSTATE(42000) "SELECT: Duplicate column name '%s.%s'", tname, exp_name(e)); - */ - noninternexp_setname(sql->sa, e, tname, NULL ); - if (!is_intern(e)) + char *name = NULL; + + if (!is_intern(e)) { + if (!exp_name(e)) + name = make_label(sql->sa, ++sql->label); + noninternexp_setname(sql->sa, e, tname, name); set_basecol(e); - append(l, e); + } } } } else { @@ -252,19 +251,19 @@ rel_with_query(sql_query *query, symbol for (d = d->data.lval->h; d; d = d->next) { symbol *sym = d->data.sym; dnode *dn = sym->data.lval->h; - char *name = qname_schema_object(dn->data.lval); + char *rname = qname_schema_object(dn->data.lval); sql_rel *nrel; - if (frame_find_rel_view(sql, name)) { + if (frame_find_rel_view(sql, rname)) { stack_pop_frame(sql); - return sql_error(sql, 01, SQLSTATE(42000) "View '%s' already declared", name); + return sql_error(sql, 01, SQLSTATE(42000) "View '%s' already declared", rname); } nrel = rel_semantic(query, sym); if (!nrel) { stack_pop_frame(sql); return NULL; } - if (!stack_push_rel_view(sql, name, nrel)) { + if (!stack_push_rel_view(sql, rname, nrel)) { stack_pop_frame(sql); return sql_error(sql, 02, SQLSTATE(HY013) MAL_MALLOC_FAIL); } @@ -282,10 +281,14 @@ rel_with_query(sql_query *query, symbol for (; ne; ne = ne->next) { sql_exp *e = ne->data; - - noninternexp_setname(sql->sa, e, name, NULL ); - if (!is_intern(e)) + char *name = NULL; + + if (!is_intern(e)) { + if (!exp_name(e)) + name = make_label(sql->sa, ++sql->label); + noninternexp_setname(sql->sa, e, rname, name); set_basecol(e); + } } } } @@ -5402,20 +5405,17 @@ static sql_rel * join_on_column_name(sql_query *query, sql_rel *rel, sql_rel *t1, sql_rel *t2, int op, int l_nil, int r_nil) { mvc *sql = query->sql; - int nr = ++sql->label, found = 0, full = (op != op_join); - char name[16], *nme; + int found = 0, full = (op != op_join); list *exps = rel_projections(sql, t1, NULL, 1, 0); list *r_exps = rel_projections(sql, t2, NULL, 1, 0); list *outexps = new_exp_list(sql->sa); - node *n; - - nme = number2name(name, sizeof(name), nr); + if (!exps || !r_exps) return NULL; - for (n = exps->h; n; n = n->next) { + for (node *n = exps->h; n; n = n->next) { sql_exp *le =
MonetDB: oscar - Update dependencies.
Changeset: 999afae32ff6 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=999afae32ff6 Modified Files: debian/control Branch: oscar Log Message: Update dependencies. diffs (16 lines): diff --git a/debian/control b/debian/control --- a/debian/control +++ b/debian/control @@ -5,11 +5,10 @@ Maintainer: MonetDB BV https://www.monetdb.org/ Vcs-Browser: https://dev.monetdb.org/hg/MonetDB/ Vcs-Hg: https://dev.monetdb.org/hg/MonetDB/ -Build-Depends: debhelper (>= 9), cmake, bison, +Build-Depends: debhelper (>= 9), cmake (>= 3.12), bison, libbz2-dev, libcurl4-gnutls-dev, libgeos-dev (>= 3.4.0), libpcre3-dev, libreadline-dev, liblzma-dev, libssl-dev, libxml2-dev, pkg-config, - python, python-dev, python-numpy, python3, python3-dev, python3-numpy, unixodbc-dev, uuid-dev, zlib1g-dev, r-base-dev, libcfitsio-dev ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: append-optimization - fixed double free
Changeset: acc761ea1425 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=acc761ea1425 Modified Files: ctest/tools/monetdbe/example_append.c tools/monetdbe/monetdbe.c Branch: append-optimization Log Message: fixed double free diffs (69 lines): diff --git a/ctest/tools/monetdbe/example_append.c b/ctest/tools/monetdbe/example_append.c --- a/ctest/tools/monetdbe/example_append.c +++ b/ctest/tools/monetdbe/example_append.c @@ -201,8 +201,6 @@ main(void) } printf("\n"); } - - printf("Starting cleanup\n"); if ((err = monetdbe_cleanup_result(mdbe, result)) != NULL) error(err) diff --git a/tools/monetdbe/monetdbe.c b/tools/monetdbe/monetdbe.c --- a/tools/monetdbe/monetdbe.c +++ b/tools/monetdbe/monetdbe.c @@ -1131,12 +1131,12 @@ monetdbe_append(monetdbe_database dbhdl, goto cleanup; } - if (schema) { // i think this is always gonna be non null cause the check is before + if (schema) { if (!(s = mvc_bind_schema(m, schema))) { mdbe->msg = createException(MAL, "monetdbe.monetdbe_append", "Schema missing %s", schema); goto cleanup; } - } else {//when are we gonna be here + } else { s = cur_schema(m); } @@ -1152,7 +1152,7 @@ monetdbe_append(monetdbe_database dbhdl, goto cleanup; } - cnt = input[0]->count; // where is it used + cnt = input[0]->count; for (i = 0, n = t->columns.set->h; i < column_count && n; i++, n = n->next) { sql_column *c = n->data; @@ -1175,11 +1175,17 @@ monetdbe_append(monetdbe_database dbhdl, //- BAT *bn = NULL; if ((bn = COLnew(0, TYPE_int, 0, TRANSIENT)) == NULL) { - //BBPreclaim(bn); + BBPreclaim(bn); mdbe->msg = createException(SQL, "monetdbe.monetdbe_append", "Cannot create append column"); goto cleanup; } ; + //save prev heap pointer + char *prev_base; + size_t prev_size; + prev_base = bn->theap.base; + prev_size = bn->theap.size; + //BAT heap base to input[i]->data bn->theap.base = input[i]->data; bn->theap.size = tailsize(bn, cnt); @@ -1197,7 +1203,9 @@ monetdbe_append(monetdbe_database dbhdl, } - //BBPreclaim(bn); + bn->theap.base = prev_base; + bn->theap.size = prev_size; + BBPreclaim(bn); //- /* ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: oscar - Since the SQL library is now a proper library p...
Changeset: a8acf18d0d82 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a8acf18d0d82 Modified Files: MonetDB.spec NT/mksqlwxs.py debian/monetdb5-sql.install sql/backends/monet5/CMakeLists.txt Branch: oscar Log Message: Since the SQL library is now a proper library put it where libraries belong. Also give it a name that is not so generic (monetdbsql instead of plain sql). diffs (81 lines): diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -605,7 +605,7 @@ use SQL with MonetDB, you will need to i %config(noreplace) %attr(664,monetdb,monetdb) %{_localstatedir}/monetdb5/dbfarm/.merovingian_properties %verify(not mtime) %attr(664,monetdb,monetdb) %{_localstatedir}/monetdb5/dbfarm/.merovingian_lock %config(noreplace) %attr(644,root,root) %{_sysconfdir}/logrotate.d/monetdbd -%{_libdir}/monetdb5/lib_sql.so* +%{_libdir}/libmonetdbsql.so* %doc %{_mandir}/man1/monetdb.1.gz %doc %{_mandir}/man1/monetdbd.1.gz %dir %{_datadir}/doc/MonetDB-SQL diff --git a/NT/mksqlwxs.py b/NT/mksqlwxs.py --- a/NT/mksqlwxs.py +++ b/NT/mksqlwxs.py @@ -127,6 +127,7 @@ def main(): r'bin\bat.dll', r'bin\mapi.dll', r'bin\monetdb5.dll', + r'bin\monetdbsql.dll', r'bin\stream.dll', vcpkg.format(r'bin\libiconv.dll'), vcpkg.format(r'bin\bz2.dll'), @@ -166,11 +167,11 @@ def main(): id = comp(features, id, 16, [r'lib\monetdb5\microbenchmark.mal']) id = comp(features, id, 16, - [r'lib\monetdb5\{}'.format(x) for x in sorted(filter(lambda x: x.startswith('lib_') and x.endswith('.dll') and ('geom' not in x) and ('pyapi' not in x) and ('opt_sql_append' not in x), os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5']) + [r'lib\monetdb5\{}'.format(x) for x in sorted(filter(lambda x: x.startswith('_') and x.endswith('.dll') and ('geom' not in x) and ('pyapi' not in x) and ('opt_sql_append' not in x), os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5']) id = comp(debug, id, 16, - [r'lib\monetdb5\{}'.format(x) for x in sorted(filter(lambda x: x.startswith('lib_') and x.endswith('.pdb') and ('geom' not in x) and ('opt_sql_append' not in x), os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5']) + [r'lib\monetdb5\{}'.format(x) for x in sorted(filter(lambda x: x.startswith('_') and x.endswith('.pdb') and ('geom' not in x) and ('opt_sql_append' not in x), os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5']) id = comp(geom, id, 16, - [r'lib\monetdb5\{}'.format(x) for x in sorted(filter(lambda x: x.startswith('lib_') and (x.endswith('.dll') or x.endswith('.pdb')) and ('geom' in x), os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5']) + [r'lib\monetdb5\{}'.format(x) for x in sorted(filter(lambda x: x.startswith('_') and (x.endswith('.dll') or x.endswith('.pdb')) and ('geom' in x), os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5']) id = comp(pyapi3, id, 16, [r'lib\monetdb5\_pyapi3.dll']) print(r' ') @@ -178,6 +179,7 @@ def main(): [r'lib\bat.lib', r'lib\mapi.lib', r'lib\monetdb5.lib', + r'lib\monetdbsql.lib', r'lib\stream.lib', vcpkg.format(r'lib\libiconv.lib'), vcpkg.format(r'lib\bz2.lib'), diff --git a/debian/monetdb5-sql.install b/debian/monetdb5-sql.install --- a/debian/monetdb5-sql.install +++ b/debian/monetdb5-sql.install @@ -3,6 +3,6 @@ debian/tmp/usr/bin/monetdb usr/bin debian/tmp/usr/lib/systemd/system/monetdbd.service lib/systemd/system debian/tmp/etc/logrotate.d/monetdbd etc/logrotate.d debian/tmp/etc/tmpfiles.d/monetdbd.conf usr/lib/tmpfiles.d -debian/tmp/usr/lib/x86_64-linux-gnu/monetdb5/lib_sql.so* usr/lib/x86_64-linux-gnu/monetdb5 +debian/tmp/usr/lib/x86_64-linux-gnu/libmonetdbsql.so* usr/lib/x86_64-linux-gnu debian/tmp/var/monetdb5/dbfarm/.merovingian_properties var/monetdb5/dbfarm debian/tmp/var/monetdb5/dbfarm/.merovingian_lock var/monetdb5/dbfarm diff --git a/sql/backends/monet5/CMakeLists.txt b/sql/backends/monet5/CMakeLists.txt --- a/sql/backends/monet5/CMakeLists.txt +++ b/sql/backends/monet5/CMakeLists.txt @@ -116,7 +116,7 @@ target_link_libraries(sql set_target_properties(sql PROPERTIES - OUTPUT_NAME _sql + OUTPUT_NAME monetdbsql VERSION ${MONETDB_VERSION} SOVERSION ${MONETDB_VERSION_MAJOR}) @@ -133,9 +133,9 @@ install(TARGETS sql EXPORT sqlTargets RUNTIME - DESTINATION ${CMAKE_INSTALL_LIBDIR}/monetdb5 + DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY - DESTINATION ${CMAKE_INSTALL_LIBDIR}/monetdb5 + DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT sql NAMELINK_COMPONENT monetdbdev ARCHIVE ___ checkin-list mailing list
MonetDB: typing - Cleaning my own mess. The statistical function...
Changeset: 61dbcc73e179 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=61dbcc73e179 Modified Files: sql/backends/monet5/sql_upgrades.c sql/scripts/39_analytics.sql sql/test/sys-schema/Tests/systemfunctions.stable.out sql/test/sys-schema/Tests/systemfunctions.stable.out.int128 Branch: typing Log Message: Cleaning my own mess. The statistical functions on intervals should't exist except for median and quantile. Added missing versions of median and quantile for day interval diffs (truncated from 566 to 300 lines): diff --git a/sql/backends/monet5/sql_upgrades.c b/sql/backends/monet5/sql_upgrades.c --- a/sql/backends/monet5/sql_upgrades.c +++ b/sql/backends/monet5/sql_upgrades.c @@ -2333,7 +2333,7 @@ sql_update_oscar(Client c, mvc *sql, con static str sql_update_default(Client c, mvc *sql, const char *prev_schema, bool *systabfixed) { - size_t bufsize = 3000, pos = 0; + size_t bufsize = 4096, pos = 0; char *buf, *err; sql_schema *s = mvc_bind_schema(sql, "sys"); sql_table *t; @@ -2381,6 +2381,45 @@ sql_update_default(Client c, mvc *sql, c "UPDATE sys._tables SET system = true WHERE name = 'var_values' AND schema_id = (SELECT id FROM sys.schemas WHERE name = 'sys');\n" "GRANT SELECT ON sys.var_values TO PUBLIC;\n"); + /* WARNING this upgrade is related to the typing branch, which I hope it will be merged into default before the next feature release */ + /* 39_analytics.sql */ + pos += snprintf(buf + pos, bufsize - pos, + "DROP AGGREGATE stddev_samp(INTERVAL SECOND);\n" + "DROP AGGREGATE stddev_samp(INTERVAL MONTH);\n" + "DROP WINDOW stddev_samp(INTERVAL SECOND);\n" + "DROP WINDOW stddev_samp(INTERVAL MONTH);\n" + "DROP AGGREGATE stddev_pop(INTERVAL SECOND);\n" + "DROP AGGREGATE stddev_pop(INTERVAL MONTH);\n" + "DROP WINDOW stddev_pop(INTERVAL SECOND);\n" + "DROP WINDOW stddev_pop(INTERVAL MONTH);\n" + "DROP AGGREGATE var_samp(INTERVAL SECOND);\n" + "DROP AGGREGATE var_samp(INTERVAL MONTH);\n" + "DROP WINDOW var_samp(INTERVAL SECOND);\n" + "DROP WINDOW var_samp(INTERVAL MONTH);\n" + "DROP AGGREGATE var_pop(INTERVAL SECOND);\n" + "DROP AGGREGATE var_pop(INTERVAL MONTH);\n" + "DROP WINDOW var_pop(INTERVAL SECOND);\n" + "DROP WINDOW var_pop(INTERVAL MONTH);\n" + "DROP AGGREGATE covar_samp(INTERVAL SECOND,INTERVAL SECOND);\n" + "DROP AGGREGATE covar_samp(INTERVAL MONTH,INTERVAL MONTH);\n" + "DROP WINDOW covar_samp(INTERVAL SECOND,INTERVAL SECOND);\n" + "DROP WINDOW covar_samp(INTERVAL MONTH,INTERVAL MONTH);\n" + "DROP AGGREGATE covar_pop(INTERVAL SECOND,INTERVAL SECOND);\n" + "DROP AGGREGATE covar_pop(INTERVAL MONTH,INTERVAL MONTH);\n" + "DROP WINDOW covar_pop(INTERVAL SECOND,INTERVAL SECOND);\n" + "DROP WINDOW covar_pop(INTERVAL MONTH,INTERVAL MONTH);\n" + "DROP AGGREGATE corr(INTERVAL SECOND,INTERVAL SECOND);\n" + "DROP AGGREGATE corr(INTERVAL MONTH,INTERVAL MONTH);\n" + "DROP WINDOW corr(INTERVAL SECOND,INTERVAL SECOND);\n" + "DROP WINDOW corr(INTERVAL MONTH,INTERVAL MONTH);\n" + "\n" + "create aggregate median(val INTERVAL DAY) returns INTERVAL DAY\n" + "
MonetDB: append-optimization - WIP monetdbe append_col optimization
Changeset: 1f60089c8d14 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=1f60089c8d14 Modified Files: ctest/tools/monetdbe/example_append.c tools/monetdbe/monetdbe.c Branch: append-optimization Log Message: WIP monetdbe append_col optimization diffs (95 lines): diff --git a/ctest/tools/monetdbe/example_append.c b/ctest/tools/monetdbe/example_append.c --- a/ctest/tools/monetdbe/example_append.c +++ b/ctest/tools/monetdbe/example_append.c @@ -201,6 +201,9 @@ main(void) } printf("\n"); } + + printf("Starting cleanup\n"); + if ((err = monetdbe_cleanup_result(mdbe, result)) != NULL) error(err) diff --git a/tools/monetdbe/monetdbe.c b/tools/monetdbe/monetdbe.c --- a/tools/monetdbe/monetdbe.c +++ b/tools/monetdbe/monetdbe.c @@ -1131,14 +1131,15 @@ monetdbe_append(monetdbe_database dbhdl, goto cleanup; } - if (schema) { + if (schema) { // i think this is always gonna be non null cause the check is before if (!(s = mvc_bind_schema(m, schema))) { mdbe->msg = createException(MAL, "monetdbe.monetdbe_append", "Schema missing %s", schema); goto cleanup; } - } else { + } else {//when are we gonna be here s = cur_schema(m); } + if (!(t = mvc_bind_table(m, s, table))) { mdbe->msg = createException(SQL, "monetdbe.monetdbe_append", "Table missing %s.%s", schema, table); goto cleanup; @@ -1151,14 +1152,14 @@ monetdbe_append(monetdbe_database dbhdl, goto cleanup; } - cnt = input[0]->count; + cnt = input[0]->count; // where is it used for (i = 0, n = t->columns.set->h; i < column_count && n; i++, n = n->next) { sql_column *c = n->data; int mtype = monetdbe_type(input[i]->type); const void* nil = (mtype>=0)?ATOMnilptr(mtype):NULL; char *v = input[i]->data; - int w = 1; + //int w = 1; if (mtype < 0) { mdbe->msg = createException(SQL, "monetdbe.monetdbe_append", "Cannot find type for column %zu", i); @@ -1171,13 +1172,42 @@ monetdbe_append(monetdbe_database dbhdl, TYPE_lng #endif ) { + //- + BAT *bn = NULL; + if ((bn = COLnew(0, TYPE_int, 0, TRANSIENT)) == NULL) { + //BBPreclaim(bn); + mdbe->msg = createException(SQL, "monetdbe.monetdbe_append", "Cannot create append column"); + goto cleanup; + } +; + //BAT heap base to input[i]->data + bn->theap.base = input[i]->data; + bn->theap.size = tailsize(bn, cnt); + + //BATsetdims(bn); called in COLnew + BATsetcount(bn, cnt); + BATsetcapacity(bn, cnt); + + //set default flags + BATsettrivprop(bn); + + if (store_funcs.append_col(m->session->tr, c, bn, TYPE_bat) != 0) { + mdbe->msg = createException(SQL, "monetdbe.monetdbe_append", "Cannot append values"); + goto cleanup; + + } + + //BBPreclaim(bn); + + //- + /* w = ATOMsize(mtype); for (size_t j=0; jsession->tr, c, v, mtype) != 0) { mdbe->msg = createException(SQL, "monetdbe.monetdbe_append", "Cannot append values"); goto cleanup; } - } + }*/ } else if (mtype == TYPE_str) { char **d = (char**)v; ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: typing - Disabled multiplication and division between i...
Changeset: 863789648b23 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=863789648b23 Modified Files: sql/common/sql_types.c sql/test/BugTracker-2015/Tests/timestamp_convert.Bug-3815.sql sql/test/BugTracker-2015/Tests/timestamp_convert.Bug-3815.stable.err sql/test/BugTracker-2015/Tests/timestamp_convert.Bug-3815.stable.out sql/test/BugTracker-2020/Tests/interval-math.Bug-6935.sql sql/test/BugTracker-2020/Tests/interval-math.Bug-6935.stable.err sql/test/BugTracker-2020/Tests/interval-math.Bug-6935.stable.out sql/test/sys-schema/Tests/systemfunctions.stable.out sql/test/sys-schema/Tests/systemfunctions.stable.out.int128 Branch: typing Log Message: Disabled multiplication and division between interval and numeric types other than fixed sized ones (ie decimals, floating-points and oids) (according to the SQL standard). There are no backend functions for it, and in some cases we cannot compute it eg. interval '1' month * 1.5 diffs (truncated from 571 to 300 lines): diff --git a/sql/common/sql_types.c b/sql/common/sql_types.c --- a/sql/common/sql_types.c +++ b/sql/common/sql_types.c @@ -1653,12 +1653,14 @@ sqltypeinit( sql_allocator *sa) sql_create_func(sa, "scale_up", "calc", "*", FALSE, FALSE, SCALE_NONE, 0, *t, 2, *t, lt->type); sql_create_func(sa, "scale_down", "sql", "dec_round", FALSE, FALSE, SCALE_NONE, 0, *t, 2, *t, lt->type); /* numeric functions on INTERVALS */ - sql_create_func(sa, "sql_mul", "calc", "*", FALSE, FALSE, SCALE_MUL, 0, MONINT, 2, MONINT, *t); - sql_create_func(sa, "sql_div", "calc", "/", FALSE, FALSE, SCALE_DIV, 0, MONINT, 2, MONINT, *t); - sql_create_func(sa, "sql_mul", "calc", "*", FALSE, FALSE, SCALE_MUL, 0, DAYINT, 2, DAYINT, *t); - sql_create_func(sa, "sql_div", "calc", "/", FALSE, FALSE, SCALE_DIV, 0, DAYINT, 2, DAYINT, *t); - sql_create_func(sa, "sql_mul", "calc", "*", FALSE, FALSE, SCALE_MUL, 0, SECINT, 2, SECINT, *t); - sql_create_func(sa, "sql_div", "calc", "/", FALSE, FALSE, SCALE_DIV, 0, SECINT, 2, SECINT, *t); + if (t < decimals && *t != OID) { + sql_create_func(sa, "sql_mul", "calc", "*", FALSE, FALSE, SCALE_MUL, 0, MONINT, 2, MONINT, *t); + sql_create_func(sa, "sql_div", "calc", "/", FALSE, FALSE, SCALE_DIV, 0, MONINT, 2, MONINT, *t); + sql_create_func(sa, "sql_mul", "calc", "*", FALSE, FALSE, SCALE_MUL, 0, DAYINT, 2, DAYINT, *t); + sql_create_func(sa, "sql_div", "calc", "/", FALSE, FALSE, SCALE_DIV, 0, DAYINT, 2, DAYINT, *t); + sql_create_func(sa, "sql_mul", "calc", "*", FALSE, FALSE, SCALE_MUL, 0, SECINT, 2, SECINT, *t); + sql_create_func(sa, "sql_div", "calc", "/", FALSE, FALSE, SCALE_DIV, 0, SECINT, 2, SECINT, *t); + } } for (t = decimals, t++; t != floats; t++) { diff --git a/sql/test/BugTracker-2015/Tests/timestamp_convert.Bug-3815.sql b/sql/test/BugTracker-2015/Tests/timestamp_convert.Bug-3815.sql --- a/sql/test/BugTracker-2015/Tests/timestamp_convert.Bug-3815.sql +++ b/sql/test/BugTracker-2015/Tests/timestamp_convert.Bug-3815.sql @@ -2,6 +2,6 @@ SELECT (str_to_timestamp('2015-10-01', ' SELECT (str_to_timestamp('2015-10-01', '%Y-%m-%d') - str_to_timestamp('2015-09-30', '%Y-%m-%d'))/86400; -SELECT (str_to_timestamp('2015-10-01', '%Y-%m-%d') - str_to_timestamp('2015-09-30', '%Y-%m-%d'))/86400.0; +SELECT (str_to_timestamp('2015-10-01', '%Y-%m-%d') - str_to_timestamp('2015-09-30', '%Y-%m-%d'))/86400.0; --error, cannot divide interval with decimal SELECT date '2015-03-01' - (date '2015-02-01' - date '2015-01-01'); diff --git a/sql/test/BugTracker-2015/Tests/timestamp_convert.Bug-3815.stable.err b/sql/test/BugTracker-2015/Tests/timestamp_convert.Bug-3815.stable.err --- a/sql/test/BugTracker-2015/Tests/timestamp_convert.Bug-3815.stable.err +++ b/sql/test/BugTracker-2015/Tests/timestamp_convert.Bug-3815.stable.err @@ -5,26 +5,10 @@ stderr of test 'timestamp_convert.Bug-38 # 19:04:37 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=33045" "--set" "mapi_usock=/var/tmp/mtest-17747/.s.monetdb.33045" "--set" "monet_prompt=" "--forcemito" "--set" "mal_listing=2" "--dbpath=/scratch/niels/build/rc/Linux-x86_64/var/MonetDB/mTests_sql_test_BugTracker-2015" "--set" "mal_listing=0" "--set" "embedded_r=yes" # 19:04:37 > -# builtin opt gdk_dbpath = /scratch/niels/build/rc/Linux-x86_64/var/monetdb5/dbfarm/demo -# builtin opt gdk_debug = 0 -# builtin opt gdk_vmtrim = no -# builtin opt monet_prompt = > -# builtin opt monet_daemon = no -# builtin opt mapi_port = 5 -# builtin opt mapi_open = false -# builtin opt mapi_autosense = false -# builtin opt sql_optimizer = default_pipe -#
MonetDB: oscar - Revert to libbat instead of libgdk.
Changeset: 8ae50b9605b9 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=8ae50b9605b9 Modified Files: NT/mksqlwxs.py Branch: oscar Log Message: Revert to libbat instead of libgdk. diffs (21 lines): diff --git a/NT/mksqlwxs.py b/NT/mksqlwxs.py --- a/NT/mksqlwxs.py +++ b/NT/mksqlwxs.py @@ -124,7 +124,7 @@ def main(): [r'bin\mclient.exe', r'bin\mserver5.exe', r'bin\msqldump.exe', - r'bin\gdk.dll', + r'bin\bat.dll', r'bin\mapi.dll', r'bin\monetdb5.dll', r'bin\stream.dll', @@ -175,7 +175,7 @@ def main(): [r'lib\monetdb5\_pyapi3.dll']) print(r' ') id = comp(extend, id, 14, - [r'lib\gdk.lib', + [r'lib\bat.lib', r'lib\mapi.lib', r'lib\monetdb5.lib', r'lib\stream.lib', ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: typing - Merged with default
Changeset: c7a44fe49243 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c7a44fe49243 Modified Files: sql/server/rel_select.c sql/server/rel_unnest.c Branch: typing Log Message: Merged with default diffs (truncated from 3218 to 300 lines): diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -547,7 +547,6 @@ used from the MAL level. %files -n MonetDB5-server-devel %defattr(-,root,root) -%dir %{_includedir}/monetdb %{_includedir}/monetdb/mal*.h %{_libdir}/libmonetdb5.so %{_libdir}/pkgconfig/monetdb5.pc @@ -632,6 +631,8 @@ library. Also see %{name}-embedded-deve %package embedded-devel Summary: MonetDB as an embedded library development files Group: Applications/Databases +Requires: %{name}-embedded%{?_isa} = %{version}-%{release} +Requires: %{name}-devel%{?_isa} = %{version}-%{release} %description embedded-devel MonetDB is a database management system that is developed from a @@ -639,12 +640,14 @@ main-memory perspective with use of a fu automatic index management, extensibility of data types and search accelerators. It also has an SQL front end. -This package contains the library and include files to turn MonetDB -into an embeddable library. +This package contains the library and include files to create a +program that uses MonetDB as an embeddable library. %files embedded-devel +%defattr(-,root,root) %{_libdir}/libmonetdbe.so %{_includedir}/monetdb/monetdbe.h +%{_libdir}/pkgconfig/monetdbe.pc %package testing Summary: MonetDB - Monet Database Management System @@ -821,7 +824,6 @@ rmdir %{buildroot}%{_sysconfdir}/tmpfile install -d -m 0750 %{buildroot}%{_localstatedir}/lib/monetdb install -d -m 0770 %{buildroot}%{_localstatedir}/monetdb5/dbfarm -touch %{buildroot}%{_localstatedir}/monetdb5/dbfarm/.merovingian_lock install -d -m 0775 %{buildroot}%{_localstatedir}/log/monetdb install -d -m 0775 %{buildroot}%{_rundir}/monetdb diff --git a/ctest/tools/monetdbe/test_helper.h b/ctest/tools/monetdbe/test_helper.h --- a/ctest/tools/monetdbe/test_helper.h +++ b/ctest/tools/monetdbe/test_helper.h @@ -36,22 +36,22 @@ TYPE_DEFTEST_TPE(timestamp, monetdbe_dat #define Null ._is_null = 1 -monetdbe_export bool check_column_bool (monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(int8_t) expected_column[]); -monetdbe_export bool check_column_int8_t(monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(int8_t)* expected_column); -monetdbe_export bool check_column_int16_t (monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(int16_t)* expected_column); -monetdbe_export bool check_column_int32_t (monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(int32_t)* expected_column); -monetdbe_export bool check_column_int64_t (monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(int64_t)* expected_column); +extern bool check_column_bool (monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(int8_t) expected_column[]); +extern bool check_column_int8_t(monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(int8_t)* expected_column); +extern bool check_column_int16_t (monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(int16_t)* expected_column); +extern bool check_column_int32_t (monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(int32_t)* expected_column); +extern bool check_column_int64_t (monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(int64_t)* expected_column); #if HAVE_HGE -monetdbe_export bool check_column_int128_t (monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(int128_t)* expected_column); +extern bool check_column_int128_t (monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(int128_t)* expected_column); #endif -monetdbe_export bool check_column_size_t(monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(size_t)* expected_column); -monetdbe_export bool check_column_float (monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(float)* expected_column); -monetdbe_export bool check_column_double(monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(double)* expected_column); -monetdbe_export bool check_column_str (monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(str)* expected_column); -monetdbe_export bool check_column_blob (monetdbe_result* result, size_t column_index, size_t
MonetDB: default - Merge with oscar branch.
Changeset: cea8be21a803 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=cea8be21a803 Modified Files: ctest/tools/monetdbe/test_helper.h debian/libmonetdb-client12.install debian/libmonetdb-stream13.install debian/libmonetdb20.install Branch: default Log Message: Merge with oscar branch. diffs (truncated from 340 to 300 lines): diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -547,7 +547,6 @@ used from the MAL level. %files -n MonetDB5-server-devel %defattr(-,root,root) -%dir %{_includedir}/monetdb %{_includedir}/monetdb/mal*.h %{_libdir}/libmonetdb5.so %{_libdir}/pkgconfig/monetdb5.pc @@ -632,6 +631,8 @@ library. Also see %{name}-embedded-deve %package embedded-devel Summary: MonetDB as an embedded library development files Group: Applications/Databases +Requires: %{name}-embedded%{?_isa} = %{version}-%{release} +Requires: %{name}-devel%{?_isa} = %{version}-%{release} %description embedded-devel MonetDB is a database management system that is developed from a @@ -639,12 +640,14 @@ main-memory perspective with use of a fu automatic index management, extensibility of data types and search accelerators. It also has an SQL front end. -This package contains the library and include files to turn MonetDB -into an embeddable library. +This package contains the library and include files to create a +program that uses MonetDB as an embeddable library. %files embedded-devel +%defattr(-,root,root) %{_libdir}/libmonetdbe.so %{_includedir}/monetdb/monetdbe.h +%{_libdir}/pkgconfig/monetdbe.pc %package testing Summary: MonetDB - Monet Database Management System @@ -821,7 +824,6 @@ rmdir %{buildroot}%{_sysconfdir}/tmpfile install -d -m 0750 %{buildroot}%{_localstatedir}/lib/monetdb install -d -m 0770 %{buildroot}%{_localstatedir}/monetdb5/dbfarm -touch %{buildroot}%{_localstatedir}/monetdb5/dbfarm/.merovingian_lock install -d -m 0775 %{buildroot}%{_localstatedir}/log/monetdb install -d -m 0775 %{buildroot}%{_rundir}/monetdb diff --git a/ctest/tools/monetdbe/test_helper.h b/ctest/tools/monetdbe/test_helper.h --- a/ctest/tools/monetdbe/test_helper.h +++ b/ctest/tools/monetdbe/test_helper.h @@ -36,22 +36,22 @@ TYPE_DEFTEST_TPE(timestamp, monetdbe_dat #define Null ._is_null = 1 -monetdbe_export bool check_column_bool (monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(int8_t) expected_column[]); -monetdbe_export bool check_column_int8_t(monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(int8_t)* expected_column); -monetdbe_export bool check_column_int16_t (monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(int16_t)* expected_column); -monetdbe_export bool check_column_int32_t (monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(int32_t)* expected_column); -monetdbe_export bool check_column_int64_t (monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(int64_t)* expected_column); +extern bool check_column_bool (monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(int8_t) expected_column[]); +extern bool check_column_int8_t(monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(int8_t)* expected_column); +extern bool check_column_int16_t (monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(int16_t)* expected_column); +extern bool check_column_int32_t (monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(int32_t)* expected_column); +extern bool check_column_int64_t (monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(int64_t)* expected_column); #if HAVE_HGE -monetdbe_export bool check_column_int128_t (monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(int128_t)* expected_column); +extern bool check_column_int128_t (monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(int128_t)* expected_column); #endif -monetdbe_export bool check_column_size_t(monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(size_t)* expected_column); -monetdbe_export bool check_column_float (monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(float)* expected_column); -monetdbe_export bool check_column_double(monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(double)* expected_column); -monetdbe_export bool check_column_str (monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(str)* expected_column);
MonetDB: oscar - Be more precise with version numbers in order t...
Changeset: 7a60adc07608 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=7a60adc07608 Modified Files: debian/libmonetdb-client12.install debian/libmonetdb-stream13.install debian/libmonetdb20.install debian/libmonetdbe0.install Branch: oscar Log Message: Be more precise with version numbers in order to prevent errors. diffs (28 lines): diff --git a/debian/libmonetdb-client12.install b/debian/libmonetdb-client12.install --- a/debian/libmonetdb-client12.install +++ b/debian/libmonetdb-client12.install @@ -1,1 +1,2 @@ -debian/tmp/usr/lib/x86_64-linux-gnu/libmapi.so.* /usr/lib/x86_64-linux-gnu +debian/tmp/usr/lib/x86_64-linux-gnu/libmapi.so.12 /usr/lib/x86_64-linux-gnu +debian/tmp/usr/lib/x86_64-linux-gnu/libmapi.so.12.* /usr/lib/x86_64-linux-gnu diff --git a/debian/libmonetdb-stream13.install b/debian/libmonetdb-stream13.install --- a/debian/libmonetdb-stream13.install +++ b/debian/libmonetdb-stream13.install @@ -1,1 +1,2 @@ -debian/tmp/usr/lib/x86_64-linux-gnu/libstream.so.* usr/lib/x86_64-linux-gnu +debian/tmp/usr/lib/x86_64-linux-gnu/libstream.so.13 usr/lib/x86_64-linux-gnu +debian/tmp/usr/lib/x86_64-linux-gnu/libstream.so.13.* usr/lib/x86_64-linux-gnu diff --git a/debian/libmonetdb20.install b/debian/libmonetdb20.install --- a/debian/libmonetdb20.install +++ b/debian/libmonetdb20.install @@ -1,1 +1,2 @@ -debian/tmp/usr/lib/x86_64-linux-gnu/libbat.so.* usr/lib/x86_64-linux-gnu +debian/tmp/usr/lib/x86_64-linux-gnu/libbat.so.20 usr/lib/x86_64-linux-gnu +debian/tmp/usr/lib/x86_64-linux-gnu/libbat.so.20.* usr/lib/x86_64-linux-gnu diff --git a/debian/libmonetdbe0.install b/debian/libmonetdbe0.install --- a/debian/libmonetdbe0.install +++ b/debian/libmonetdbe0.install @@ -1,1 +1,2 @@ -debian/tmp/usr/lib/x86_64-linux-gnu/libmonetdbe.so.* usr/lib/x86_64-linux-gnu +debian/tmp/usr/lib/x86_64-linux-gnu/libmonetdbe.so.0 usr/lib/x86_64-linux-gnu +debian/tmp/usr/lib/x86_64-linux-gnu/libmonetdbe.so.0.* usr/lib/x86_64-linux-gnu ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: oscar - Install a few more files.
Changeset: 12c5913ec8ef for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=12c5913ec8ef Modified Files: debian/monetdb5-server.install debian/monetdb5-sql.install Branch: oscar Log Message: Install a few more files. diffs (19 lines): diff --git a/debian/monetdb5-server.install b/debian/monetdb5-server.install --- a/debian/monetdb5-server.install +++ b/debian/monetdb5-server.install @@ -7,3 +7,4 @@ debian/tmp/usr/lib/x86_64-linux-gnu/mone debian/tmp/usr/lib/x86_64-linux-gnu/monetdb5/lib_udf.so usr/lib/x86_64-linux-gnu/monetdb5 debian/tmp/usr/lib/x86_64-linux-gnu/monetdb5/microbenchmark.mal usr/lib/x86_64-linux-gnu/monetdb5 +debian/tmp/usr/lib/x86_64-linux-gnu/monetdb5/run_*.mal usr/lib/x86_64-linux-gnu/monetdb5 diff --git a/debian/monetdb5-sql.install b/debian/monetdb5-sql.install --- a/debian/monetdb5-sql.install +++ b/debian/monetdb5-sql.install @@ -3,6 +3,6 @@ debian/tmp/usr/bin/monetdb usr/bin debian/tmp/usr/lib/systemd/system/monetdbd.service lib/systemd/system debian/tmp/etc/logrotate.d/monetdbd etc/logrotate.d debian/tmp/etc/tmpfiles.d/monetdbd.conf usr/lib/tmpfiles.d -debian/tmp/usr/lib/x86_64-linux-gnu/monetdb5/lib_sql.so usr/lib/x86_64-linux-gnu/monetdb5 +debian/tmp/usr/lib/x86_64-linux-gnu/monetdb5/lib_sql.so* usr/lib/x86_64-linux-gnu/monetdb5 debian/tmp/var/monetdb5/dbfarm/.merovingian_properties var/monetdb5/dbfarm debian/tmp/var/monetdb5/dbfarm/.merovingian_lock var/monetdb5/dbfarm ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: oscar - Install empty .merovingian_lock file.
Changeset: 94e426d8b8da for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=94e426d8b8da Added Files: tools/merovingian/daemon/config/.merovingian_lock Modified Files: MonetDB.spec tools/merovingian/daemon/config/CMakeLists.txt Branch: oscar Log Message: Install empty .merovingian_lock file. diffs (24 lines): diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -824,7 +824,6 @@ rmdir %{buildroot}%{_sysconfdir}/tmpfile install -d -m 0750 %{buildroot}%{_localstatedir}/lib/monetdb install -d -m 0770 %{buildroot}%{_localstatedir}/monetdb5/dbfarm -touch %{buildroot}%{_localstatedir}/monetdb5/dbfarm/.merovingian_lock install -d -m 0775 %{buildroot}%{_localstatedir}/log/monetdb install -d -m 0775 %{buildroot}%{_rundir}/monetdb diff --git a/tools/merovingian/daemon/config/.merovingian_lock b/tools/merovingian/daemon/config/.merovingian_lock new file mode 100644 diff --git a/tools/merovingian/daemon/config/CMakeLists.txt b/tools/merovingian/daemon/config/CMakeLists.txt --- a/tools/merovingian/daemon/config/CMakeLists.txt +++ b/tools/merovingian/daemon/config/CMakeLists.txt @@ -30,6 +30,7 @@ install(FILES install(FILES ${CMAKE_CURRENT_BINARY_DIR}/.merovingian_properties + .merovingian_lock DESTINATION ${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/monetdb5/dbfarm COMPONENT sql) ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: oscar - Create deb package for MonetDB-E (libmonetdbe).
Changeset: 952f4373280f for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=952f4373280f Added Files: debian/libmonetdbe-dev.install debian/libmonetdbe0.install Modified Files: debian/control debian/libmonetdb-dev.install Branch: oscar Log Message: Create deb package for MonetDB-E (libmonetdbe). diffs (61 lines): diff --git a/debian/control b/debian/control --- a/debian/control +++ b/debian/control @@ -247,6 +247,31 @@ Description: Integration of MonetDB and know how this package affects the security of your system, do not install it. +Package: libmonetdbe0 +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: MonetDB as an embedded library + MonetDB is a database management system that is developed from a + main-memory perspective with use of a fully decomposed storage model, + automatic index management, extensibility of data types and search + accelerators. It also has an SQL front end. + . + This package contains the library to turn MonetDB into an embeddable + library. Also see %{name}-embedded-devel to use this in a program. + +Package: libmonetdbe-dev +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, + libmonetdbe0, libmonetdb-dev +Description: MonetDB development files + MonetDB is a database management system that is developed from a + main-memory perspective with use of a fully decomposed storage model, + automatic index management, extensibility of data types and search + accelerators. It also has an SQL front end. + . + This package contains the library and include files to create a + program that uses MonetDB as an embeddable library. + Package: monetdb-testing Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} diff --git a/debian/libmonetdb-dev.install b/debian/libmonetdb-dev.install --- a/debian/libmonetdb-dev.install +++ b/debian/libmonetdb-dev.install @@ -2,5 +2,7 @@ debian/tmp/usr/lib/x86_64-linux-gnu/libb debian/tmp/usr/include/monetdb/gdk*.h usr/include/monetdb debian/tmp/usr/include/monetdb/matomic.h usr/include/monetdb debian/tmp/usr/include/monetdb/mstring.h usr/include/monetdb -debian/tmp/usr/include/monetdb/monet*.h usr/include/monetdb +# usr/include/monetdb/monetdb*.h EXCEPT: monetdbe.h +debian/tmp/usr/include/monetdb/monet_*.h usr/include/monetdb +debian/tmp/usr/include/monetdb/monetdb_*.h usr/include/monetdb debian/tmp/usr/lib/x86_64-linux-gnu/pkgconfig/monetdb-gdk.pc usr/lib/x86_64-linux-gnu/pkgconfig diff --git a/debian/libmonetdbe-dev.install b/debian/libmonetdbe-dev.install new file mode 100644 --- /dev/null +++ b/debian/libmonetdbe-dev.install @@ -0,0 +1,3 @@ +debian/tmp/usr/lib/x86_64-linux-gnu/libmonetdbe.so usr/lib/x86_64-linux-gnu +debian/tmp/usr/include/monetdb/monetdbe.h usr/include/monetdb +debian/tmp/usr/lib/x86_64-linux-gnu/pkgconfig/monetdbe.pc usr/lib/x86_64-linux-gnu/pkgconfig diff --git a/debian/libmonetdbe0.install b/debian/libmonetdbe0.install new file mode 100644 --- /dev/null +++ b/debian/libmonetdbe0.install @@ -0,0 +1,1 @@ +debian/tmp/usr/lib/x86_64-linux-gnu/libmonetdbe.so.* usr/lib/x86_64-linux-gnu ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: oscar - Typo.
Changeset: 610355821590 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=610355821590 Modified Files: debian/monetdb5-server.install Branch: oscar Log Message: Typo. diffs (9 lines): diff --git a/debian/monetdb5-server.install b/debian/monetdb5-server.install --- a/debian/monetdb5-server.install +++ b/debian/monetdb5-server.install @@ -6,4 +6,4 @@ debian/tmp/usr/lib/x86_64-linux-gnu/mone debian/tmp/usr/lib/x86_64-linux-gnu/monetdb5/lib_generator.so usr/lib/x86_64-linux-gnu/monetdb5 debian/tmp/usr/lib/x86_64-linux-gnu/monetdb5/lib_udf.so usr/lib/x86_64-linux-gnu/monetdb5 -debian/tmp/usr/lib/x86_64-linux-gnu/monetdb5/benchmark.mal usr/lib/x86_64-linux-gnu/monetdb5 +debian/tmp/usr/lib/x86_64-linux-gnu/monetdb5/microbenchmark.mal usr/lib/x86_64-linux-gnu/monetdb5 ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: oscar - Combine multiple Conflicts lines into one.
Changeset: bb6b5085b076 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=bb6b5085b076 Modified Files: debian/control Branch: oscar Log Message: Combine multiple Conflicts lines into one. diffs (15 lines): diff --git a/debian/control b/debian/control --- a/debian/control +++ b/debian/control @@ -172,9 +172,9 @@ Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, adduser Recommends: monetdb5-sql (= ${source:Version}) Suggests: monetdb-client (= ${source:Version}) -Conflicts: monetdb5-server-hugeint (<< 11.38.0) +Conflicts: monetdb5-server-hugeint (<< 11.38.0), + python-pymonetdb (<< 1.0.6) Replaces: monetdb5-server-hugeint (<< 11.38.0) -Conflicts: python-pymonetdb (<< 1.0.6) Description: MonetDB database server version 5 MonetDB is a database management system that is developed from a main-memory perspective with use of a fully decomposed storage model, ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: oscar - Pkgconfig file for monetdbe.
Changeset: 56bfb5c3fe9a for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=56bfb5c3fe9a Added Files: tools/monetdbe/monetdbe.pc.in Modified Files: MonetDB.spec tools/monetdbe/CMakeLists.txt Branch: oscar Log Message: Pkgconfig file for monetdbe. diffs (66 lines): diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -547,7 +547,6 @@ used from the MAL level. %files -n MonetDB5-server-devel %defattr(-,root,root) -%dir %{_includedir}/monetdb %{_includedir}/monetdb/mal*.h %{_libdir}/libmonetdb5.so %{_libdir}/pkgconfig/monetdb5.pc @@ -641,12 +640,14 @@ main-memory perspective with use of a fu automatic index management, extensibility of data types and search accelerators. It also has an SQL front end. -This package contains the library and include files to turn MonetDB -into an embeddable library. +This package contains the library and include files to create a +program that uses MonetDB as an embeddable library. %files embedded-devel +%defattr(-,root,root) %{_libdir}/libmonetdbe.so %{_includedir}/monetdb/monetdbe.h +%{_libdir}/pkgconfig/monetdbe.pc %package testing Summary: MonetDB - Monet Database Management System diff --git a/tools/monetdbe/CMakeLists.txt b/tools/monetdbe/CMakeLists.txt --- a/tools/monetdbe/CMakeLists.txt +++ b/tools/monetdbe/CMakeLists.txt @@ -56,6 +56,16 @@ target_link_libraries(monetdbe $<$>:$<$:LibXml2::LibXml2>> Threads::Threads) +if (NOT WIN32) + configure_file(monetdbe.pc.in +${CMAKE_CURRENT_BINARY_DIR}/monetdbe.pc @ONLY) + + install(FILES +${CMAKE_CURRENT_BINARY_DIR}/monetdbe.pc +DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig +COMPONENT serverdev) +endif() + install(TARGETS monetdbe EXPORT monetdbeTargets diff --git a/tools/monetdbe/monetdbe.pc.in b/tools/monetdbe/monetdbe.pc.in new file mode 100644 --- /dev/null +++ b/tools/monetdbe/monetdbe.pc.in @@ -0,0 +1,13 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# Copyright 1997 - July 2008 CWI, August 2008 - 2020 MonetDB B.V. + +Name: monetdbe +Description: MonetDB as embedded library +Version: @MONETDB_VERSION@ +#Requires: monetdb-gdk + +Libs: -L@CMAKE_INSTALL_FULL_LIBDIR@ -lmonetdbe +Cflags: -I@CMAKE_INSTALL_FULL_INCLUDEDIR@/monetdb ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: oscar - Don't export if not a library.
Changeset: e2c193c3442c for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e2c193c3442c Modified Files: ctest/tools/monetdbe/test_helper.h Branch: oscar Log Message: Don't export if not a library. diffs (45 lines): diff --git a/ctest/tools/monetdbe/test_helper.h b/ctest/tools/monetdbe/test_helper.h --- a/ctest/tools/monetdbe/test_helper.h +++ b/ctest/tools/monetdbe/test_helper.h @@ -36,22 +36,22 @@ TYPE_DEFTEST_TPE(timestamp, monetdbe_dat #define Null {._is_null = 1} -monetdbe_export bool check_column_bool (monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(int8_t) expected_column[]); -monetdbe_export bool check_column_int8_t(monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(int8_t)* expected_column); -monetdbe_export bool check_column_int16_t (monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(int16_t)* expected_column); -monetdbe_export bool check_column_int32_t (monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(int32_t)* expected_column); -monetdbe_export bool check_column_int64_t (monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(int64_t)* expected_column); +extern bool check_column_bool (monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(int8_t) expected_column[]); +extern bool check_column_int8_t(monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(int8_t)* expected_column); +extern bool check_column_int16_t (monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(int16_t)* expected_column); +extern bool check_column_int32_t (monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(int32_t)* expected_column); +extern bool check_column_int64_t (monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(int64_t)* expected_column); #if HAVE_HGE -monetdbe_export bool check_column_int128_t (monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(int128_t)* expected_column); +extern bool check_column_int128_t (monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(int128_t)* expected_column); #endif -monetdbe_export bool check_column_size_t(monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(size_t)* expected_column); -monetdbe_export bool check_column_float (monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(float)* expected_column); -monetdbe_export bool check_column_double(monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(double)* expected_column); -monetdbe_export bool check_column_str (monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(str)* expected_column); -monetdbe_export bool check_column_blob (monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(blob)* expected_column); -monetdbe_export bool check_column_date (monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(date)* expected_column); -monetdbe_export bool check_column_time (monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(time)* expected_column); -monetdbe_export bool check_column_timestamp (monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(timestamp)* expected_column); +extern bool check_column_size_t(monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(size_t)* expected_column); +extern bool check_column_float (monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(float)* expected_column); +extern bool check_column_double(monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(double)* expected_column); +extern bool check_column_str (monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(str)* expected_column); +extern bool check_column_blob (monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(blob)* expected_column); +extern bool check_column_date (monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(date)* expected_column); +extern bool check_column_time (monetdbe_result* result, size_t column_index, size_t expected_nr_column_entries, TEST_TPE_ID(time)* expected_column); +extern bool check_column_timestamp
MonetDB: oscar - Add some requires.
Changeset: 9f7b251820d6 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9f7b251820d6 Modified Files: MonetDB.spec Branch: oscar Log Message: Add some requires. diffs (12 lines): diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -632,6 +632,8 @@ library. Also see %{name}-embedded-deve %package embedded-devel Summary: MonetDB as an embedded library development files Group: Applications/Databases +Requires: %{name}-embedded%{?_isa} = %{version}-%{release} +Requires: %{name}-devel%{?_isa} = %{version}-%{release} %description embedded-devel MonetDB is a database management system that is developed from a ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: oscar - dh_auto_configure apparently can deal with cmake.
Changeset: 6906668dcd80 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=6906668dcd80 Modified Files: debian/control debian/rules Branch: oscar Log Message: dh_auto_configure apparently can deal with cmake. diffs (86 lines): diff --git a/debian/control b/debian/control --- a/debian/control +++ b/debian/control @@ -5,7 +5,7 @@ Maintainer: MonetDB BV https://www.monetdb.org/ Vcs-Browser: https://dev.monetdb.org/hg/MonetDB/ Vcs-Hg: https://dev.monetdb.org/hg/MonetDB/ -Build-Depends: debhelper (>= 9), autotools-dev, bison, +Build-Depends: debhelper (>= 9), cmake, bison, libbz2-dev, libcurl4-gnutls-dev, libgeos-dev (>= 3.4.0), libpcre3-dev, libreadline-dev, liblzma-dev, libssl-dev, libxml2-dev, pkg-config, diff --git a/debian/rules b/debian/rules --- a/debian/rules +++ b/debian/rules @@ -13,43 +13,33 @@ DH_VERBOSE=1 override_dh_auto_configure: dh_auto_configure -- \ - --with-rundir=/run/monetdb \ - --enable-assert=no \ - --enable-debug=yes \ - --enable-developer=no \ - --enable-embedded=no \ - --enable-embedded-r=no \ - --enable-fits=yes \ - --enable-geom=yes \ - --enable-mapi=yes \ - --enable-netcdf=no \ - --enable-odbc=yes \ - --enable-optimize=yes \ - --enable-profiler=no \ - --enable-py3integration=yes \ - --enable-rintegration=yes \ - --enable-sanitizer=no \ - --enable-shp=no \ - --enable-static-analysis=no \ - --enable-strict=no \ - --enable-testing=yes \ - --with-bz2=yes \ - --with-curl=yes \ - --with-gdal=no \ - --with-geos=yes \ - --with-libxml2=yes \ - --with-lz4=no \ - --with-lzma=yes \ - --with-openssl=yes \ - --with-proj=no \ - --with-pthread=yes \ - --with-python3=yes \ - --with-readline=yes \ - --with-regex=PCRE \ - --with-snappy=no \ - --with-unixodbc=yes \ - --with-uuid=yes \ - --with-valgrind=no + -DASSERT=OFF \ + -DCINTEGRATION=ON \ + -DFITS=ON \ + -DGEOM=ON \ + -DINT128=ON \ + -DNETCDF=OFF \ + -DODBC=ON \ + -DPY3INTEGRATION=ON \ + -DRINTEGRATION=ON \ + -DSANITIZER=OFF \ + -DSHP=OFF \ + -DSTRICT=OFF \ + -DTESTING=ON \ + -DWITH_BZ2=ON \ + -DWITH_CMOCKA=OFF \ + -DWITH_CRYPTO=ON \ + -DWITH_CURL=ON \ + -DWITH_LZ4=OFF \ + -DWITH_LZMA=ON \ + -DWITH_PCRE=ON \ + -DWITH_PROJ=OFF \ + -DWITH_READLINE=ON \ + -DWITH_SNAPPY=OFF \ + -DWITH_UUID=ON \ + -DWITH_VALGRIND=OFF \ + -DWITH_XML2=ON \ + -DWITH_ZLIB=ON # currently the test suite fails override_dh_auto_test: ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - More queries with wrong results
Changeset: 352dc100ce9d for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=352dc100ce9d Modified Files: sql/test/BugTracker-2020/Tests/interval-math.Bug-6935.sql Branch: default Log Message: More queries with wrong results diffs (9 lines): diff --git a/sql/test/BugTracker-2020/Tests/interval-math.Bug-6935.sql b/sql/test/BugTracker-2020/Tests/interval-math.Bug-6935.sql --- a/sql/test/BugTracker-2020/Tests/interval-math.Bug-6935.sql +++ b/sql/test/BugTracker-2020/Tests/interval-math.Bug-6935.sql @@ -1,4 +1,5 @@ SELECT INTERVAL '1' HOUR / 2, INTERVAL '1' HOUR / 2.0, INTERVAL '1' HOUR * 1000 / 2000, INTERVAL '1' HOUR * 1000.0 / 2000.0; --all output 1800.000 SELECT INTERVAL '1' HOUR * 1000 / 180; -- 2.000 SELECT INTERVAL '1' HOUR * CAST(1000 AS DOUBLE); +SELECT INTERVAL '1' MONTH * 1.2, INTERVAL '1' SECOND * 1.2; SELECT INTERVAL '1' HOUR / INTERVAL '1800' SECOND; --error on typing branch, cannot divide intervals ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: typing - Added 'abs' and 'sign' back on intervals
Changeset: 55c8ae35c4c2 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=55c8ae35c4c2 Modified Files: clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 sql/common/sql_types.c sql/test/sys-schema/Tests/systemfunctions.stable.out sql/test/sys-schema/Tests/systemfunctions.stable.out.int128 Branch: typing Log Message: Added 'abs' and 'sign' back on intervals diffs (125 lines): 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 @@ -5442,9 +5442,9 @@ stdout of test 'MAL-signatures` in direc [ "batmtime", "dayofyear","command batmtime.dayofyear(X_1:bat[:date]):bat[:int] ", "MTIMEdate_extract_dayofyear_bulk;","" ] [ "batmtime", "decade", "command batmtime.decade(X_1:bat[:date]):bat[:int] ", "MTIMEdate_extract_decade_bulk;", "" ] [ "batmtime", "decade", "command batmtime.decade(X_1:bat[:timestamp]):bat[:int] ", "MTIMEtimestamp_decade_bulk;", "" ] -[ "batmtime", "diff", "command batmtime.diff(X_1:bat[:date], X_2:bat[:date]):bat[:int] ", "MTIMEdate_diff_bulk;", "" ] -[ "batmtime", "diff", "command batmtime.diff(X_1:date, X_2:bat[:date]):bat[:int] ", "MTIMEdate_diff_bulk_p1;", "" ] -[ "batmtime", "diff", "command batmtime.diff(X_1:bat[:date], X_2:date):bat[:int] ", "MTIMEdate_diff_bulk_p2;", "" ] +[ "batmtime", "diff", "command batmtime.diff(X_1:bat[:date], X_2:bat[:date]):bat[:lng] ", "MTIMEdate_diff_bulk;", "" ] +[ "batmtime", "diff", "command batmtime.diff(X_1:date, X_2:bat[:date]):bat[:lng] ", "MTIMEdate_diff_bulk_p1;", "" ] +[ "batmtime", "diff", "command batmtime.diff(X_1:bat[:date], X_2:date):bat[:lng] ", "MTIMEdate_diff_bulk_p2;", "" ] [ "batmtime", "diff", "command batmtime.diff(X_1:bat[:daytime], X_2:bat[:daytime]):bat[:lng] ", "MTIMEdaytime_diff_msec_bulk;", "" ] [ "batmtime", "diff", "command batmtime.diff(X_1:daytime, X_2:bat[:daytime]):bat[:lng] ", "MTIMEdaytime_diff_msec_bulk_p1;", "" ] [ "batmtime", "diff", "command batmtime.diff(X_1:bat[:daytime], X_2:daytime):bat[:lng] ", "MTIMEdaytime_diff_msec_bulk_p2;", "" ] @@ -8038,7 +8038,7 @@ stdout of test 'MAL-signatures` in direc [ "mtime", "dayofyear","command mtime.dayofyear(X_1:date):int ", "MTIMEdate_extract_dayofyear;", "" ] [ "mtime", "decade", "command mtime.decade(X_1:date):int ", "MTIMEdate_extract_decade;","" ] [ "mtime", "decade", "command mtime.decade(X_1:timestamp):int ", "MTIMEtimestamp_decade;", "" ] -[ "mtime", "diff", "command mtime.diff(X_1:date, X_2:date):int ", "MTIMEdate_diff;", "" ] +[ "mtime", "diff", "command mtime.diff(X_1:date, X_2:date):lng ", "MTIMEdate_diff;", "" ] [ "mtime", "diff", "command mtime.diff(X_1:daytime, X_2:daytime):lng ", "MTIMEdaytime_diff_msec;", "" ] [ "mtime", "diff", "command mtime.diff(X_1:timestamp, X_2:timestamp):lng ","MTIMEtimestamp_diff_msec;","" ] [ "mtime", "epoch","command mtime.epoch(X_1:timestamp):int ", "MTIMEseconds_since_epoch;","" ] 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 @@ -7642,9 +7642,9 @@ stdout of test 'MAL-signatures` in direc [ "batmtime", "dayofyear","command batmtime.dayofyear(X_1:bat[:date]):bat[:int] ", "MTIMEdate_extract_dayofyear_bulk;","" ] [ "batmtime", "decade", "command batmtime.decade(X_1:bat[:date]):bat[:int] ", "MTIMEdate_extract_decade_bulk;", "" ] [ "batmtime", "decade", "command batmtime.decade(X_1:bat[:timestamp]):bat[:int] ", "MTIMEtimestamp_decade_bulk;", "" ] -[ "batmtime", "diff", "command batmtime.diff(X_1:bat[:date], X_2:bat[:date]):bat[:int] ", "MTIMEdate_diff_bulk;", "" ] -[ "batmtime", "diff", "command batmtime.diff(X_1:date, X_2:bat[:date]):bat[:int] ", "MTIMEdate_diff_bulk_p1;", "" ] -[ "batmtime", "diff", "command batmtime.diff(X_1:bat[:date], X_2:date):bat[:int] ", "MTIMEdate_diff_bulk_p2;", "" ] +[ "batmtime", "diff", "command batmtime.diff(X_1:bat[:date], X_2:bat[:date]):bat[:lng] ", "MTIMEdate_diff_bulk;", "" ] +[ "batmtime", "diff", "command batmtime.diff(X_1:date, X_2:bat[:date]):bat[:lng] ", "MTIMEdate_diff_bulk_p1;", "" ] +[ "batmtime", "diff", "command batmtime.diff(X_1:bat[:date], X_2:date):bat[:lng] ", "MTIMEdate_diff_bulk_p2;", "" ] [ "batmtime", "diff", "command batmtime.diff(X_1:bat[:daytime], X_2:bat[:daytime]):bat[:lng] ",
MonetDB: default - Added test for Bug 6935. Most of it has alrea...
Changeset: 3c8c223e9e4b for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=3c8c223e9e4b Added Files: sql/test/BugTracker-2020/Tests/interval-math.Bug-6935.sql sql/test/BugTracker-2020/Tests/interval-math.Bug-6935.stable.err sql/test/BugTracker-2020/Tests/interval-math.Bug-6935.stable.out Modified Files: sql/test/BugTracker-2020/Tests/All Branch: default Log Message: Added test for Bug 6935. Most of it has already been fixed on typing branch diffs (64 lines): diff --git a/sql/test/BugTracker-2020/Tests/All b/sql/test/BugTracker-2020/Tests/All --- a/sql/test/BugTracker-2020/Tests/All +++ b/sql/test/BugTracker-2020/Tests/All @@ -14,5 +14,6 @@ ilike-matches.Bug-6864 select-and.Bug-6878 copy-decimal-with-space.Bug-6917 isauuid.Bug-6934 +interval-math.Bug-6935 tpch-cube.Bug-6938 HAVE_PYMONETDB?remote-table-like.Bug-6841 diff --git a/sql/test/BugTracker-2020/Tests/interval-math.Bug-6935.sql b/sql/test/BugTracker-2020/Tests/interval-math.Bug-6935.sql new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker-2020/Tests/interval-math.Bug-6935.sql @@ -0,0 +1,4 @@ +SELECT INTERVAL '1' HOUR / 2, INTERVAL '1' HOUR / 2.0, INTERVAL '1' HOUR * 1000 / 2000, INTERVAL '1' HOUR * 1000.0 / 2000.0; --all output 1800.000 +SELECT INTERVAL '1' HOUR * 1000 / 180; -- 2.000 +SELECT INTERVAL '1' HOUR * CAST(1000 AS DOUBLE); +SELECT INTERVAL '1' HOUR / INTERVAL '1800' SECOND; --error on typing branch, cannot divide intervals diff --git a/sql/test/BugTracker-2020/Tests/interval-math.Bug-6935.stable.err b/sql/test/BugTracker-2020/Tests/interval-math.Bug-6935.stable.err new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker-2020/Tests/interval-math.Bug-6935.stable.err @@ -0,0 +1,11 @@ +stderr of test 'interval-math.Bug-6935` in directory 'sql/test/BugTracker-2020` itself: + + +# 10:13:31 > +# 10:13:31 > "mclient" "-lsql" "-ftest" "-tnone" "-Eutf-8" "-i" "-e" "--host=/var/tmp/mtest-80282" "--port=37020" +# 10:13:31 > + +# 10:13:31 > +# 10:13:31 > "Done." +# 10:13:31 > + diff --git a/sql/test/BugTracker-2020/Tests/interval-math.Bug-6935.stable.out b/sql/test/BugTracker-2020/Tests/interval-math.Bug-6935.stable.out new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker-2020/Tests/interval-math.Bug-6935.stable.out @@ -0,0 +1,24 @@ +stdout of test 'interval-math.Bug-6935` in directory 'sql/test/BugTracker-2020` itself: + + +# 10:13:31 > +# 10:13:31 > "mclient" "-lsql" "-ftest" "-tnone" "-Eutf-8" "-i" "-e" "--host=/var/tmp/mtest-80282" "--port=37020" +# 10:13:31 > + +#SELECT INTERVAL '1' HOUR / 2, INTERVAL '1' HOUR / 2.0, INTERVAL '1' HOUR * 1000 / 2000, INTERVAL '1' HOUR * 1000.0 / 2000.0; +% .%2, .%3,.%4,.%5 # table_name +% %2, %3, %4, %5 # name +% sec_interval,sec_interval, sec_interval, sec_interval # type +% 8, 8, 8, 8 # length +[ 1800.000,1800.000, 1800.000, 1800.000] +#SELECT INTERVAL '1' HOUR * 1000 / 180; -- 2.000 +% .%2 # table_name +% %2 # name +% sec_interval # type +% 5 # length +[ 2.000] + +# 10:13:31 > +# 10:13:31 > "Done." +# 10:13:31 > + ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - New bug, supertype function is not working we...
Changeset: 1f7c76eca68d for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=1f7c76eca68d Modified Files: sql/test/Tests/coalesce.sql Branch: default Log Message: New bug, supertype function is not working well for strings. On this example coalesce should output a char(20) column diffs (11 lines): diff --git a/sql/test/Tests/coalesce.sql b/sql/test/Tests/coalesce.sql --- a/sql/test/Tests/coalesce.sql +++ b/sql/test/Tests/coalesce.sql @@ -28,4 +28,7 @@ select id, name, age from coalescetest w --select the name where the id > age select id, name, age from coalescetest where coalesce(id, 0) < coalesce(age, 1) and coalesce(name,'unknown') LIKE 'unknown'; +insert into coalescetest(id,name) values (3,'hello this is a test'); +select id, coalesce(name, age, 'unknown') from coalescetest; --the output type should be char(20) + drop table coalescetest; ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: atom_strings - Add forgotten test file
Changeset: 780ce8cfd2e9 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=780ce8cfd2e9 Added Files: sql/test/json/Tests/load_twitter_data.sql.in Branch: atom_strings Log Message: Add forgotten test file diffs (9 lines): diff --git a/sql/test/json/Tests/load_twitter_data.sql.in b/sql/test/json/Tests/load_twitter_data.sql.in new file mode 100644 --- /dev/null +++ b/sql/test/json/Tests/load_twitter_data.sql.in @@ -0,0 +1,4 @@ +START TRANSACTION; +CREATE TABLE twitter_data (tweets JSON); +COPY INTO twitter_data FROM E'$QTSTDATAPATH/json/tweets200k.json' USING DELIMITERS E'\x01',E'\n',E'\x02'; +COMMIT; ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: atom_strings - Merge branch 'master' into local_atom_st...
Changeset: 2bac09d39855 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2bac09d39855 Removed Files: buildtools/selinux/ChangeLog.Jun2020 misc/packages/rpm/COPYING Modified Files: COPYING buildtools/CMakeLists.txt buildtools/conf/CMakeLists.txt clients/CMakeLists.txt clients/NT/CMakeLists.txt cmake/Modules/FindAwk.cmake cmake/Modules/FindSemodule.cmake gdk/ChangeLog.Jun2020 misc/CMakeLists.txt misc/selinux/ChangeLog-Archive misc/selinux/ChangeLog.Jun2020 monetdb5/CMakeLists.txt monetdb5/modules/atoms/json.c sql/CMakeLists.txt sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.ppc64.int128 sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.ppc64 sql/test/json/Tests/All sql/test/sysmon/Tests/sysqueue.sql sql/test/sysmon/Tests/sysqueue.stable.err sql/test/sysmon/Tests/sysqueue.stable.out tools/monetdbe/CMakeLists.txt Branch: atom_strings Log Message: Merge branch 'master' into local_atom_strings diffs (truncated from 197248 to 300 lines): diff --git a/.editorconfig b/.editorconfig --- a/.editorconfig +++ b/.editorconfig @@ -19,4 +19,4 @@ charset = utf-8 [gdk/*.{c,h}] tab_width = 8 -max_line_length = 80 +max_line_length = 72 diff --git a/.hgignore b/.hgignore --- a/.hgignore +++ b/.hgignore @@ -15,32 +15,7 @@ syntax: glob # recommended build process plus a few patterns of files that we never # want in the repository (object files and such). -# files generated by bootstrap -Makefile.am -Makefile.in -Makefile.msc -aclocal.m4 -acout.in -autom4te.cache -buildtools/conf/compile -buildtools/conf/config.guess -buildtools/conf/config.sub -buildtools/conf/install-sh -buildtools/conf/libtool.m4 -buildtools/conf/ltmain.sh -buildtools/conf/ltoptions.m4 -buildtools/conf/ltsugar.m4 -buildtools/conf/ltversion.m4 -buildtools/conf/lt~obsolete.m4 -buildtools/conf/missing -buildtools/conf/ylwrap -configure -configure.ac -doc.lst -install.lst -monetdb_config.h.in *.pyc -sql/backends/monet5/UDF/capi/cheader.text.h # files generated by various editors *.swp @@ -73,21 +48,6 @@ tags *.rej *.orig -# build results on Windows -NT/.monetdb -NT/buildtools -NT/clients -NT/common -NT/gdk -NT/geom -NT/java -NT/monetdb5 -NT/monetdb_config.h -NT/sql -NT/testing -NT/tools -NT/unistd.h - # package building on Mac OS X MacOSX/build MacOSX/usr diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -775,3 +775,8 @@ 28480e096722b7f76ab021c0d16c68c6949f41b4 80bd3e89c48032840f493a63d6c4c12ee6273b3d Jun2020_7 28480e096722b7f76ab021c0d16c68c6949f41b4 Jun2020_release 80bd3e89c48032840f493a63d6c4c12ee6273b3d Jun2020_release +1e3bd8cd485a0880a7557aa5307e986a210a1e00 Jun2020_9 +1e3bd8cd485a0880a7557aa5307e986a210a1e00 Jun2020_SP1_release +bb157905ecb86908dcfb112d102a8c6152557b5d Jun2020_11 +1e3bd8cd485a0880a7557aa5307e986a210a1e00 Jun2020_SP1_release +bb157905ecb86908dcfb112d102a8c6152557b5d Jun2020_SP1_release diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -55,7 +55,6 @@ include(monetdb-toolchain) monetdb_default_toolchain() #monetdb_default_compiler_options() - include(monetdb-defines) monetdb_hg_revision() @@ -155,6 +154,7 @@ add_subdirectory(tools) if(TESTING) add_subdirectory(testing) endif() +add_subdirectory(buildtools) include(CMakePackageConfigHelpers) configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in diff --git a/misc/packages/rpm/COPYING b/COPYING rename from misc/packages/rpm/COPYING rename to COPYING diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -7,7 +7,7 @@ # The --with OPTION and --without OPTION arguments can be passed on # the commandline of both rpmbuild and mock. -# On 64 bit architectures we build "hugeint" packages. +# On 64 bit architectures compile with 128 bit integer support. %if "%{?_lib}" == "lib64" %bcond_without hugeint %endif @@ -65,6 +65,9 @@ # operators. Otherwise the POSIX regex functions are used. %bcond_without pcre +# By default, include C integration +%bcond_without cintegration + %if %{fedpkgs} # By default, create the MonetDB-R package. %bcond_without rintegration @@ -94,7 +97,7 @@ Group: Applications/Databases License: MPLv2.0 URL: https://www.monetdb.org/ BugURL: https://bugs.monetdb.org/ -Source: https://www.monetdb.org/downloads/sources/Jun2020/%{name}-%{version}.tar.bz2 +Source: https://www.monetdb.org/downloads/sources/Jun2020-SP1/%{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 @@ -108,6 +111,7 @@ BuildRequires: checkpolicy BuildRequires: selinux-policy-devel BuildRequires: hardlink %endif +BuildRequires: cmake >= 3.12 BuildRequires: gcc BuildRequires: bison BuildRequires: /usr/bin/python3 @@ -187,6
MonetDB: default - Approved output
Changeset: 83f9b2163aa1 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=83f9b2163aa1 Modified Files: sql/test/SQLancer/Tests/sqlancer04.stable.err sql/test/SQLancer/Tests/sqlancer04.stable.out Branch: default Log Message: Approved output diffs (90 lines): diff --git a/sql/test/SQLancer/Tests/sqlancer04.stable.err b/sql/test/SQLancer/Tests/sqlancer04.stable.err --- a/sql/test/SQLancer/Tests/sqlancer04.stable.err +++ b/sql/test/SQLancer/Tests/sqlancer04.stable.err @@ -38,11 +38,6 @@ MAPI = (monetdb) /var/tmp/mtest-42538/. QUERY = CREATE TABLE t1(c2 TIME, FOREIGN KEY (c2) REFERENCES t0(c0) MATCH FULL, PRIMARY KEY(c2)); --error, foreign key from time to interval second not allowed ERROR = !CONSTRAINT FOREIGN KEY: the type of the FOREIGN KEY column 'c2' time(1) is not compatible with the referenced UNIQUE KEY column type sec_interval(13) CODE = 42000 -MAPI = (monetdb) /var/tmp/mtest-217740/.s.monetdb.38224 -QUERY = select all v2.c0 from v2 right outer join v1 on ((r'8*By1q)*Oc # 09:44:50 > "Done." diff --git a/sql/test/SQLancer/Tests/sqlancer04.stable.out b/sql/test/SQLancer/Tests/sqlancer04.stable.out --- a/sql/test/SQLancer/Tests/sqlancer04.stable.out +++ b/sql/test/SQLancer/Tests/sqlancer04.stable.out @@ -76,6 +76,12 @@ stdout of test 'sqlancer04` in directory #CREATE TABLE "sys"."t1" ("c0" DOUBLE); #create view v1(c0, c1) as (select distinct (((t0.c0)=(((1357695262)^(-922564194) = false, cast(coalesce(coalesce(0.3, 0.4), "second"(timestamp '1970-01-10 11:54:13')) as double) from t0); #create view v2(c0) as (select distinct coalesce(abs(interval '-1976292283' month), cast(greatest(r'Dnwxjm4btQ9cp&\c''a_', r'(y7,{q?][NHU,') as interval month)) from t1, t0 where ((upper(r''))not ilike(lower(r'''wAg_ z ''PPxXßgrd⍮G'; +#select all v2.c0 from v2 right outer join v1 on ((r'8*By1q)*Oc # 09:44:50 > "Done." ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list