Changeset: daa17a255eea for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=daa17a255eea Added Files: sql/server/rel_rewriter.c sql/server/rel_rewriter.h sql/test/BugTracker-2020/Tests/functions-not-persist.Bug-6819.py sql/test/BugTracker-2020/Tests/functions-not-persist.Bug-6819.stable.err sql/test/BugTracker-2020/Tests/functions-not-persist.Bug-6819.stable.out Modified Files: .hgtags ChangeLog MonetDB.spec NT/monetdb_config.h.in NT/rules.msc clients/Tests/exports.stable.out clients/mapilib/mapi.rc clients/odbc/driver/driver.rc clients/odbc/winsetup/setup.rc configure.ag debian/changelog gdk/gdk.h gdk/gdk_aggr.c gdk/gdk_atoms.h gdk/gdk_batop.c gdk/gdk_bbp.c gdk/gdk_hash.c gdk/gdk_hash.h gdk/gdk_private.h gdk/gdk_string.c gdk/gdk_system.h gdk/gdk_tracer.c gdk/gdk_tracer.h gdk/gdk_utils.c gdk/gdk_utils.h gdk/libbat.rc geom/monetdb5/geom.c libversions monetdb5/mal/mal_exception.c monetdb5/mal/mal_module.c monetdb5/mal/mal_private.h monetdb5/modules/atoms/blob.h monetdb5/modules/kernel/bat5.c monetdb5/modules/mal/remote.c monetdb5/optimizer/opt_oltp.c monetdb5/tools/libmonetdb5.rc sql/backends/monet5/UDF/capi/capi.c sql/backends/monet5/UDF/capi/capi.h sql/backends/monet5/UDF/pyapi3/Tests/pyloader3_01.stable.out sql/backends/monet5/UDF/pyapi3/pyheader.h sql/backends/monet5/sql_scenario.c sql/scripts/81_tracer.sql sql/server/Makefile.ag sql/server/rel_optimizer.c sql/server/rel_psm.c sql/server/rel_rel.c sql/server/rel_rel.h sql/server/rel_schema.c sql/server/rel_unnest.c sql/server/sql_mvc.c sql/storage/store.c sql/test/BugTracker-2016/Tests/memory-consumption-query-PLAN-25joins.Bug-3972.stable.out sql/test/BugTracker-2017/Tests/not_plus.Bug-6294.stable.out sql/test/BugTracker-2018/Tests/sqlitelogictest-mal-calc-undefined.Bug-6566.stable.out sql/test/BugTracker-2020/Tests/All sql/test/BugTracker-2020/Tests/analyze-stream-table.Bug-6817.sql sql/test/BugTracker-2020/Tests/analyze-stream-table.Bug-6817.stable.err sql/test/BugTracker-2020/Tests/analyze-stream-table.Bug-6817.stable.out sql/test/BugTracker-2020/Tests/select-where-in-rtrim-crash.Bug-6818.sql sql/test/BugTracker-2020/Tests/select-where-in-rtrim-crash.Bug-6818.stable.out sql/test/mergetables/Tests/sqlsmith-exists2.sql sql/test/subquery/Tests/subquery3.sql sql/test/subquery/Tests/subquery3.stable.out tools/merovingian/ChangeLog tools/merovingian/daemon/forkmserver.c tools/merovingian/utils/properties.c tools/mserver/mserver5.c vertoo.data Branch: hitchhiker Log Message:
Merge with default diffs (truncated from 5069 to 300 lines): diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -755,3 +755,6 @@ c35ea84b568b792c5fd073f6a1e1a24372de0e20 4eb6068f63cf87fc6996daed59fbcc917c8b2881 Nov2019_13 c35ea84b568b792c5fd073f6a1e1a24372de0e20 Nov2019_SP2_release 4eb6068f63cf87fc6996daed59fbcc917c8b2881 Nov2019_SP2_release +7186b517a584f0244e20eb7abe61f7a7c0c9ea1b Nov2019_15 +4eb6068f63cf87fc6996daed59fbcc917c8b2881 Nov2019_SP2_release +7186b517a584f0244e20eb7abe61f7a7c0c9ea1b Nov2019_SP2_release diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,10 @@ # ChangeLog file for devel # This file is updated with Maddlog +* Tue Feb 18 2020 Thodoris Zois <thodoris.z...@monetdbsolutions.com> +- Added mserver5 option (--dbtrace=<path>) in order to be able to + specify the output directory of the produced traces. + * Thu Feb 6 2020 Panagiotis Koutsourakis <kutsu...@monetdbsolutions.com> - Add port and host as fields in the .monetdb file. diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -941,6 +941,12 @@ fi %postun -p /sbin/ldconfig %changelog +* Mon Feb 17 2020 Sjoerd Mullender <sjo...@acm.org> - 11.35.15-20200217 +- Rebuilt. +- BZ#6817: running analyze on a schema which contains a stream table + stops with an error +- BZ#6819: functions do not persist + * Wed Feb 12 2020 Sjoerd Mullender <sjo...@acm.org> - 11.35.13-20200212 - Rebuilt. diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out --- a/clients/Tests/exports.stable.out +++ b/clients/Tests/exports.stable.out @@ -512,7 +512,6 @@ ssize_t shtFromStr(const char *src, size ssize_t shtToStr(str *dst, size_t *len, const sht *src, bool external); const sht sht_nil; ssize_t strFromStr(const char *restrict src, size_t *restrict len, str *restrict dst, bool external); -BUN strHash(const char *s); const char str_nil[2]; gdk_return void_inplace(BAT *b, oid id, const void *val, bool force) __attribute__((__warn_unused_result__)); int win_mkdir(const char *, const int mode); diff --git a/debian/changelog b/debian/changelog --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,12 @@ +monetdb (11.35.15) unstable; urgency=low + + * Rebuilt. + * BZ#6817: running analyze on a schema which contains a stream table + stops with an error + * BZ#6819: functions do not persist + + -- Sjoerd Mullender <sjo...@acm.org> Mon, 17 Feb 2020 12:40:46 +0100 + monetdb (11.35.13) unstable; urgency=low * Rebuilt. diff --git a/gdk/gdk.h b/gdk/gdk.h --- a/gdk/gdk.h +++ b/gdk/gdk.h @@ -463,7 +463,6 @@ #define FALSE false #endif -#define IDLENGTH 64 /* maximum BAT id length */ #define BATMARGIN 1.2 /* extra free margin for new heaps */ #define BATTINY_BITS 8 #define BATTINY ((BUN)1<<BATTINY_BITS) /* minimum allocation buncnt for a BAT */ @@ -983,203 +982,6 @@ typedef var_t stridx_t; #define BATcount(b) ((b)->batCount) -/* - * @+ GDK Extensibility - * GDK can be extended with new atoms, search accelerators and storage - * modes. - * - * @- Atomic Type Descriptors - * The atomic types over which the binary associations are maintained - * are described by an atom descriptor. - * @multitable @columnfractions 0.08 0.7 - * @item void - * @tab ATOMallocate (str nme); - * @item int - * @tab ATOMindex (char *nme); - * @item int - * @tab ATOMdump (); - * @item void - * @tab ATOMdelete (int id); - * @item str - * @tab ATOMname (int id); - * @item unsigned int - * @tab ATOMsize (int id); - * @item int - * @tab ATOMvarsized (int id); - * @item ptr - * @tab ATOMnilptr (int id); - * @item ssize_t - * @tab ATOMfromstr (int id, str s, size_t* len, ptr* v_dst); - * @item ssize_t - * @tab ATOMtostr (int id, str s, size_t* len, ptr* v_dst); - * @item hash_t - * @tab ATOMhash (int id, ptr val, in mask); - * @item int - * @tab ATOMcmp (int id, ptr val_1, ptr val_2); - * @item int - * @tab ATOMfix (int id, ptr v); - * @item int - * @tab ATOMunfix (int id, ptr v); - * @item int - * @tab ATOMheap (int id, Heap *hp, size_t cap); - * @item int - * @tab ATOMput (int id, Heap *hp, BUN pos_dst, ptr val_src); - * @item int - * @tab ATOMdel (int id, Heap *hp, BUN v_src); - * @item size_t - * @tab ATOMlen (int id, ptr val); - * @item ptr - * @tab ATOMnil (int id); - * @item ssize_t - * @tab ATOMformat (int id, ptr val, char** buf); - * @item int - * @tab ATOMprint (int id, ptr val, stream *fd); - * @item ptr - * @tab ATOMdup (int id, ptr val ); - * @end multitable - * - * @- Atom Definition - * User defined atomic types can be added to a running system with the - * following interface:. - * - * @itemize - * @item @emph{ATOMallocate()} registers a new atom definition if - * there is no atom registered yet under that name. - * - * @item @emph{ATOMdelete()} unregisters an atom definition. - * - * @item @emph{ATOMindex()} looks up the atom descriptor with a certain name. - * @end itemize - * - * @- Atom Manipulation - * - * @itemize - * @item The @emph{ATOMname()} operation retrieves the name of an atom - * using its id. - * - * @item The @emph{ATOMsize()} operation returns the atoms fixed size. - * - * @item The @emph{ATOMnilptr()} operation returns a pointer to the - * nil-value of an atom. We usually take one dedicated value halfway - * down the negative extreme of the atom range (if such a concept - * fits), as the nil value. - * - * @item The @emph{ATOMnil()} operation returns a copy of the nil - * value, allocated with GDKmalloc(). - * - * @item The @emph{ATOMheap()} operation creates a new var-sized atom - * heap in 'hp' with capacity 'cap'. - * - * @item The @emph{ATOMhash()} computes a hash index for a - * value. `val' is a direct pointer to the atom value. Its return - * value should be an hash_t between 0 and 'mask'. - * - * @item The @emph{ATOMcmp()} operation compares two atomic - * values. Its parameters are pointers to atomic values. - * - * @item The @emph{ATOMlen()} operation computes the byte length for a - * value. `val' is a direct pointer to the atom value. Its return - * value should be an integer between 0 and 'mask'. - * - * @item The @emph{ATOMdel()} operation deletes a var-sized atom from - * its heap `hp'. The integer byte-index of this value in the heap is - * pointed to by `val_src'. - * - * @item The @emph{ATOMput()} operation inserts an atom `src_val' in a - * BUN at `dst_pos'. This involves copying the fixed sized part in the - * BUN. In case of a var-sized atom, this fixed sized part is an - * integer byte-index into a heap of var-sized atoms. The atom is then - * also copied into that heap `hp'. - * - * @item The @emph{ATOMfix()} and @emph{ATOMunfix()} operations do - * bookkeeping on the number of references that a GDK application - * maintains to the atom. In MonetDB, we use this to count the number - * of references directly, or through BATs that have columns of these - * atoms. The only operator for which this is currently relevant is - * BAT. The operators return the POST reference count to the - * atom. BATs with fixable atoms may not be stored persistently. - * - * @item The @emph{ATOMfromstr()} parses an atom value from string - * `s'. The memory allocation policy is the same as in - * @emph{ATOMget()}. The return value is the number of parsed - * characters or -1 on failure. Also in case of failure, the output - * parameter buf is a valid pointer or NULL. - * - * @item The @emph{ATOMprint()} prints an ASCII description of the - * atom value pointed to by `val' on file descriptor `fd'. The return - * value is the number of parsed characters. - * - * @item The @emph{ATOMformat()} is similar to @emph{ATOMprint()}. It - * prints an atom on a newly allocated string. It must later be freed - * with @strong{GDKfree}. The number of characters written is - * returned. This is minimally the size of the allocated buffer. - * - * @item The @emph{ATOMdup()} makes a copy of the given atom. The - * storage needed for this is allocated and should be removed by the - * user. - * @end itemize - * - * These wrapper functions correspond closely to the interface - * functions one has to provide for a user-defined atom. They - * basically (with exception of @emph{ATOMput()}, @emph{ATOMprint()} - * and @emph{ATOMformat()}) just have the atom id parameter prepended - * to them. - */ - -/* atomFromStr returns the number of bytes of the input string that - * were processed. atomToStr returns the length of the string - * produced. Both functions return -1 on (any kind of) failure. If - * *dst is not NULL, *len specifies the available space. If there is - * not enough space, or if *dst is NULL, *dst will be freed (if not - * NULL) and a new buffer will be allocated and returned in *dst. - * *len will be set to reflect the actual size allocated. If - * allocation fails, *dst will be NULL on return and *len is - * undefined. In any case, if the function returns, *buf is either - * NULL or a valid pointer and then *len is the size of the area *buf - * points to. */ - -typedef struct { - /* simple attributes */ - char name[IDLENGTH]; - uint8_t storage; /* stored as another type? */ - bool linear; /* atom can be ordered linearly */ - uint16_t size; /* fixed size of atom */ - - /* automatically generated fields */ - const void *atomNull; /* global nil value */ - - /* generic (fixed + varsized atom) ADT functions */ - ssize_t (*atomFromStr) (const char *src, size_t *len, void **dst, bool external); - ssize_t (*atomToStr) (char **dst, size_t *len, const void *src, bool external); - void *(*atomRead) (void *dst, stream *s, size_t cnt); - gdk_return (*atomWrite) (const void *src, stream *s, size_t cnt); - int (*atomCmp) (const void *v1, const void *v2); - BUN (*atomHash) (const void *v); - /* optional functions */ - int (*atomFix) (const void *atom); - int (*atomUnfix) (const void *atom); - - /* varsized atom-only ADT functions */ - var_t (*atomPut) (Heap *, var_t *off, const void *src); - void (*atomDel) (Heap *, var_t *atom); - size_t (*atomLen) (const void *atom); - void (*atomHeap) (Heap *, size_t); -} atomDesc; - -gdk_export atomDesc BATatoms[]; -gdk_export int GDKatomcnt; - -gdk_export int ATOMallocate(const char *nme); -gdk_export int ATOMindex(const char *nme); - -gdk_export str ATOMname(int id); -gdk_export size_t ATOMlen(int id, const void *v); -gdk_export void *ATOMnil(int id); -gdk_export int ATOMprint(int id, const void *val, stream *fd); -gdk_export char *ATOMformat(int id, const void *val); - -gdk_export void *ATOMdup(int id, const void *val); - #include "gdk_atoms.h" /* return the oid value at BUN position p from the (v)oid bat b @@ -1714,9 +1516,7 @@ gdk_export void GDKclrerr(void); * @end itemize */ /* NOTE: `p' is evaluated after a possible upgrade of the heap */ -static inline gdk_return Tputvalue(BAT *b, BUN p, const void *v, bool copyall) - __attribute__((__warn_unused_result__)); -static inline gdk_return +static inline gdk_return __attribute__((__warn_unused_result__)) Tputvalue(BAT *b, BUN p, const void *v, bool copyall) { if (b->tvarsized && b->ttype) { @@ -1756,18 +1556,14 @@ Tputvalue(BAT *b, BUN p, const void *v, return GDK_SUCCEED; } -static inline gdk_return tfastins_nocheck(BAT *b, BUN p, const void *v, int s) - __attribute__((__warn_unused_result__)); -static inline gdk_return _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list