Changeset: 2219a9dda820 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2219a9dda820
Added Files:
        sql/test/BugTracker-2017/Tests/corr_coersion.Bug-6287.sql
        sql/test/BugTracker-2017/Tests/corr_coersion.Bug-6287.stable.err
        sql/test/BugTracker-2017/Tests/corr_coersion.Bug-6287.stable.out
        
sql/test/BugTracker-2017/Tests/sqlitelogictest-aggregation-distinct.Bug-6411.sql
        
sql/test/BugTracker-2017/Tests/sqlitelogictest-having-with-in.Bug-6410.sql
        
sql/test/BugTracker-2017/Tests/sqlitelogictest-having-with-in.Bug-6410.stable.err
        
sql/test/BugTracker-2017/Tests/sqlitelogictest-having-with-in.Bug-6410.stable.out
        
sql/test/BugTracker-2017/Tests/sqlitelogictest-having-with-not-in.Bug-6409.sql
        
sql/test/BugTracker-2017/Tests/sqlitelogictest-having-with-not-in.Bug-6409.stable.err
        
sql/test/BugTracker-2017/Tests/sqlitelogictest-having-with-not-in.Bug-6409.stable.out
Modified Files:
        buildtools/autogen/autogen/msc.py
        clients/Tests/MAL-signatures.stable.out
        clients/Tests/MAL-signatures.stable.out.int128
        clients/Tests/exports.stable.out
        clients/mapiclient/tomograph.c
        clients/odbc/driver/ODBCConvert.c
        common/stream/stream_socket.h
        configure.ag
        gdk/gdk_aggr.c
        gdk/gdk_posix.c
        gdk/gdk_private.h
        gdk/gdk_utils.c
        monetdb5/extras/rapi/Makefile.ag
        monetdb5/mal/mal_instruction.c
        monetdb5/mal/mal_instruction.h
        monetdb5/modules/atoms/json.c
        monetdb5/modules/kernel/mmath.h
        monetdb5/modules/mal/bitcandidates.c
        monetdb5/modules/mal/orderidx.c
        monetdb5/modules/mal/sysmon.c
        monetdb5/optimizer/opt_bitcandidates.c
        monetdb5/optimizer/opt_garbageCollector.c
        monetdb5/optimizer/opt_jit.c
        monetdb5/optimizer/opt_jit.h
        monetdb5/optimizer/opt_prelude.c
        monetdb5/optimizer/opt_prelude.h
        monetdb5/optimizer/opt_pushselect.c
        sql/backends/monet5/UDF/pyapi/emit.c
        sql/backends/monet5/rel_bin.c
        sql/backends/monet5/sql.c
        sql/backends/monet5/sql.h
        sql/backends/monet5/sql_cast.h
        sql/backends/monet5/sql_cat.c
        sql/backends/monet5/sql_execute.c
        sql/backends/monet5/sql_scenario.h
        sql/backends/monet5/sql_statement.c
        sql/backends/monet5/sql_statistics.c
        sql/backends/monet5/sql_upgrades.c
        sql/backends/monet5/vaults/bam/bam_db_interface.h
        sql/backends/monet5/vaults/bam/bam_export.h
        sql/backends/monet5/vaults/bam/bam_loader.h
        sql/backends/monet5/vaults/fits/fits.c
        sql/backends/monet5/vaults/netcdf/netcdf.c
        sql/backends/monet5/vaults/shp/shp.c
        sql/backends/monet5/wlr.c
        sql/server/Makefile.ag
        sql/server/rel_dump.c
        sql/server/rel_optimizer.c
        sql/server/rel_rel.c
        sql/server/rel_select.c
        sql/storage/bat/bat_storage.c
        sql/storage/store.c
        sql/test/BugTracker-2017/Tests/All
        sql/test/mergetables/Tests/part-elim.stable.out
        sql/test/remote/Tests/partition_elim.stable.out
        testing/Mtimeout.c
Branch: compressedcandidates
Log Message:

Merge with default


diffs (truncated from 4071 to 300 lines):

diff --git a/buildtools/autogen/autogen/msc.py 
b/buildtools/autogen/autogen/msc.py
--- a/buildtools/autogen/autogen/msc.py
+++ b/buildtools/autogen/autogen/msc.py
@@ -98,7 +98,7 @@ def msc_assignment(fd, var, values, msc)
     o = ""
     for v in values:
         o = o + " " + v.replace('/', '\\')
