Changeset: eaa5d8fea598 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=eaa5d8fea598 Added Files: sql/test/miscellaneous/Tests/declared_tables.sql sql/test/miscellaneous/Tests/declared_tables.stable.err sql/test/miscellaneous/Tests/declared_tables.stable.out sql/test/sys-schema/Tests/bam_tables_checks.sql sql/test/sys-schema/Tests/bam_tables_checks.stable.err sql/test/sys-schema/Tests/bam_tables_checks.stable.out sql/test/sys-schema/Tests/check_Not_Nullable_columns.sql sql/test/sys-schema/Tests/check_Not_Nullable_columns.stable.err sql/test/sys-schema/Tests/check_Not_Nullable_columns.stable.out sql/test/sys-schema/Tests/geom_tables_checks.sql sql/test/sys-schema/Tests/geom_tables_checks.stable.err sql/test/sys-schema/Tests/geom_tables_checks.stable.out tools/merovingian/daemon/config/.merovingian_properties.in tools/merovingian/daemon/config/Makefile.ag tools/merovingian/daemon/config/monetdbd.in tools/merovingian/daemon/config/monetdbd.service.in Removed Files: tools/merovingian/daemon/.merovingian_properties.in tools/merovingian/daemon/monetdbd.service.in Modified Files: MonetDB.spec debian/monetdb5-sql.install debian/rules monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out monetdb5/optimizer/opt_pipes.c sql/backends/monet5/sql_cat.c sql/server/rel_schema.c sql/server/rel_semantic.c sql/test/Tests/setoptimizer.stable.out sql/test/miscellaneous/Tests/All sql/test/sys-schema/Tests/All sql/test/sys-schema/Tests/check_PrimaryKey_uniqueness.stable.out tools/merovingian/ChangeLog.Aug2018 tools/merovingian/daemon/Makefile.ag tools/mserver/mserver5.1.in tools/mserver/shutdowntest.c Branch: analytics Log Message:
Merge with default. diffs (truncated from 1794 to 300 lines): diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -1,9 +1,9 @@ -%define name MonetDB -%define version 11.32.0 +%global name MonetDB +%global version 11.32.0 %{!?buildno: %global buildno %(date +%Y%m%d)} -# Use %bcond_with to add a --with option; i.e., "without" is default. -# Use %bcond_without to add a --without option; i.e., "with" is default. +# Use bcond_with to add a --with option; i.e., "without" is default. +# Use bcond_without to add a --without option; i.e., "with" is default. # The --with OPTION and --without OPTION arguments can be passed on # the commandline of both rpmbuild and mock. @@ -12,12 +12,12 @@ %bcond_without hugeint %endif -%define release %{buildno}%{?dist} +%global release %{buildno}%{?dist} # On RedHat Enterprise Linux and derivatives, if the Extra Packages # for Enterprise Linux (EPEL) repository is available, you can enable # its use by providing rpmbuild or mock with the "--with epel" option. -# If the EPEL repository is availabe, or if building for Fedora, all +# If the EPEL repository is availabe, or if building for Fedora, most # optional sub packages can be built. We indicate that here by # setting the macro fedpkgs to 1. If the EPEL repository is not # available and we are not building for Fedora, we set fedpkgs to 0. @@ -26,14 +26,14 @@ %bcond_with epel %if %{with epel} # EPEL is enabled through the command line -%define fedpkgs 1 +%global fedpkgs 1 %else # EPEL is not enabled -%define fedpkgs 0 +%global fedpkgs 0 %endif %else # Not RHEL (so presumably Fedora) -%define fedpkgs 1 +%global fedpkgs 1 %endif # On Fedora, the geos library is available, and so we can require it @@ -45,6 +45,7 @@ # up-to-date version of RHEL. %if %{fedpkgs} %if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} >= 7 +# By default create the MonetDB-geom-MonetDB5 package on Fedora and RHEL 7 %bcond_without geos %endif %endif @@ -75,7 +76,7 @@ %bcond_without pcre %if %{fedpkgs} -# By default, create teh MonetDB-R package. +# By default, create the MonetDB-R package. %bcond_without rintegration %endif @@ -93,13 +94,6 @@ %{!?__python2: %global __python2 %__python} %{!?python2_sitelib: %global python2_sitelib %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")} -# python3 option not currently used -# %if 0%{?fedora} -# %bcond_without python3 -# %else -# %bcond_with python3 -# %endif - Name: %{name} Version: %{version} Release: %{release} @@ -425,8 +419,6 @@ developer. Summary: MonetDB5 SQL GIS support module Group: Applications/Databases Requires: MonetDB5-server%{?_isa} = %{version}-%{release} -Obsoletes: %{name}-geom -Obsoletes: %{name}-geom-devel %description geom-MonetDB5 MonetDB is a database management system that is developed from a @@ -593,22 +585,10 @@ to use the SQL frontend, you also need % %pre -n MonetDB5-server getent group monetdb >/dev/null || groupadd -r monetdb getent passwd monetdb >/dev/null || \ -useradd -r -g monetdb -d %{_localstatedir}/MonetDB -s /sbin/nologin \ - -c "MonetDB Server" monetdb + useradd -r -g monetdb -d %{_localstatedir}/MonetDB -s /sbin/nologin \ + -c "MonetDB Server" monetdb exit 0 -%post -n MonetDB5-server -# move database from old location to new location -if [ -d %{_localstatedir}/MonetDB5/dbfarm -a ! %{_localstatedir}/MonetDB5/dbfarm -ef %{_localstatedir}/monetdb5/dbfarm ]; then - # old database exists and is different from new - if [ $(find %{_localstatedir}/monetdb5 -print | wc -l) -le 2 ]; then - # new database is still empty - rmdir %{_localstatedir}/monetdb5/dbfarm - rmdir %{_localstatedir}/monetdb5 - mv %{_localstatedir}/MonetDB5 %{_localstatedir}/monetdb5 - fi -fi - %files -n MonetDB5-server %defattr(-,root,root) %attr(750,monetdb,monetdb) %dir %{_localstatedir}/MonetDB @@ -751,6 +731,7 @@ systemd-tmpfiles --create %{_sysconfdir} # RHEL >= 7, and all current Fedora %{_sysconfdir}/tmpfiles.d/monetdbd.conf %{_unitdir}/monetdbd.service +%config(noreplace) %attr(644,root,root) %{_sysconfdir}/logrotate.d/monetdbd %else # RedHat Enterprise Linux < 7 %dir %attr(775,monetdb,monetdb) %{_localstatedir}/run/monetdb @@ -970,7 +951,7 @@ fi --with-valgrind=no \ %{?comp_cc:CC="%{comp_cc}"} -make %{?_smp_mflags} +%make_build %if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} >= 7 cd buildtools/selinux 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,7 @@ debian/tmp/usr/bin/monetdb usr/bin debian/tmp/usr/lib/monetdb5/*.sql usr/lib/monetdb5 debian/tmp/usr/lib/monetdb5/autoload/??_sql.mal usr/lib/monetdb5/autoload 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 etc/tmpfiles.d # usr/lib/monetdb5/sql*.mal EXCEPT: sql*_hge.mal debian/tmp/usr/lib/monetdb5/sql.mal usr/lib/monetdb5 diff --git a/debian/rules b/debian/rules --- a/debian/rules +++ b/debian/rules @@ -28,10 +28,13 @@ override_dh_auto_configure: --enable-netcdf=no \ --enable-odbc=yes \ --enable-optimize=yes \ + --enable-py3integration=no \ --enable-pyintegration=yes \ --enable-rintegration=yes \ + --enable-sanitizer=no \ --enable-shp=no \ --enable-sql=yes \ + --enable-static-analysis=no \ --enable-strict=no \ --enable-testing=yes \ --with-bz2=yes \ @@ -40,6 +43,7 @@ override_dh_auto_configure: --with-geos=yes \ --with-liblas=yes \ --with-libxml2=yes \ + --with-lz4=no \ --with-lzma=yes \ --with-openssl=yes \ --with-proj=no \ @@ -49,6 +53,7 @@ override_dh_auto_configure: --with-readline=yes \ --with-regex=PCRE \ --with-samtools=yes \ + --with-snappy=no \ --with-unixodbc=yes \ --with-uuid=yes \ --with-valgrind=no \ diff --git a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out --- a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out +++ b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out @@ -55,7 +55,7 @@ Ready. % def # name % clob # type % 560 # length -[ "optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.evaluate();optimizer.emptybind();optimizer.pushselect();optimizer.aliases();optimizer.mergetable();optimizer.deadcode();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.reorder();optimizer.deadcode();optimizer.matpack();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.candidates();optimizer.postfix();optimizer.deadcode();optimizer.wlc();optimizer.garbageCollector();" ] +[ "optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.evaluate();optimizer.emptybind();optimizer.pushselect();optimizer.aliases();optimizer.mergetable();optimizer.deadcode();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.deadcode();optimizer.reorder();optimizer.matpack();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.candidates();optimizer.postfix();optimizer.deadcode();optimizer.wlc();optimizer.garbageCollector();" ] #explain copy into ttt from '/tmp/xyz'; % .explain # table_name % mal # name @@ -114,7 +114,7 @@ end user.s10_1; % def # name % clob # type % 583 # length -[ "optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.evaluate();optimizer.emptybind();optimizer.pushselect();optimizer.aliases();optimizer.mergetable();optimizer.deadcode();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.reorder();optimizer.deadcode();optimizer.matpack();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.candidates();optimizer.postfix();optimizer.deadcode();optimizer.wlc();optimizer.sql_append();optimizer.garbageCollector();" ] +[ "optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.evaluate();optimizer.emptybind();optimizer.pushselect();optimizer.aliases();optimizer.mergetable();optimizer.deadcode();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.deadcode();optimizer.reorder();optimizer.matpack();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.candidates();optimizer.postfix();optimizer.deadcode();optimizer.wlc();optimizer.sql_append();optimizer.garbageCollector();" ] #explain copy into ttt from '/tmp/xyz'; % .explain # table_name % mal # name diff --git a/monetdb5/optimizer/opt_pipes.c b/monetdb5/optimizer/opt_pipes.c --- a/monetdb5/optimizer/opt_pipes.c +++ b/monetdb5/optimizer/opt_pipes.c @@ -158,8 +158,8 @@ static struct PIPELINES { "optimizer.constants();" "optimizer.commonTerms();" "optimizer.projectionpath();" + "optimizer.deadcode();" "optimizer.reorder();" - "optimizer.deadcode();" // "optimizer.reduce();" deprecated "optimizer.matpack();" "optimizer.dataflow();" @@ -200,8 +200,8 @@ static struct PIPELINES { "optimizer.constants();" "optimizer.commonTerms();" "optimizer.projectionpath();" + "optimizer.deadcode();" "optimizer.reorder();" - "optimizer.deadcode();" // "optimizer.reduce();" deprecated "optimizer.matpack();" "optimizer.querylog();" diff --git a/sql/backends/monet5/sql_cat.c b/sql/backends/monet5/sql_cat.c --- a/sql/backends/monet5/sql_cat.c +++ b/sql/backends/monet5/sql_cat.c @@ -1532,7 +1532,7 @@ SQLcomment_on(Client cntxt, MalBlkPtr mb if (!id_col || !remark_col) throw(SQL, "sql.comment_on", SQLSTATE(3F000) "no table sys.comments"); rid = table_funcs.column_find_row(tx, id_col, &objid, NULL); - if (remark != NULL && *remark) { + if (remark != NULL && *remark && strcmp(remark, str_nil) != 0) { if (!is_oid_nil(rid)) { // have new remark and found old one, so update field /* UPDATE sys.comments SET remark = %s WHERE id = %d */ diff --git a/sql/server/rel_schema.c b/sql/server/rel_schema.c --- a/sql/server/rel_schema.c +++ b/sql/server/rel_schema.c @@ -2476,6 +2476,7 @@ rel_schemas(mvc *sql, symbol *s) l->h->next->data.i_val, /* drop_action */ l->h->next->next->data.i_val); /* if exists */ } break; + case SQL_DECLARE_TABLE: case SQL_CREATE_TABLE: { dlist *l = s->data.lval; diff --git a/sql/server/rel_semantic.c b/sql/server/rel_semantic.c --- a/sql/server/rel_semantic.c +++ b/sql/server/rel_semantic.c @@ -129,6 +129,7 @@ rel_semantic(mvc *sql, symbol *s) case SQL_CREATE_SCHEMA: case SQL_DROP_SCHEMA: + case SQL_DECLARE_TABLE: case SQL_CREATE_TABLE: case SQL_CREATE_VIEW: case SQL_DROP_TABLE: diff --git a/sql/test/Tests/setoptimizer.stable.out b/sql/test/Tests/setoptimizer.stable.out --- a/sql/test/Tests/setoptimizer.stable.out +++ b/sql/test/Tests/setoptimizer.stable.out @@ -68,8 +68,8 @@ Ready. [ "minimal_pipe", "optimizer.inline();optimizer.remap();optimizer.deadcode();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.candidates();optimizer.garbageCollector();", "stable" ] [ "default_pipe", "optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.evaluate();optimizer.emptybind();optimizer.pushselect();optimizer.aliases();optimizer.mitosis();optimizer.mergetable();optimizer.deadcode();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.deadcode();optimizer.reorder();optimizer.matpack();optimizer.dataflow();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.candidates();optimizer.postfix();optimizer.deadcode();optimizer.wlc();optimizer.garbageCollector();", "stable" ] [ "volcano_pipe", "optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.evaluate();optimizer.emptybind();optimizer.pushselect();optimizer.aliases();optimizer.mitosis();optimizer.mergetable();optimizer.deadcode();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.deadcode();optimizer.reorder();optimizer.matpack();optimizer.dataflow();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.volcano();optimizer.profiler();optimizer.candidates();optimizer.postfix();optimizer.deadcode();optimizer.wlc();optimizer.garbageCollector();", "stable" ] -[ "no_mitosis_pipe", "optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.evaluate();optimizer.emptybind();optimizer.pushselect();optimizer.aliases();optimizer.mergetable();optimizer.deadcode();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.reorder();optimizer.deadcode();optimizer.matpack();optimizer.dataflow();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.candidates();optimizer.postfix();optimizer.deadcode();optimizer.wlc();optimizer.garbageCollector();", "stable" ] -[ "sequential_pipe", "optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.evaluate();optimizer.emptybind();optimizer.pushselect();optimizer.aliases();optimizer.mergetable();optimizer.deadcode();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.reorder();optimizer.deadcode();optimizer.matpack();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.candidates();optimizer.postfix();optimizer.deadcode();optimizer.wlc();optimizer.garbageCollector();", "stable" ] +[ "no_mitosis_pipe", "optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.evaluate();optimizer.emptybind();optimizer.pushselect();optimizer.aliases();optimizer.mergetable();optimizer.deadcode();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.deadcode();optimizer.reorder();optimizer.matpack();optimizer.dataflow();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.candidates();optimizer.postfix();optimizer.deadcode();optimizer.wlc();optimizer.garbageCollector();", "stable" ] +[ "sequential_pipe", "optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.evaluate();optimizer.emptybind();optimizer.pushselect();optimizer.aliases();optimizer.mergetable();optimizer.deadcode();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.deadcode();optimizer.reorder();optimizer.matpack();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.candidates();optimizer.postfix();optimizer.deadcode();optimizer.wlc();optimizer.garbageCollector();", "stable" ] # 02:57:35 > # 02:57:35 > "Done." diff --git a/sql/test/miscellaneous/Tests/All b/sql/test/miscellaneous/Tests/All --- a/sql/test/miscellaneous/Tests/All +++ b/sql/test/miscellaneous/Tests/All @@ -1,2 +1,3 @@ +declared_tables #now trace_test diff --git a/sql/test/miscellaneous/Tests/declared_tables.sql b/sql/test/miscellaneous/Tests/declared_tables.sql new file mode 100644 --- /dev/null +++ b/sql/test/miscellaneous/Tests/declared_tables.sql @@ -0,0 +1,6 @@ +start transaction; +declare table iamdeclared (a int, b varchar(16)); +insert into iamdeclared values (1, 'one'); +select a, b from iamdeclared; +drop table iamdeclared; +rollback; diff --git a/sql/test/miscellaneous/Tests/declared_tables.stable.err b/sql/test/miscellaneous/Tests/declared_tables.stable.err new file mode 100644 --- /dev/null +++ b/sql/test/miscellaneous/Tests/declared_tables.stable.err @@ -0,0 +1,35 @@ +stderr of test 'declared_tables` in directory 'sql/test/miscellaneous` itself: + + +# 14:29:32 > +# 14:29:32 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=39353" "--set" "mapi_usock=/var/tmp/mtest-20678/.s.monetdb.39353" "--set" "monet_prompt=" "--forcemito" "--dbpath=/home/ferreira/repositories/MonetDB-Aug2018/BUILD/var/MonetDB/mTests_sql_test_miscellaneous" "--set" "embedded_c=true" +# 14:29:32 > + +# builtin opt gdk_dbpath = /home/ferreira/repositories/MonetDB-Aug2018/BUILD/var/monetdb5/dbfarm/demo +# builtin opt gdk_debug = 0 _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list