Changeset: 03ccd61ebc80 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=03ccd61ebc80
Removed Files:
sql/backends/monet5/sql_session.c
sql/backends/monet5/sql_session.h
sql/backends/monet5/sql_session.mal
Modified Files:
clients/Tests/MAL-signatures.stable.out
clients/Tests/MAL-signatures.stable.out.int128
clients/Tests/exports.stable.out
gdk/gdk.h
gdk/gdk_aggr.c
gdk/gdk_align.c
gdk/gdk_bat.c
gdk/gdk_batop.c
gdk/gdk_bbp.c
gdk/gdk_group.c
gdk/gdk_join.c
gdk/gdk_logger.c
gdk/gdk_logger.h
gdk/gdk_logger_internals.h
gdk/gdk_private.h
monetdb5/mal/mal_authorize.c
monetdb5/mal/mal_debugger.c
monetdb5/mal/mal_interpreter.c
monetdb5/mal/mal_parser.c
monetdb5/mal/mal_prelude.c
monetdb5/mal/mal_profiler.c
monetdb5/modules/atoms/json.c
monetdb5/modules/kernel/batmmath.c
monetdb5/modules/kernel/batstr.c
monetdb5/modules/mal/CMakeLists.txt
monetdb5/modules/mal/batcalc.c
monetdb5/modules/mal/remote.c
monetdb5/modules/mal/tablet.c
monetdb5/modules/mal/tokenizer.c
monetdb5/optimizer/opt_mergetable.c
monetdb5/optimizer/opt_pushselect.c
monetdb5/optimizer/opt_remap.c
sql/backends/monet5/CMakeLists.txt
sql/backends/monet5/rel_bin.c
sql/backends/monet5/sql.c
sql/backends/monet5/sql_cat.c
sql/backends/monet5/sql_gencode.c
sql/backends/monet5/sql_result.c
sql/backends/monet5/sql_scenario.c
sql/backends/monet5/sql_statement.c
sql/backends/monet5/sql_upgrades.c
sql/backends/monet5/vaults/fits/fits.c
sql/common/sql_types.c
sql/include/sql_catalog.h
sql/server/rel_optimizer.c
sql/server/rel_updates.c
sql/server/sql_mvc.c
sql/server/sql_mvc.h
sql/server/sql_parser.y
sql/storage/bat/bat_logger.c
sql/storage/bat/bat_storage.c
sql/storage/bat/bat_table.c
sql/storage/sql_storage.h
sql/storage/store.c
sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.stable.out
sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-2join-query.stable.out
sql/test/SQLancer/Tests/sqlancer01.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/mergetables/Tests/part-elim.stable.out
sql/test/sys-schema/Tests/systemfunctions.stable.out
sql/test/sys-schema/Tests/systemfunctions.stable.out.int128
tools/merovingian/daemon/controlrunner.c
tools/monetdbe/monetdbe.c
Branch: unlock
Log Message:
merged with default + adapted for unlock code...
diffs (truncated from 147710 to 300 lines):
diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -161,16 +161,13 @@ BuildRequires: pkgconfig(libR)
BuildRequires: texlive-obsolete
%endif
%endif
-# if we were to compile with cmocka support (-DWITH_CMOCKA=ON):
-# BuildRequires: pkgconfig(cmocka)
-# if we were to compile with NetCDF support (-DNETCDF=ON):
-# BuildRequires: pkgconfig(netcdf)
-# if we were to compile with proj support (-DWITH_PROJ=ON):
-# BuildRequires: pkgconfig(proj)
-# if we were to compile with snappy support (-DWITH_SNAPPY=ON):
-# BuildRequires: pkgconfig(snappy)
-# if we were to compile with valgrind support (-DWITH_VALGRIND=ON):
-# BuildRequires: pkgconfig(valgrind)
+# optional packages:
+# BuildRequires: pkgconfig(cmocka) # -DWITH_CMOCKA=ON
+# BuildRequires: pkgconfig(gdal) # -DSHP=ON
+# BuildRequires: pkgconfig(netcdf) # -DNETCDF=ON
+# BuildRequires: pkgconfig(proj) # -DWITH_PROJ=ON
+# BuildRequires: pkgconfig(snappy) # -DWITH_SNAPPY=ON
+# BuildRequires: pkgconfig(valgrind) # -DWITH_VALGRIND=ON
%if (0%{?fedora} >= 22)
Recommends: %{name}-SQL-server5%{?_isa} = %{version}-%{release}
@@ -868,6 +865,15 @@ else
fi
%endif
+%if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} >= 7
+# fix up some paths (/var/run -> /run)
+# needed because CMAKE_INSTALL_RUNSTATEDIR refers to /var/run
+sed -i 's|/var/run|/run|' \
+ %{buildroot}%{_tmpfilesdir}/monetdbd.conf \
+ %{buildroot}%{_localstatedir}/monetdb5/dbfarm/.merovingian_properties \
+ %{buildroot}%{_unitdir}/monetdbd.service
+%endif
+
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
diff --git a/NT/mkodbcwxs.py b/NT/mkodbcwxs.py
--- a/NT/mkodbcwxs.py
+++ b/NT/mkodbcwxs.py
@@ -80,9 +80,9 @@ def main():
r'lib\MonetODBC.dll', # r'lib\MonetODBC.pdb',
r'lib\MonetODBCs.dll', # r'lib\MonetODBCs.pdb',
r'bin\stream.dll', # r'lib\stream.pdb',
- vcpkg.format(r'bin\libiconv.dll'),
+ vcpkg.format(r'bin\iconv-2.dll'),
vcpkg.format(r'bin\bz2.dll'),
- vcpkg.format(r'bin\libcharset.dll'), # for libiconv.dll
+ vcpkg.format(r'bin\charset-1.dll'), # for iconv-2.dll
vcpkg.format(r'bin\libcrypto-1_1{}.dll'.format(libcrypto)),
vcpkg.format(r'bin\zlib1.dll')])
print(r' </Directory>')
diff --git a/NT/mksqlwxs.py b/NT/mksqlwxs.py
--- a/NT/mksqlwxs.py
+++ b/NT/mksqlwxs.py
@@ -145,10 +145,10 @@ def main():
r'bin\monetdb5.dll',
r'bin\monetdbsql.dll',
r'bin\stream.dll',
- vcpkg.format(r'bin\libiconv.dll'),
+ vcpkg.format(r'bin\iconv-2.dll'),
vcpkg.format(r'bin\bz2.dll'),
+ vcpkg.format(r'bin\charset-1.dll'), # for iconv-2.dll
vcpkg.format(r'bin\getopt.dll'),
- vcpkg.format(r'bin\libcharset.dll'), # for libiconv.dll
vcpkg.format(r'bin\libcrypto-1_1{}.dll'.format(libcrypto)),
vcpkg.format(r'bin\libxml2.dll'),
vcpkg.format(r'bin\lz4.dll'),
@@ -199,10 +199,10 @@ def main():
r'lib\monetdb5.lib',
r'lib\monetdbsql.lib',
r'lib\stream.lib',
- vcpkg.format(r'lib\libiconv.lib'),
+ vcpkg.format(r'lib\iconv.lib'),
vcpkg.format(r'lib\bz2.lib'),
+ vcpkg.format(r'lib\charset.lib'),
vcpkg.format(r'lib\getopt.lib'),
- vcpkg.format(r'lib\libcharset.lib'),
vcpkg.format(r'lib\libcrypto.lib'),
vcpkg.format(r'lib\libxml2.lib'),
vcpkg.format(r'lib\lz4.lib'),
diff --git a/README.rst b/README.rst
--- a/README.rst
+++ b/README.rst
@@ -131,10 +131,16 @@ Bugs
----
We of course hope there aren't any, but if you do find one, you can
-report bugs in our `bugzilla`__ instance.
+report bugs in our `github`__ repository.
+
+Please note that we do not accept github Pull Requests. See the
+`developers`__ page for instructions.
-.. _bugzilla: https://bugs.monetdb.org
-__ bugzilla_
+.. _github: https://github.com/MonetDB/MonetDB/issues
+__ github_
+
+.. _developers: https://www.monetdb.org/Developers
+__ developers_
Copyright Notice
================
diff --git a/buildtools/coverity_model.c b/buildtools/coverity_model.c
new file mode 100644
--- /dev/null
+++ b/buildtools/coverity_model.c
@@ -0,0 +1,185 @@
+/*
+ * 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.
+ */
+
+/*
+ * This file contains a model for Coverity Scan.
+ * This file is not a normal source file. It is not compiled by any
+ * compiler, but instead it is uploaded to the Coverity site and used
+ * during any analysis they do on our code.
+ *
+ * We model our use of the various allocation functions.
+ * Things we want to do is model that GDKmalloc and friends are paired
+ * with GDKfree, and that exceptions created by createException and
+ * createMalException should be freed with freeException.
+ *
+ * author: Sjoerd Mullender
+ */
+
+typedef enum { GDK_FAIL, GDK_SUCCEED } gdk_return;
+typedef struct {} *MalBlkPtr;
+
+void
+GDKfree(void *blk)
+{
+ if (blk) {
+ __coverity_free__(blk);
+ __coverity_mark_as_afm_freed__(blk, "GDKfree");
+ }
+}
+
+void *
+GDKmalloc(size_t size)
+{
+ int has_memory;
+ __coverity_negative_sink__(size);
+ if(has_memory) {
+ void *p = __coverity_alloc__(size);
+ __coverity_mark_as_afm_allocated__(p, "GDKfree");
+ __coverity_mark_as_uninitialized_buffer__(p);
+ return p;
+ }
+ return 0;
+}
+
+void *
+GDKzalloc(size_t size)
+{
+ void *p = GDKmalloc(size);
+ if (p) {
+ for (size_t i = 0; i < size; i++)
+ ((char *) p)[i] = 0;
+ }
+ return p;
+}
+
+char *
+GDKstrdup(const char *s)
+{
+ char *p;
+ size_t i;
+ int has_memory;
+ if (s == 0)
+ return 0;
+ __coverity_string_null_sink__(s);
+ __coverity_string_size_sink__(s);
+ if (has_memory) {
+ p = __coverity_alloc_nosize__();
+ __coverity_mark_as_afm_allocated__(p, "GDKfree");
+ for (i = 0; (p[i] = s[i]); i++)
+ ;
+ return p;
+ }
+ return 0;
+}
+
+char *
+GDKstrndup(const char *s, size_t size)
+{
+ char *p;
+ size_t i;
+ __coverity_negative_sink__(size);
+ if (s == 0)
+ return 0;
+ p = GDKmalloc(size + 1);
+ if (p) {
+ for (i = 0; i < size && (p[i] = s[i]); i++)
+ ;
+ p[i] = 0;
+ }
+ return p;
+}
+
+void *
+GDKrealloc(void *blk, size_t size)
+{
+ void *p = GDKmalloc(size);
+ if (p != 0)
+ GDKfree(blk);
+ return p;
+}
+
+void *
+GDKmmap(const char *path, int mode, size_t size)
+{
+ int has_memory;
+ __coverity_negative_sink__(size);
+ if (has_memory) {
+ void *p = __coverity_alloc__(size);
+ __coverity_mark_as_afm_allocated__(p, "GDKmunmap");
+ __coverity_writeall__(p);
+ return p;
+ }
+ return 0;
+}
+
+gdk_return
+GDKmunmap(void *p, size_t size)
+{
+ int failed;
+ __coverity_free__(p);
+ __coverity_mark_as_afm_freed__(p, "GDKmunmap");
+ return failed ? GDK_FAIL : GDK_SUCCEED;
+}
+
+void *
+GDKmremap(const char *path, int mode, void *old_address, size_t old_size,
size_t *new_size)
+{
+ void *p = GDKmmap(path, mode, new_size);
+ if (p) {
+ (void) GDKmunmap(old_address, old_size);
+ }
+ return p;
+}
+
+char *
+createException(enum malexception type, const char *fcn, const char *format,
...)
+{
+ char *p;
+ __coverity_format_string_sink__(format);
+ p = __coverity_alloc_nosize__();
+ __coverity_mark_as_afm_allocated__(p, "freeException");
+ return p;
+}
+
+char *
+createMalException(MalBlkPtr mb, int pc, enum malexception type, const char
*format, ...)
+{
+ char *p;
+ __coverity_format_string_sink__(format);
+ p = __coverity_alloc_nosize__();
+ __coverity_mark_as_afm_allocated__(p, "freeException");
+ return p;
+}
+
+char *
+dupError(const char *err)
+{
+ char *p;
+ p = __coverity_alloc_nosize__();
+ __coverity_mark_as_afm_allocated__(p, "freeException");
+ return p;
+}
+
+void
+freeException(char *p)
+{
+ if (p) {
+ __coverity_free__(p);
+ __coverity_mark_as_afm_freed__(p, "freeException");
+ }
+}
+
+char *
+concatErrors(char *err1, const char *err2)
+{
+ freeException(err1);
+ char *p;
+ p = __coverity_alloc_nosize__();
+ __coverity_mark_as_afm_allocated__(p, "freeException");
+ return p;
+}
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list