Changeset: 7e88219e9443 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=7e88219e9443
Added Files:
        monetdb5/optimizer/opt_candidates.c
        monetdb5/optimizer/opt_candidates.h
Modified Files:
        clients/R/Tests/deps-test.stable.out
        clients/Tests/MAL-signatures.stable.out
        clients/Tests/MAL-signatures.stable.out.int128
        clients/Tests/exports.stable.out
        clients/mapiclient/eventparser.c
        clients/mapiclient/eventparser.h
        clients/odbc/driver/ODBCConvert.c
        configure.ag
        gdk/ChangeLog
        gdk/gdk.h
        gdk/gdk_align.c
        gdk/gdk_atoms.c
        gdk/gdk_bat.c
        gdk/gdk_bbp.c
        gdk/gdk_group.c
        gdk/gdk_heap.c
        gdk/gdk_imprints.c
        gdk/gdk_join.c
        gdk/gdk_logger.c
        gdk/gdk_posix.c
        gdk/gdk_private.h
        gdk/gdk_sample.c
        gdk/gdk_search.c
        gdk/gdk_select.c
        gdk/gdk_ssort.c
        gdk/gdk_storage.c
        gdk/gdk_tm.c
        gdk/gdk_unique.c
        gdk/gdk_utils.c
        monetdb5/ChangeLog
        monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.err
        monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out
        
monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.single
        monetdb5/mal/Tests/tst201.mal
        monetdb5/mal/Tests/tst201.stable.out
        monetdb5/mal/mal.h
        monetdb5/mal/mal_atom.c
        monetdb5/mal/mal_function.c
        monetdb5/mal/mal_instruction.c
        monetdb5/mal/mal_instruction.h
        monetdb5/mal/mal_linker.c
        monetdb5/mal/mal_parser.c
        monetdb5/mal/mal_profiler.c
        monetdb5/mal/mal_type.h
        monetdb5/modules/kernel/algebra.c
        monetdb5/modules/kernel/algebra.h
        monetdb5/modules/kernel/algebra.mal
        monetdb5/modules/kernel/bat5.c
        monetdb5/modules/mal/batExtensions.c
        monetdb5/modules/mal/bbp.c
        monetdb5/modules/mal/manifold.h
        monetdb5/modules/mal/mat.c
        monetdb5/modules/mal/mat.h
        monetdb5/modules/mal/mat.mal
        monetdb5/modules/mal/tablet.c
        monetdb5/modules/mal/tokenizer.c
        monetdb5/modules/mal/transaction.c
        monetdb5/optimizer/Makefile.ag
        monetdb5/optimizer/opt_garbageCollector.c
        monetdb5/optimizer/opt_multiplex.c
        monetdb5/optimizer/opt_pipes.c
        monetdb5/optimizer/opt_prelude.c
        monetdb5/optimizer/opt_prelude.h
        monetdb5/optimizer/opt_pushselect.c
        monetdb5/optimizer/opt_remoteQueries.c
        monetdb5/optimizer/opt_support.h
        monetdb5/optimizer/opt_wrapper.c
        monetdb5/optimizer/optimizer.mal
        sql/backends/monet5/UDF/Tests/udf-fuse.stable.out
        sql/backends/monet5/UDF/Tests/udf-reverse.stable.out
        sql/backends/monet5/embeddedclient.c.in
        sql/backends/monet5/embeddedclient.h
        sql/backends/monet5/prog.c
        sql/backends/monet5/sql.c
        sql/backends/monet5/sql.mal
        sql/backends/monet5/sql_gencode.c
        sql/backends/monet5/sql_optimizer.c
        sql/backends/monet5/vaults/fits.c
        sql/benchmarks/ssbm/Tests/01-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/02-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/03-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/04-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/05-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/06-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/07-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/08-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/09-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/10-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/11-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/12-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/13-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/01-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/02-explain.stable.out
        sql/benchmarks/tpch/Tests/03-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/04-explain.stable.out
        sql/benchmarks/tpch/Tests/05-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/06-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/07-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/08-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/09-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/10-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/11-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/12-explain.stable.out
        sql/benchmarks/tpch/Tests/12-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/13-explain.stable.out
        sql/benchmarks/tpch/Tests/13-explain.stable.out.32bit
        sql/benchmarks/tpch/Tests/14-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/15-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/16-explain.stable.out
        sql/benchmarks/tpch/Tests/16-explain.stable.out.32bit
        sql/benchmarks/tpch/Tests/17-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/18-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/19-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/20-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/21-explain.stable.out
        sql/benchmarks/tpch/Tests/21-explain.stable.out.32bit
        sql/benchmarks/tpch/Tests/22-explain.stable.out.int128
        sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.stable.out
        
sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out
        
sql/test/BugTracker-2010/Tests/group-by_ordered_column.Bug-2564.stable.out
        
sql/test/BugTracker-2010/Tests/group-by_ordered_column.Bug-2564.stable.out.32bit
        sql/test/BugTracker-2011/Tests/crash_on_alias.Bug-2798.stable.out.int128
        sql/test/BugTracker-2011/Tests/func_iter_vs_bulk.Bug-2826.stable.out
        
sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.stable.out
        sql/test/BugTracker-2013/Tests/between.Bug-3259.stable.out.int128
        sql/test/BugTracker-2014/Tests/manifold.Bug-3556.stable.out
        sql/test/BugTracker-2014/Tests/nil_2dec_lng.Bug-3592.stable.out
        
sql/test/BugTracker-2015/Tests/insert_into_merge_table_crash.Bug-3703.stable.err
        
sql/test/BugTracker-2015/Tests/insert_into_merge_table_crash.Bug-3703.stable.out
        
sql/test/BugTracker-2015/Tests/local-remotetable-crash.Bug-3754.stable.err
        
sql/test/BugTracker-2015/Tests/local-remotetable-crash.Bug-3754.stable.out
        sql/test/BugTracker/Tests/explain.SF-1739353.stable.out
        sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out
        sql/test/Tests/setoptimizer.stable.err
        sql/test/Tests/setoptimizer.stable.out
        sql/test/Tests/setoptimizer.stable.out.Windows
        sql/test/mergetables/Tests/mergequery.stable.out
        sql/test/remote/Tests/partition_elim.stable.out
        testing/Mtest.py.in
Branch: embedded-java
Log Message:

Add merge with default branch


diffs (truncated from 12071 to 300 lines):

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
@@ -2350,10 +2350,6 @@ command algebra.like(s:str,pat:str):bit
 address PCRElike2;
 command algebra.like(s:str,pat:str,esc:str):bit 
 address PCRElike3;
-command algebra.like(b:bat[:oid,:str],substr:str):bat[:oid,:oid] 
-address ALGlike;
-comment Selects all elements that have 'substr' as in the tail.
-
 command 
algebra.leftfetchjoin(left:bat[:oid,:oid],right:bat[:oid,:any_3]):bat[:oid,:any_3]
 
 address ALGleftfetchjoin;
 comment Hook directly into the left fetch join implementation.
@@ -38908,8 +38904,6 @@ pattern mat.new(b:bat[:oid,:any_2]...):b
 address MATpack;
 comment Define a Merge Association Table (MAT). Faal back to the pack 
operationwhen this is called 
 
-pattern mat.print(b:bat[:oid,:any_2]...):void 
-address MATprint;
 pattern mat.project(map:bat[:oid,:bte],b:bat[:oid,:any_2]...):bat[:oid,:any_2] 
 address MATproject;
 comment project using the map bat (contains which bat to use in scan order)
@@ -39756,6 +39750,12 @@ comment Duplicate constant removal optim
 
 pattern optimizer.constants():str 
 address OPTwrapper;
+pattern optimizer.candidates(mod:str,fcn:str):str 
+address OPTwrapper;
+comment Mark candidate list variables
+
+pattern optimizer.candidates():str 
+address OPTwrapper;
 pattern optimizer.commonTerms(mod:any_1,fcn:any_2):str 
 address OPTwrapper;
 comment Common sub-expression optimizer
