Changeset: 6378fac66156 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/6378fac66156 Modified Files: gdk/gdk.h gdk/gdk_batop.c sql/backends/monet5/sql.c sql/server/rel_optimizer.c sql/server/rel_rel.c Branch: properties Log Message:
Merged with default diffs (truncated from 415 to 300 lines): diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -884,8 +884,8 @@ fi * Thu Jan 6 2022 Martin van Dinther <martin.van.dint...@monetdbsolutions.com> - 11.43.3-20220111 - merovingian: Disabled logging into merovingian.log of next info message types: - - proxying client <host>:<port> for database '<dbname>' to <url> - - target connection is on local UNIX domain socket, passing on filedescriptor instead of proxying + "proxying client <host>:<port> for database '<dbname>' to <url>" and + "target connection is on local UNIX domain socket, passing on filedescriptor instead of proxying". These messages were written to the log file at each connection. In most cases this information is not used. The disabling reduces the log file size. diff --git a/clients/mapiclient/dump.c b/clients/mapiclient/dump.c --- a/clients/mapiclient/dump.c +++ b/clients/mapiclient/dump.c @@ -204,7 +204,7 @@ comment_on(stream *toConsole, const char return 0; } -static char *actions[] = { +static const char *actions[] = { 0, "CASCADE", "RESTRICT", diff --git a/clients/mapiclient/mclient.c b/clients/mapiclient/mclient.c --- a/clients/mapiclient/mclient.c +++ b/clients/mapiclient/mclient.c @@ -2926,7 +2926,7 @@ struct privdata { #define READSIZE (1 << 16) //#define READSIZE (1 << 20) -static char alpha[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" +static const char alpha[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" "abcdefghijklmnopqrstuvwxyz"; static char * @@ -3136,7 +3136,7 @@ main(int argc, char **argv) bool autocommit = true; /* autocommit mode default on */ bool user_set_as_flag = false; bool passwd_set_as_flag = false; - static struct option long_options[] = { + static const struct option long_options[] = { {"autocommit", 0, 0, 'a'}, {"database", 1, 0, 'd'}, {"dump", 0, 0, 'D'}, diff --git a/debian/changelog b/debian/changelog --- a/debian/changelog +++ b/debian/changelog @@ -54,8 +54,8 @@ monetdb (11.43.3) unstable; urgency=low monetdb (11.43.3) unstable; urgency=low * merovingian: Disabled logging into merovingian.log of next info message types: - - proxying client <host>:<port> for database '<dbname>' to <url> - - target connection is on local UNIX domain socket, passing on filedescriptor instead of proxying + "proxying client <host>:<port> for database '<dbname>' to <url>" and + "target connection is on local UNIX domain socket, passing on filedescriptor instead of proxying". These messages were written to the log file at each connection. In most cases this information is not used. The disabling reduces the log file size. diff --git a/gdk/gdk_batop.c b/gdk/gdk_batop.c --- a/gdk/gdk_batop.c +++ b/gdk/gdk_batop.c @@ -2182,7 +2182,7 @@ BATsort(BAT **sorted, BAT **order, BAT * if (g != NULL && (ATOMtype(g->ttype) != TYPE_oid || /* oid tail */ !g->tsorted || /* sorted */ - BATcount(o) != BATcount(b) || /* same size as b */ + BATcount(g) != BATcount(b) || /* same size as b */ (g->ttype == TYPE_void && /* no nil tail */ BATcount(g) != 0 && is_oid_nil(g->tseqbase)))) { diff --git a/misc/packages/deb/changelog b/misc/packages/deb/changelog --- a/misc/packages/deb/changelog +++ b/misc/packages/deb/changelog @@ -54,8 +54,8 @@ monetdb (11.43.3) unstable; urgency=low monetdb (11.43.3) unstable; urgency=low * merovingian: Disabled logging into merovingian.log of next info message types: - - proxying client <host>:<port> for database '<dbname>' to <url> - - target connection is on local UNIX domain socket, passing on filedescriptor instead of proxying + "proxying client <host>:<port> for database '<dbname>' to <url>" and + "target connection is on local UNIX domain socket, passing on filedescriptor instead of proxying". These messages were written to the log file at each connection. In most cases this information is not used. The disabling reduces the log file size. diff --git a/misc/packages/rpm/changelog b/misc/packages/rpm/changelog --- a/misc/packages/rpm/changelog +++ b/misc/packages/rpm/changelog @@ -32,8 +32,8 @@ * Thu Jan 6 2022 Martin van Dinther <martin.van.dint...@monetdbsolutions.com> - 11.43.3-20220111 - merovingian: Disabled logging into merovingian.log of next info message types: - - proxying client <host>:<port> for database '<dbname>' to <url> - - target connection is on local UNIX domain socket, passing on filedescriptor instead of proxying + "proxying client <host>:<port> for database '<dbname>' to <url>" and + "target connection is on local UNIX domain socket, passing on filedescriptor instead of proxying". These messages were written to the log file at each connection. In most cases this information is not used. The disabling reduces the log file size. diff --git a/monetdb5/mal/mal_exception.c b/monetdb5/mal/mal_exception.c --- a/monetdb5/mal/mal_exception.c +++ b/monetdb5/mal/mal_exception.c @@ -14,7 +14,7 @@ #include "mal_exception.h" #include "mal_private.h" -static char *exceptionNames[] = { +static const char *exceptionNames[] = { /* 0 */ "MALException", /* 1 */ "IllegalArgumentException", /* 2 */ "OutOfBoundsException", diff --git a/monetdb5/mal/mal_prelude.c b/monetdb5/mal/mal_prelude.c --- a/monetdb5/mal/mal_prelude.c +++ b/monetdb5/mal/mal_prelude.c @@ -239,7 +239,7 @@ addFunctions(mel_func *fcn){ sig->retc = 0; sig->argc = 0; sig->token = fcn->command?COMMANDsymbol:PATTERNsymbol; - sig->fcn = (MALfcn)fcn->imp; + sig->fcn = fcn->imp; if( fcn->unsafe) mb->unsafeProp = 1; @@ -351,7 +351,7 @@ melFunction(bool command, const char *mo sig->retc = 0; sig->argc = 0; sig->token = command ? COMMANDsymbol:PATTERNsymbol; - sig->fcn = (MALfcn)imp; + sig->fcn = imp; if (unsafe) mb->unsafeProp = 1; /* add the return variables */ diff --git a/monetdb5/mal/mal_profiler.c b/monetdb5/mal/mal_profiler.c --- a/monetdb5/mal/mal_profiler.c +++ b/monetdb5/mal/mal_profiler.c @@ -80,7 +80,7 @@ static void logjsonInternal(char *logbuf * We use the `logadd` function to add data to our buffer (usually key-value pairs). This macro offers an interface similar * to printf. * - * The first snprintf bellow happens in a statically allocated buffer that might be much smaller than logcap. We do not + * The first snprintf below happens in a statically allocated buffer that might be much smaller than logcap. We do not * care. We only need to perform this snprintf to get the actual length of the string that is to be produced. * * There are three cases: @@ -889,7 +889,7 @@ sqlProfilerEvent(Client cntxt, MalBlkPtr ev = prepareProfilerEvent(cntxt, mb, stk, pci, 0); // keep it a short transaction MT_lock_set(&mal_profileLock); - if (cntxt->profticks == NULL) { + if (cntxt->profticks == NULL) { MT_lock_unset(&mal_profileLock); GDKfree(stmt); return; diff --git a/monetdb5/modules/atoms/blob.c b/monetdb5/modules/atoms/blob.c --- a/monetdb5/modules/atoms/blob.c +++ b/monetdb5/modules/atoms/blob.c @@ -59,7 +59,7 @@ blobsize(size_t nitems) return (var_t) (offsetof(blob, data) + nitems); } -static char hexit[] = "0123456789ABCDEF"; +static const char hexit[] = "0123456789ABCDEF"; /* * @- Wrapping section diff --git a/monetdb5/modules/atoms/inet.c b/monetdb5/modules/atoms/inet.c --- a/monetdb5/modules/atoms/inet.c +++ b/monetdb5/modules/atoms/inet.c @@ -61,7 +61,7 @@ typedef struct _inet { #endif #define in_setnil(i) (i)->q1 = (i)->q2 = (i)->q3 = (i)->q4 = (i)->mask = (i)->filler1 = (i)->filler2 = 0; (i)->isnil = 1 -static inet inet_nil = {{{0,0,0,0,0,0,0,1}}}; +static const inet inet_nil = {{{0,0,0,0,0,0,0,1}}}; /** * Creates a new inet from the given string. diff --git a/monetdb5/modules/mal/mal_io.c b/monetdb5/modules/mal/mal_io.c --- a/monetdb5/modules/mal/mal_io.c +++ b/monetdb5/modules/mal/mal_io.c @@ -210,9 +210,9 @@ IOprint_val(Client cntxt, MalBlkPtr mb, } -static char toofew_error[80] = OPERATION_FAILED " At least %d parameter(s) expected.\n"; -static char format_error[80] = OPERATION_FAILED " Error in format before param %d.\n"; -static char type_error[80] = OPERATION_FAILED " Illegal type in param %d.\n"; +static const char toofew_error[80] = OPERATION_FAILED " At least %d parameter(s) expected.\n"; +static const char format_error[80] = OPERATION_FAILED " Error in format before param %d.\n"; +static const char type_error[80] = OPERATION_FAILED " Illegal type in param %d.\n"; #define return_error(x) \ do { \ @@ -221,7 +221,7 @@ static char type_error[80] = OPERATION_F throw(MAL,"io.printf", x,argc); \ } while (0) -static char niltext[4] = "nil"; +static const char niltext[4] = "nil"; static str IOprintf_(str *res, str format, ...) diff --git a/monetdb5/modules/mal/mal_mapi.c b/monetdb5/modules/mal/mal_mapi.c --- a/monetdb5/modules/mal/mal_mapi.c +++ b/monetdb5/modules/mal/mal_mapi.c @@ -88,7 +88,7 @@ #define SERVERMAXUSERS 5 -static char seedChars[] = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', +static const char seedChars[] = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', diff --git a/monetdb5/modules/mal/txtsim.c b/monetdb5/modules/mal/txtsim.c --- a/monetdb5/modules/mal/txtsim.c +++ b/monetdb5/modules/mal/txtsim.c @@ -214,7 +214,7 @@ levenshteinbasic2_impl(int *result, str #define SoundexKey "Z000" /* default key for soundex code */ /* set letter values */ -static int Code[] = { 0, 1, 2, 3, 0, 1, 2, 0, 0, 2, 2, 4, 5, 5, 0, +static const int Code[] = { 0, 1, 2, 3, 0, 1, 2, 0, 0, 2, 2, 4, 5, 5, 0, 1, 2, 6, 2, 3, 0, 1, 0, 2, 0, 2 }; diff --git a/monetdb5/optimizer/opt_remap.c b/monetdb5/optimizer/opt_remap.c --- a/monetdb5/optimizer/opt_remap.c +++ b/monetdb5/optimizer/opt_remap.c @@ -330,9 +330,9 @@ terminateMX: * The comparison multiplex operations with a constant head may be supported * by reverse of the operation. */ -static struct{ - char *src, *dst; - int len; +static const struct{ + const char *src, *dst; + const int len; }OperatorMap[]={ {"<", ">",1}, {">", "<",1}, diff --git a/monetdb_config.h.in b/monetdb_config.h.in --- a/monetdb_config.h.in +++ b/monetdb_config.h.in @@ -13,7 +13,7 @@ #ifdef _MSC_VER #if _MSC_VER < 1900 -#error Versions bellow Visual Studio 2015 are no longer supported +#error Versions below Visual Studio 2015 are no longer supported #endif /* Prevent pollution through excessive inclusion of include files by Windows.h. */ diff --git a/sql/backends/monet5/sql.c b/sql/backends/monet5/sql.c --- a/sql/backends/monet5/sql.c +++ b/sql/backends/monet5/sql.c @@ -2972,8 +2972,8 @@ bat2return(MalStkPtr stk, InstrPtr pci, } } -static char fwftsep[2] = {STREAM_FWF_FIELD_SEP, '\0'}; -static char fwfrsep[2] = {STREAM_FWF_RECORD_SEP, '\0'}; +static const char fwftsep[2] = {STREAM_FWF_FIELD_SEP, '\0'}; +static const char fwfrsep[2] = {STREAM_FWF_RECORD_SEP, '\0'}; /* str mvc_import_table_wrap(int *res, sql_table **t, unsigned char* *T, unsigned char* *R, unsigned char* *S, unsigned char* *N, str *fname, lng *sz, lng *offset, int *besteffort, str *fixed_width, int *onclient, int *escape); */ str diff --git a/sql/include/sql_relation.h b/sql/include/sql_relation.h --- a/sql/include/sql_relation.h +++ b/sql/include/sql_relation.h @@ -250,8 +250,8 @@ typedef enum operator_type { /* used for expressions and relations */ #define need_distinct(er) ((er)->distinct) -#define set_distinct(er) (er)->distinct = 1; -#define set_nodistinct(er) (er)->distinct = 0; +#define set_distinct(er) (er)->distinct = 1 +#define set_nodistinct(er) (er)->distinct = 0 #define is_processed(rel) ((rel)->processed) #define set_processed(rel) (rel)->processed = 1 diff --git a/sql/server/rel_optimizer.c b/sql/server/rel_optimizer.c --- a/sql/server/rel_optimizer.c +++ b/sql/server/rel_optimizer.c @@ -6283,6 +6283,20 @@ rel_remove_join(visitor *v, sql_rel *rel return rel; } +static int +exps_has_setjoin(list *exps) +{ + if (!exps) + return 0; + for(node *n=exps->h; n; n = n->next) { + sql_exp *e = n->data; + + if (e->type == e_cmp && (e->flag == mark_in || e->flag == mark_notin)) _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list