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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list