@@ -40823,11 +40823,11 @@ pattern sql.start():void
 address SQLsession;
 comment Switch to processing SQL statements
 
-pattern 
sql.tid(mvc:int,sname:str,tname:str,part_nr:int,nr_parts:int):bat[:oid,:any_3] 
+pattern 
sql.tid(mvc:int,sname:str,tname:str,part_nr:int,nr_parts:int):bat[:oid,:oid] 
 address SQLtid;
 comment Return the tables tid column.
 
-pattern sql.tid(mvc:int,sname:str,tname:str):bat[:oid,:any_3] 
+pattern sql.tid(mvc:int,sname:str,tname:str):bat[:oid,:oid] 
 address SQLtid;
 comment Return the tables tid column.
 
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
@@ -2861,10 +2861,6 @@ command algebra.like(s:str,pat:str):bit
 address PCRElike2;
 command algebra.like(s:str,pat:str,esc:str):bit 
 address PCRElike3;
-command algebra.like(b:bat[:oid,:str],substr:str):bat[:oid,:oid] 
-address ALGlike;
-comment Selects all elements that have 'substr' as in the tail.
-
 command 
algebra.leftfetchjoin(left:bat[:oid,:oid],right:bat[:oid,:any_3]):bat[:oid,:any_3]
 
 address ALGleftfetchjoin;
 comment Hook directly into the left fetch join implementation.
@@ -49835,8 +49831,6 @@ pattern mat.new(b:bat[:oid,:any_2]...):b
 address MATpack;
 comment Define a Merge Association Table (MAT). Faal back to the pack 
operationwhen this is called 
 
-pattern mat.print(b:bat[:oid,:any_2]...):void 
-address MATprint;
 pattern mat.project(map:bat[:oid,:bte],b:bat[:oid,:any_2]...):bat[:oid,:any_2] 
 address MATproject;
 comment project using the map bat (contains which bat to use in scan order)
@@ -50687,6 +50681,12 @@ comment Duplicate constant removal optim
 
 pattern optimizer.constants():str 
 address OPTwrapper;
+pattern optimizer.candidates(mod:str,fcn:str):str 
+address OPTwrapper;
+comment Mark candidate list variables
+
+pattern optimizer.candidates():str 
+address OPTwrapper;
 pattern optimizer.commonTerms(mod:any_1,fcn:any_2):str 
 address OPTwrapper;
 comment Common sub-expression optimizer
@@ -51762,11 +51762,11 @@ pattern sql.start():void
 address SQLsession;
 comment Switch to processing SQL statements
 
-pattern 
sql.tid(mvc:int,sname:str,tname:str,part_nr:int,nr_parts:int):bat[:oid,:any_3] 
+pattern 
sql.tid(mvc:int,sname:str,tname:str,part_nr:int,nr_parts:int):bat[:oid,:oid] 
 address SQLtid;
 comment Return the tables tid column.
 
-pattern sql.tid(mvc:int,sname:str,tname:str):bat[:oid,:any_3] 
+pattern sql.tid(mvc:int,sname:str,tname:str):bat[:oid,:oid] 
 address SQLtid;
 comment Return the tables tid column.
 
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
@@ -298,7 +298,7 @@ int THRhighwater(void);
 Thread THRnew(const char *name);
 int THRprintf(stream *s, _In_z_ _Printf_format_string_ const char *format, 
...) __attribute__((__format__(__printf__, 2, 3)));
 void THRsetdata(int, ptr);
-gdk_return TMabort(void);
+void TMabort(void);
 gdk_return TMcommit(void);
 gdk_return TMsubcommit(BAT *bl);
 gdk_return TMsubcommit_list(bat *subcommit, int cnt);