-    if var[0] != '@':
+    if var[0] != '@' and '.' not in var:
         fd.write("%s = %s\n" % (var, o))
 
 def msc_cflags(fd, var, values, msc):
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
@@ -7378,6 +7378,8 @@ Ready.
 [ "calc",      "xor",  "pattern calc.xor(v1:int, v2:int):int ",        
"CMDvarXOR;",   "Return V1 XOR V2"      ]
 [ "calc",      "xor",  "pattern calc.xor(v1:lng, v2:lng):lng ",        
"CMDvarXOR;",   "Return V1 XOR V2"      ]
 [ "calc",      "xor",  "pattern calc.xor(v1:sht, v2:sht):sht ",        
"CMDvarXOR;",   "Return V1 XOR V2"      ]
+[ "candidates",        "compress",     "pattern 
candidates.compress(b:bat[:oid]):bat[:oid] ",  "BCLcompress;", "Compress the 
bat into a bitvector"     ]
+[ "candidates",        "decompress",   "pattern 
candidates.decompress(b:bat[:oid]):bat[:oid] ",        "BCLdecompress;",       
"Compress the bat into a bitvector"     ]
 [ "clients",   "addUser",      "pattern clients.addUser(nme:str, pw:str):oid 
",        "CLTaddUser;",  "Allow user with password access to the given 
scenarios"        ]
 [ "clients",   "backendsum",   "command clients.backendsum(pw:str):str ",      
"CLTbackendsum;",       "Return hex string representation of the currently used 
hash of the given string"       ]
 [ "clients",   "changePassword",       "pattern 
clients.changePassword(old:str, new:str):void ",       "CLTchangePassword;",   
"Change the password for the current user"      ]
@@ -8140,6 +8142,8 @@ Ready.
 [ "oltp",      "table",        "pattern oltp.table() (start:bat[:timestamp], 
usr:bat[:str], unit:bat[:int], cnt:bat[:int]) ",  "OLTPtable;",   "Show status 
of lock table"     ]
 [ "optimizer", "aliases",      "pattern optimizer.aliases():str ",     
"OPTwrapper;",  ""      ]
 [ "optimizer", "aliases",      "pattern optimizer.aliases(mod:str, 
fcn:str):str ",     "OPTwrapper;",  "Alias removal optimizer"       ]
+[ "optimizer", "bitcandidates",        "pattern optimizer.bitcandidates():str 
",       "OPTwrapper;",  ""      ]
+[ "optimizer", "bitcandidates",        "pattern 
optimizer.bitcandidates(mod:str, fcn:str):str ",       "OPTwrapper;",  "Handle 
bitcompressed candidate lists"  ]
 [ "optimizer", "candidates",   "pattern optimizer.candidates():str ",  
"OPTwrapper;",  ""      ]
 [ "optimizer", "candidates",   "pattern optimizer.candidates(mod:str, 
fcn:str):str ",  "OPTwrapper;",  "Mark candidate list variables" ]
 [ "optimizer", "coercions",    "pattern optimizer.coercions():str ",   
"OPTwrapper;",  ""      ]
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
@@ -9724,6 +9724,8 @@ Ready.
 [ "calc",      "xor",  "pattern calc.xor(v1:int, v2:int):int ",        
"CMDvarXOR;",   "Return V1 XOR V2"      ]
 [ "calc",      "xor",  "pattern calc.xor(v1:lng, v2:lng):lng ",        
"CMDvarXOR;",   "Return V1 XOR V2"      ]
 [ "calc",      "xor",  "pattern calc.xor(v1:sht, v2:sht):sht ",        
"CMDvarXOR;",   "Return V1 XOR V2"      ]
+[ "candidates",        "compress",     "pattern 
candidates.compress(b:bat[:oid]):bat[:oid] ",  "BCLcompress;", "Compress the 
bat into a bitvector"     ]
+[ "candidates",        "decompress",   "pattern 
candidates.decompress(b:bat[:oid]):bat[:oid] ",        "BCLdecompress;",       
"Compress the bat into a bitvector"     ]
 [ "clients",   "addUser",      "pattern clients.addUser(nme:str, pw:str):oid 
",        "CLTaddUser;",  "Allow user with password access to the given 
scenarios"        ]
 [ "clients",   "backendsum",   "command clients.backendsum(pw:str):str ",      
"CLTbackendsum;",       "Return hex string representation of the currently used 
hash of the given string"       ]
 [ "clients",   "changePassword",       "pattern 
clients.changePassword(old:str, new:str):void ",       "CLTchangePassword;",   
"Change the password for the current user"      ]
@@ -10502,6 +10504,8 @@ Ready.
 [ "oltp",      "table",        "pattern oltp.table() (start:bat[:timestamp], 
usr:bat[:str], unit:bat[:int], cnt:bat[:int]) ",  "OLTPtable;",   "Show status 
of lock table"     ]
 [ "optimizer", "aliases",      "pattern optimizer.aliases():str ",     
"OPTwrapper;",  ""      ]
 [ "optimizer", "aliases",      "pattern optimizer.aliases(mod:str, 
fcn:str):str ",     "OPTwrapper;",  "Alias removal optimizer"       ]
+[ "optimizer", "bitcandidates",        "pattern optimizer.bitcandidates():str 
",       "OPTwrapper;",  ""      ]
+[ "optimizer", "bitcandidates",        "pattern 
optimizer.bitcandidates(mod:str, fcn:str):str ",       "OPTwrapper;",  "Handle 
bitcompressed candidate lists"  ]
 [ "optimizer", "candidates",   "pattern optimizer.candidates():str ",  
"OPTwrapper;",  ""      ]
 [ "optimizer", "candidates",   "pattern optimizer.candidates(mod:str, 
fcn:str):str ",  "OPTwrapper;",  "Mark candidate list variables" ]
 [ "optimizer", "coercions",    "pattern optimizer.coercions():str ",   
"OPTwrapper;",  ""      ]
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
@@ -772,6 +772,8 @@ str BATXMLstr2xml(bat *ret, const bat *b
 str BATXMLxml2str(bat *ret, const bat *bid);
 str BATXMLxmltext(bat *ret, const bat *bid);
 str BATXMLxquery(bat *ret, const bat *bid, const char *const *expr);
+str BCLcompress(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
+str BCLdecompress(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
 str BKCappend_cand_force_wrap(bat *r, const bat *bid, const bat *uid, const 
bat *sid, const bit *force);
 str BKCappend_cand_wrap(bat *r, const bat *bid, const bat *uid, const bat 
*sid);
 str BKCappend_force_wrap(bat *r, const bat *bid, const bat *uid, const bit 
*force);
@@ -1552,6 +1554,7 @@ str OLTPreset(Client cntxt, MalBlkPtr mb
 str OLTPtable(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
 void OPTaliasRemap(InstrPtr p, int *alias);
 str OPTaliasesImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr p);
+str OPTbitcandidatesImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr p);
 str OPTcandidatesImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr p);
 str OPTcoercionImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
 str OPTcommonTermsImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
@@ -1948,7 +1951,6 @@ str alter_tableRef;
 str alter_triggerRef;
 str alter_typeRef;
 str alter_userRef;
-str alter_userRef;
 str alter_viewRef;
 str andRef;
 str antijoinRef;
@@ -1993,6 +1995,7 @@ str bstream_read_wrapwrap(int *res, Bstr
 str calcRef;
 str callMAL(Client cntxt, MalBlkPtr mb, MalStkPtr *glb, ValPtr argv[], char 
debug);
 str callString(Client c, str s, int listing);
+str candidatesRef;
 str catalogRef;
 void chkDeclarations(MalBlkPtr mb);
 void chkFlow(MalBlkPtr mb);
@@ -2018,6 +2021,7 @@ str commitRef;
 str compileAllOptimizers(Client cntxt);
 str compileOptimizer(Client cntxt, const char *name);
 str compileString(Symbol *fcn, Client c, str s);
+str compressRef;
 str connectRef;
 str convertConstant(malType type, ValPtr vr);
 InstrPtr copyInstruction(InstrPtr p);
@@ -2040,7 +2044,6 @@ str create_tableRef;
 str create_triggerRef;
 str create_typeRef;
 str create_userRef;
-str create_userRef;
 str create_viewRef;
 str crossRef;
 str dataflowRef;
@@ -2053,6 +2056,7 @@ ssize_t daytime_tz_fromstr(const char *b
 str dblRef;
 str deblockdataflow(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
 void debugFunction(stream *fd, MalBlkPtr mb, MalStkPtr stk, int flg, int 
first, int size);
+str decompressRef;
 int defConstant(MalBlkPtr mb, int type, ValPtr cst);
 str defineRef;
 void delArgument(InstrPtr p, int varid);
@@ -2076,7 +2080,6 @@ str drop_tableRef;
 str drop_triggerRef;
 str drop_typeRef;
 str drop_userRef;
-str drop_userRef;
 str drop_viewRef;
 void dumpExceptionsToStream(stream *out, str msg);
 void dumpModules(stream *out);
@@ -2188,7 +2191,6 @@ str identityRef;
 str ifthenelseRef;
 str ilikeRef;
 str ilikeselectRef;
-str ilikeselectRef;
 str ilikethetaselectRef;
 str ilikeuselectRef;
 void initHeartbeat(void);
@@ -2246,7 +2248,6 @@ str levenshteinbasic2_impl(int *result, 
 str levenshteinbasic_impl(int *result, str *s, str *t);
 str likeRef;
 str likeselectRef;
-str likeselectRef;
 str likethetaselectRef;
 str likeuselectRef;
 void listModules(stream *out, Module s);
@@ -2456,7 +2457,6 @@ str remapRef;
 str remoteRef;
 void removeInstruction(MalBlkPtr mb, InstrPtr p);
 void removeInstructionBlock(MalBlkPtr mb, int pc, int cnt);
-void renameVariable(MalBlkPtr mb, int i, str pattern, int newid);
 str rename_userRef;
 str replaceRef;
 str replicatorRef;
@@ -2522,7 +2522,6 @@ str sinkRef;
 void slash_2_dir_sep(str fname);
 str sliceRef;
 str sortRef;
-str sortRef;
 str sortReverseRef;
 str soundex_impl(str *res, str *Name);
 str sqlRef;
diff --git a/clients/mapiclient/tomograph.c b/clients/mapiclient/tomograph.c
--- a/clients/mapiclient/tomograph.c
+++ b/clients/mapiclient/tomograph.c
@@ -953,49 +953,23 @@ showio(void)
 static void
 fprintf_time(FILE *f, lng time)
 {
-       int TME = TME_DD|TME_HH|TME_MM|TME_SS|TME_MS|TME_US;
-       int tail = 0;
-       const char *fmt = NULL;
-
-       if (TME & TME_DD && (tail || time >= US_DD)) {
-               fmt = LLFMT"%s";
-               fprintf(f, fmt, time / US_DD, " d ");
-               time %= US_DD;
-               TME &= TME_HH;
-               tail = 1;
-       }
-       if (TME & TME_HH && (tail || time >= US_HH)) {
-               fmt = tail ? "%02d%s" : "%d%s";
-               fprintf(f, fmt, (int) (time / US_HH), " h ");
-               time %= US_HH;
-               TME &= TME_MM;
-               tail = 1;
-       }
-       if (TME & TME_MM && (tail || time >= US_MM)) {
-               fmt = tail ? "%02d%s" : "%d%s";
-               fprintf(f, fmt, (int) (time / US_MM), " m ");
-               time %= US_MM;
-               TME &= TME_SS;
-               tail = 1;
-       }
-       if (TME & TME_SS && (tail || time >= US_SS)) {
-               fmt = tail ? "%02d%s" : "%d%s";
-               fprintf(f, fmt, (int) (time / US_SS), (TME & TME_MS) ? "." : " 
s ");
-               time %= US_SS;
-               TME &= TME_MS;
-               tail = 1;
-       }
-       if (TME & TME_MS && (tail || time >= US_MS)) {
-               fmt = tail ? "%03d%s" : "%d%s";
-               fprintf(f, fmt, (int) (time / US_MS), (TME & TME_US) ? "." : " 
s ");
-               time %= US_MS;
-               TME &= TME_US;
-               tail = 1;
-       }
-       if (TME & TME_US) {
-               fmt = tail ? "%03d%s" : "%d%s";
-               fprintf(f, fmt, (int) time, tail ? " ms " : " us ");
-       }
+       if (time >= US_DD)
+               fprintf(f, LLFMT " d %02d h ", time / US_DD,
+                       (int) ((time % US_DD) / US_HH));
+       else if (time >= US_HH)
+               fprintf(f, "%d h %02d m ", (int) (time / US_HH),
+                       (int) ((time % US_HH) / US_MM));
+       else if (time >= US_MM)
+               fprintf(f, "%d m %02d s ", (int) (time / US_MM),
+                       (int) ((time % US_MM) / US_SS));
+       else if (time >= US_SS)
+               fprintf(f, "%d.%03d s ", (int) (time / US_SS),
+                       (int) ((time % US_SS) / US_MS));
+       else if (time >= US_MS)
+               fprintf(f, "%d.%03d ms ", (int) (time / US_MS),
+                       (int) ((time % US_MS)));
+       else
+               fprintf(f, "%d us ", (int) time);
 }
 
 /* produce a legenda image for the color map */
@@ -1420,7 +1394,7 @@ update(char *line, EventRecord *ev)
        if (ev->state >= MDB_PING ) {
                if (cpus == 0 && ev->state == MDB_PING) {
                        char *s;
-                       if( (s= ev->stmt,'[')) 
+                       if( (s= strchr(ev->stmt,'[')) != NULL)
                                s++;
                        else s = ev->stmt;
                        while (s && isspace((unsigned char) *s))
diff --git a/clients/odbc/driver/ODBCConvert.c 
b/clients/odbc/driver/ODBCConvert.c
--- a/clients/odbc/driver/ODBCConvert.c
+++ b/clients/odbc/driver/ODBCConvert.c
@@ -1215,6 +1215,7 @@ ODBCFetch(ODBCStmt *stmt,
                SQLPOINTER origptr;
                SQLLEN origbuflen;
                SQLLEN *origlenp;
+               SQLLEN sz;
 
                if (buflen < 0) {
                        /* Invalid string or buffer length */
@@ -1251,8 +1252,6 @@ ODBCFetch(ODBCStmt *stmt,
                        lenp = NULL;
                }
                switch (sql_type) {
-                       SQLLEN sz;
-
                default:
                case SQL_CHAR:
                case SQL_VARCHAR:
diff --git a/common/stream/stream_socket.h b/common/stream/stream_socket.h
--- a/common/stream/stream_socket.h
+++ b/common/stream/stream_socket.h
@@ -9,6 +9,9 @@
 /* This file contains the prototype declarations of the stream
  * functions that need special include files (sockets) */
 
+#ifndef _STREAM_SOCKET_H_
+#define _STREAM_SOCKET_H_
+
 #ifdef HAVE_SYS_SOCKET_H
 #include <sys/socket.h>
 #endif
@@ -27,3 +30,5 @@ stream_export stream *socket_rstream(SOC
 stream_export stream *socket_wstream(SOCKET socket, const char *name);
 stream_export stream *socket_rastream(SOCKET socket, const char *name);
 stream_export stream *socket_wastream(SOCKET socket, const char *name);
+
+#endif /* _STREAM_SOCKET_H_ */
diff --git a/configure.ag b/configure.ag
--- a/configure.ag
+++ b/configure.ag
@@ -625,25 +625,15 @@ AS_VAR_IF([enable_strict], [yes], [
                MCHECK_ADD_FLAG([-Wlogical-op])
                MCHECK_ADD_FLAG([-Wduplicated-cond])
                MCHECK_ADD_FLAG([-Wduplicated-branches])
-               MCHECK_ADD_FLAG([-Wlogical-op])
                MCHECK_ADD_FLAG([-Wrestrict])
-dnl            MCHECK_ADD_FLAG([-Wnull-dereference])
-               MCHECK_ADD_FLAG([-Wjump-misses-init])
-dnl            MCHECK_ADD_FLAG([-Wshadow])
-               MCHECK_ADD_FLAG([-Wformat=2])
+               MCHECK_ADD_FLAG([-Wnested-externs])
 
-               # With clang 2.8, 3.3, 5.0 (no other tested) and gcc < 4.5
-               # (tested 3.4.6, 4.2.1, 4.3.2, 4.4.4, 4.4.5, 4.5.1, 4.5.2),
-               # "-Wunreachable-code" triggers numerous "will never be
-               # executed" (at least) in our stream code, mostly (if
-               # not all) false positives, though, as well as in
-               # YACC/BISON-generated code; thus, we do not use
-               # "-Wunreachable-code" with clang and gcc < 4.5 .
-               # At the same time, Apple deprecated OpenSSL in favour of
-               # their own CommonCrypto API.  We don't mind about that.
+               # We can deal with -Wunrechable-code on modern
+               # compilers, but FreeBSD's clang (3.4.1) is too old.
+               # We need a version that understands the DISABLES
+               # CODE comment that is in the code at various places.
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to