@@ -710,7 +710,6 @@ str ALGgroupby(bat *res, const bat *gids
 str ALGjoin2(bat *l, bat *r, const bat *lid, const bat *rid);
 str ALGjoinPath(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
 str ALGleftfetchjoin(bat *result, const bat *lid, const bat *rid);
-str ALGlike(bat *ret, const bat *bid, const str *k);
 str ALGmaxany(ptr result, const bat *bid);
 str ALGminany(ptr result, const bat *bid);
 str ALGprojecttail(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
@@ -1363,7 +1362,6 @@ str MATpack2(Client cntxt, MalBlkPtr mb,
 str MATpackIncrement(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p);
 str MATpackSlice(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p);
 str MATpackValues(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p);
-str MATprint(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p);
 str MATproject(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
 str MATsort(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
 str MATsortReverse(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
@@ -1561,6 +1559,7 @@ str MTIMEtzone_tostr(str *s, const tzone
 str MTIMEunix_epoch(timestamp *ret);
 void OPTaliasRemap(InstrPtr p, int *alias);
 int OPTaliasesImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr p);
+int OPTcandidatesImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr p);
 int OPTcoercionImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
 int OPTcommonTermsImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
 int OPTconstantsImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr p);
@@ -2004,8 +2003,6 @@ str bstream_read_wrapwrap(int *res, Bstr
 str calcRef;
 str callMAL(Client cntxt, MalBlkPtr mb, MalStkPtr *glb, ValPtr argv[], char 
debug);
 int callString(Client c, str s, int listing);
-int canBeCrackedProp;
-int canBeJoinselectProp;
 str catalogRef;
 str catchKernelException(Client cntxt, str ret);
 void chkDeclarations(stream *out, MalBlkPtr mb);
@@ -2067,7 +2064,6 @@ void delName(const char *nme, size_t len
 void delVariable(MalBlkPtr mb, int varid);
 str deleteRef;
 void deleteSymbol(Module scope, Symbol prg);
-int deletesProp;
 str deltaRef;
 str depositRef;
 void deriveModule(Module scope, str nme);
@@ -2178,16 +2174,14 @@ int hasSameSignature(MalBlkPtr mb, Instr
 int hasSideEffects(InstrPtr p, int strict);
 str hashRef;
 int have_hge;
-int headProp;
 str hgeRef;
-int hlbProp;
 int horiginProp;
-int hubProp;
 str identityRef;
 str ifthenelseRef;
 str ilikeRef;
 str ilikeselectRef;
 str ilikesubselectRef;
+str ilikethetasubselectRef;
 str ilikeuselectRef;
 void initHeartbeat(void);
 void initLibraries(void);
@@ -2201,7 +2195,6 @@ str inplaceRef;
 void insertInstruction(MalBlkPtr mb, InstrPtr p, int pc);
 str insertRef;
 void insertSymbol(Module scope, Symbol prg);
-int insertionsProp;
 str instruction2str(MalBlkPtr mb, MalStkPtr stl, InstrPtr p, int hidden);
 str instructionCall(MalBlkPtr mb, InstrPtr p, str s, str base, size_t len);
 str intRef;
@@ -2249,7 +2242,6 @@ str joinPathRef;
 str joinRef;
 str jsonRef;
 str kdifferenceRef;
-int keepProp;
 str languageRef;
 str leftfetchjoinPathRef;
 str leftfetchjoinRef;
@@ -2259,6 +2251,7 @@ str levenshteinbasic_impl(int *result, s
 str likeRef;
 str likeselectRef;
 str likesubselectRef;
+str likethetasubselectRef;
 str likeuselectRef;
 str listRef;
 str loadLibrary(str modulename, int flag);
@@ -2388,7 +2381,6 @@ str notRef;
 str not_ilikeRef;
 str not_likeRef;
 str not_uniqueRef;
-int notnilProp;
 str oidRef;
 void oldmoveInstruction(InstrPtr dst, InstrPtr src);
 str openProfilerStream(stream *fd);
@@ -2412,8 +2404,6 @@ str pcreRef;
 str pcre_init(void *ret);
 var_t pcre_put(Heap *h, var_t *bun, pcre *val);
 str pinRef;
-int pivotDisjunctiveProp;
-int pivotProp;
 str plusRef;
 str postludeRef;
 str preludeRef;
@@ -2477,7 +2467,6 @@ str remoteRef;
 void removeDataflow(MalBlkPtr mb);
 void removeInstruction(MalBlkPtr mb, InstrPtr p);
 void removeInstructionBlock(MalBlkPtr mb, int pc, int cnt);
-int removeProp;
 void removeVariable(MalBlkPtr mb, int varid);
 void renameVariable(MalBlkPtr mb, int i, str pattern, int newid);
 str replaceRef;
@@ -2543,7 +2532,6 @@ void showScenarioByName(stream *f, str s
 void showScriptException(stream *out, MalBlkPtr, int, enum malexception, 
_In_z_ _Printf_format_string_ const char *, ...) 
__attribute__((__format__(__printf__, 5, 6)));
 str shutdownFactory(Client cntxt, MalBlkPtr mb);
 str shutdownFactoryByName(Client cntxt, Module m, str nme);
-int sidewaysSelectProp;
 str singleRef;
 str sinkRef;
 void slash_2_dir_sep(str fname);
@@ -2556,7 +2544,6 @@ int sqlblob_fromstr(char *instr, int *l,
 int sqlblob_tostr(str *tostr, int *l, const blob *p);
 int sqlfunctionProp;
 str srvpoolRef;
-int stableProp;
 str startProfiler(oid user, int mode, int beat);
 str startRef;
 str stopProfiler(void);
@@ -2589,8 +2576,8 @@ str subsliceRef;
 str subsortRef;
 str subsumRef;
 str subthetajoinRef;
+str subuniqueRef;
 str sumRef;
-int tableProp;
 str takeOid(oid id, str *val);
 str takeRef;
 str thetajoinRef;
@@ -2602,12 +2589,10 @@ timestamp *timestamp_nil;
 int timestamp_tostr(str *buf, int *len, const timestamp *val);
 int timestamp_tz_fromstr(const char *buf, int *len, timestamp **ret);
 int timestamp_tz_tostr(str *buf, int *len, const timestamp *val, const tzone 
*timezone);
-int tlbProp;
 int toriginProp;
 void trimMalBlk(MalBlkPtr mb);
 void trimMalVariables(MalBlkPtr mb, MalStkPtr stk);
 void trimMalVariables_(MalBlkPtr mb, bit *used, MalStkPtr glb);
-int tubProp;
 void typeChecker(stream *out, Module scope, MalBlkPtr mb, InstrPtr p, int 
silent);
 int tzone_fromstr(const char *buf, int *len, tzone **d);
 tzone tzone_local;
@@ -2621,7 +2606,6 @@ int unsafeProp;
 void updateFootPrint(MalBlkPtr mb, MalStkPtr stk, int varid);
 str updateRef;
 void updateScenario(str scen, str nme, MALfcn fcn);
-int updatesProp;
 str userRef;
 VarPtr varGetProp(MalBlkPtr mb, int var, int prop);
 str varGetPropStr(MalBlkPtr mb, int var);
diff --git a/clients/mapiclient/eventparser.c b/clients/mapiclient/eventparser.c
--- a/clients/mapiclient/eventparser.c
+++ b/clients/mapiclient/eventparser.c
@@ -8,6 +8,7 @@
 
 /* (c) M Kersten */
 
+#include "monetdb_config.h"
 #include "eventparser.h"
 
 char *statenames[]= {"","start","done","action","ping","wait","system"};
diff --git a/clients/mapiclient/eventparser.h b/clients/mapiclient/eventparser.h
--- a/clients/mapiclient/eventparser.h
+++ b/clients/mapiclient/eventparser.h
@@ -19,8 +19,6 @@
 #ifndef _EVENT_PARSER_
 #define _EVENT_PARSER_
 
-#include "monetdb_config.h"
-#include "monet_options.h"
 #include <mapi.h>
 #include <stream.h>
 #include <stdio.h>
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
@@ -511,7 +511,7 @@ parseoptionalbracketednumber(char **sval
                        return SQL_ERROR;
                slen -= (int) (eptr - sval);
                sval = eptr;
-               *val2p = val;
+               *val2p = (int) val;
        }
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to