Changeset: ba777b82abf0 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ba777b82abf0
Added Files:
        sql/test/BugTracker-2015/Tests/concurrent-queries.Bug-3848.SQL.py
        sql/test/BugTracker-2015/Tests/concurrent-queries.Bug-3848.stable.err
        sql/test/BugTracker-2015/Tests/concurrent-queries.Bug-3848.stable.out
        sql/test/BugTracker-2015/Tests/concurrent-queries.Bug-3848.timeout
        sql/test/BugTracker-2015/Tests/concurrent-schema.Bug-3826.SQL.py
        sql/test/BugTracker-2015/Tests/concurrent-schema.Bug-3826.stable.err
        sql/test/BugTracker-2015/Tests/concurrent-schema.Bug-3826.stable.out
        sql/test/BugTracker-2015/Tests/schema-trigger.Bug-3710.sql
Removed Files:
        sql/storage/restrict/Makefile.ag
Modified Files:
        NT/monetdb_config.h.in
        clients/Tests/MAL-signatures.stable.out
        clients/Tests/MAL-signatures.stable.out.int128
        clients/Tests/exports.stable.out
        clients/mapiclient/tachograph.c
        clients/mapiclient/tomograph.c
        clients/mapilib/mapi.c
        clients/python2/monetdb/control.py
        clients/python3/monetdb/control.py
        gdk/ChangeLog
        gdk/gdk.h
        gdk/gdk_align.c
        gdk/gdk_atomic.h
        gdk/gdk_atoms.c
        gdk/gdk_bat.c
        gdk/gdk_batop.c
        gdk/gdk_bbp.c
        gdk/gdk_imprints.c
        gdk/gdk_join.c
        gdk/gdk_search.c
        gdk/gdk_system.c
        gdk/gdk_system.h
        gdk/gdk_tm.c
        gdk/gdk_utils.c
        monetdb5/ChangeLog
        monetdb5/extras/rapi/Tests/rapi08.malC
        monetdb5/extras/rapi/rapi.c
        monetdb5/mal/Tests/tst033.mal
        monetdb5/mal/Tests/tst033.stable.out
        monetdb5/mal/Tests/tst034.mal
        monetdb5/mal/Tests/tst034.stable.out
        monetdb5/mal/Tests/tst220.mal
        monetdb5/mal/Tests/tst220.stable.out
        monetdb5/mal/mal_client.c
        monetdb5/mal/mal_dataflow.c
        monetdb5/mal/mal_debugger.c
        monetdb5/mal/mal_interpreter.c
        monetdb5/mal/mal_linker.c
        monetdb5/mal/mal_namespace.c
        monetdb5/mal/mal_profiler.c
        monetdb5/mal/mal_recycle.c
        monetdb5/mal/mal_resource.c
        monetdb5/mal/mal_runtime.c
        monetdb5/mal/mal_scenario.c
        monetdb5/mal/mal_session.c
        monetdb5/modules/atoms/Tests/xml10.mal
        monetdb5/modules/atoms/Tests/xml10.stable.out
        monetdb5/modules/kernel/alarm.c
        monetdb5/modules/kernel/algebra.c
        monetdb5/modules/kernel/algebra.h
        monetdb5/modules/kernel/algebra.mal
        monetdb5/modules/mal/Tests/inspect05.mal
        monetdb5/modules/mal/Tests/inspect05.stable.out
        monetdb5/modules/mal/Tests/inspect05.stable.out.int128
        monetdb5/modules/mal/Tests/mapi01.mal
        monetdb5/modules/mal/Tests/mapi01.stable.out
        monetdb5/modules/mal/Tests/orderidx00.mal
        monetdb5/modules/mal/Tests/orderidx00.stable.out
        monetdb5/modules/mal/clients.c
        monetdb5/modules/mal/mal_mapi.c
        monetdb5/modules/mal/querylog.c
        monetdb5/modules/mal/remote.c
        monetdb5/modules/mal/sysmon.c
        monetdb5/modules/mal/tablet.c
        monetdb5/modules/mal/tokenizer.c
        monetdb5/optimizer/Tests/CMexample.mal
        monetdb5/optimizer/Tests/CMexample.stable.out
        monetdb5/optimizer/Tests/JPexample.mal
        monetdb5/optimizer/Tests/JPexample.stable.out
        monetdb5/optimizer/Tests/joinchain.mal
        monetdb5/optimizer/Tests/joinchain.stable.out
        monetdb5/optimizer/Tests/joinpath.mal
        monetdb5/optimizer/Tests/joinpath.stable.out
        monetdb5/optimizer/Tests/tst4030.mal
        monetdb5/optimizer/Tests/tst4030.stable.out
        monetdb5/optimizer/opt_costModel.c
        monetdb5/optimizer/opt_generator.c
        monetdb5/optimizer/opt_joinpath.c
        monetdb5/optimizer/opt_mergetable.c
        monetdb5/optimizer/opt_pipes.c
        monetdb5/optimizer/opt_prelude.c
        monetdb5/optimizer/opt_prelude.h
        monetdb5/optimizer/opt_pushselect.c
        monetdb5/optimizer/opt_statistics.c
        monetdb5/optimizer/opt_support.c
        monetdb5/optimizer/optimizer.mal
        monetdb5/scheduler/Tests/memo01.mal
        monetdb5/scheduler/Tests/memo01.stable.out
        monetdb5/scheduler/Tests/memo02.mal
        monetdb5/scheduler/Tests/memo02.stable.out
        monetdb5/tests/gdkTests/Tests/firstn.mal
        monetdb5/tests/gdkTests/Tests/firstn.stable.out
        monetdb5/tests/gdkTests/Tests/scanselect.mal
        monetdb5/tests/gdkTests/Tests/scanselect.stable.out
        monetdb5/tests/gdkTests/Tests/selecttst.mal
        monetdb5/tests/gdkTests/Tests/selecttst.stable.out
        sql/backends/monet5/UDF/Tests/udf-fuse.stable.out
        sql/backends/monet5/UDF/Tests/udf-reverse.stable.out
        sql/backends/monet5/generator/generator.c
        sql/backends/monet5/generator/generator.h
        sql/backends/monet5/generator/generator.mal
        sql/backends/monet5/generator/generator_hge.mal
        sql/backends/monet5/rel_bin.c
        sql/backends/monet5/sql.c
        sql/backends/monet5/sql_gencode.c
        sql/backends/monet5/sql_scenario.c
        sql/backends/monet5/vaults/bam/bam_loader.c
        sql/backends/monet5/vaults/bam/bam_wrapper.c
        sql/backends/monet5/vaults/lidar/lidar.c
        sql/benchmarks/ssbm/Tests/01-explain.stable.out
        sql/benchmarks/ssbm/Tests/01-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/02-explain.stable.out
        sql/benchmarks/ssbm/Tests/02-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/03-explain.stable.out
        sql/benchmarks/ssbm/Tests/03-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/04-explain.stable.out
        sql/benchmarks/ssbm/Tests/04-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/05-explain.stable.out
        sql/benchmarks/ssbm/Tests/05-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/06-explain.stable.out
        sql/benchmarks/ssbm/Tests/06-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/07-explain.stable.out
        sql/benchmarks/ssbm/Tests/07-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/08-explain.stable.out
        sql/benchmarks/ssbm/Tests/08-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/09-explain.stable.out
        sql/benchmarks/ssbm/Tests/09-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/10-explain.stable.out
        sql/benchmarks/ssbm/Tests/10-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/11-explain.stable.out
        sql/benchmarks/ssbm/Tests/11-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/12-explain.stable.out
        sql/benchmarks/ssbm/Tests/12-explain.stable.out.int128
        sql/benchmarks/ssbm/Tests/13-explain.stable.out
        sql/benchmarks/ssbm/Tests/13-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/01-explain.stable.out
        sql/benchmarks/tpch/Tests/01-explain.stable.out.32bit
        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
        sql/benchmarks/tpch/Tests/03-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/04-explain.stable.out
        sql/benchmarks/tpch/Tests/04-explain.stable.out.32bit
        sql/benchmarks/tpch/Tests/05-explain.stable.out
        sql/benchmarks/tpch/Tests/05-explain.stable.out.32bit
        sql/benchmarks/tpch/Tests/05-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/07-explain.stable.out
        sql/benchmarks/tpch/Tests/07-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/08-explain.stable.out
        sql/benchmarks/tpch/Tests/08-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/09-explain.stable.out
        sql/benchmarks/tpch/Tests/09-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/10-explain.stable.out
        sql/benchmarks/tpch/Tests/10-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/11-explain.stable.out
        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
        sql/benchmarks/tpch/Tests/14-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/15-explain.stable.out
        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
        sql/benchmarks/tpch/Tests/17-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/18-explain.stable.out
        sql/benchmarks/tpch/Tests/18-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/19-explain.stable.out
        sql/benchmarks/tpch/Tests/19-explain.stable.out.int128
        sql/benchmarks/tpch/Tests/20-explain.stable.out
        sql/benchmarks/tpch/Tests/20-explain.stable.out.32bit
        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
        sql/benchmarks/tpch/Tests/22-explain.stable.out.32bit
        sql/benchmarks/tpch/Tests/22-explain.stable.out.int128
        sql/common/sql_list.c
        sql/common/sql_types.c
        sql/server/rel_exp.c
        sql/server/rel_optimizer.c
        sql/server/rel_planner.c
        sql/server/rel_select.c
        sql/server/rel_updates.c
        sql/storage/sql_catalog.c
        sql/storage/store.c
        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
        sql/test/BugTracker-2011/Tests/crash_on_alias.Bug-2798.stable.out.int128
        sql/test/BugTracker-2013/Tests/between.Bug-3259.stable.out
        sql/test/BugTracker-2013/Tests/between.Bug-3259.stable.out.int128
        sql/test/BugTracker-2013/Tests/between.Bug-3259.stable.out.int128.single
        sql/test/BugTracker-2013/Tests/between.Bug-3259.stable.out.single
        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-2014/Tests/nil_2dec_lng.Bug-3592.stable.out.single
        sql/test/BugTracker-2015/Tests/All
        sql/test/BugTracker-2015/Tests/crash.Bug-3736.stable.err
        sql/test/BugTracker-2015/Tests/crash.Bug-3736.stable.out
        
sql/test/BugTracker-2015/Tests/date_comparison_incorrect_results.Bug-3834.stable.out
        
sql/test/BugTracker-2015/Tests/update_with_without_parenthesis.Bug-3838.stable.out
        sql/test/BugTracker/Tests/explain.SF-1739353.stable.out
        sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out
        sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out.32bit
        sql/test/SQLite_regress/sqllogictest/Tests/select2.test.sql
        sql/test/SQLite_regress/sqllogictest/Tests/select2.test.stable.out
        
sql/test/SQLite_regress/sqllogictest/Tests/select2.test.stable.out.int128
        sql/test/SQLite_regress/sqllogictest/Tests/select5.test.timeout
        sql/test/Tests/trace.stable.out.int128
        sql/test/mergetables/Tests/singlekeyconstraint.sql
        sql/test/mergetables/Tests/singlekeyconstraint.stable.err
        sql/test/mergetables/Tests/singlekeyconstraint.stable.out
        sql/test/remote/Tests/partition_elim.stable.out
        testing/Mtest.py.in
Branch: leftmart
Log Message:

Merge with default


diffs (truncated from 93548 to 300 lines):

diff --git a/NT/monetdb_config.h.in b/NT/monetdb_config.h.in
--- a/NT/monetdb_config.h.in
+++ b/NT/monetdb_config.h.in
@@ -57,6 +57,8 @@
 
 #include <assert.h>
 
+#define __func__ __FUNCTION__
+
 /* indicate to sqltypes.h that windows.h has already been included and
    that it doesn't have to define Windows constants */
 #define ALREADY_HAVE_WINDOWS_TYPE 1
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
@@ -2328,10 +2328,6 @@ command algebra.join(left:bat[:oid,:any_
 address ALGjoin2;
 comment Returns 2 columns with all BUNs, consisting of the head-oids     from 
'left' and 'right' for which there are BUNs in 'left'      and 'right' with 
equal tails
 
-pattern algebra.leftfetchjoinPath(l:bat[:oid,:any]...):bat[:oid,:any] 
-address ALGjoinPath;
-comment Routine to handle join paths.  The type analysis is rather tricky.
-
 command 
algebra.likesubjoin(l:bat[:oid,:str],r:bat[:oid,:str],sl:bat[:oid,:oid],sr:bat[:oid,:oid],nil_matches:bit,estimate:lng)
 (X_7:bat[:oid,:oid],X_8:bat[:oid,:oid]) 
 address LIKEsubjoin1;
 command 
algebra.likesubjoin(l:bat[:oid,:str],r:bat[:oid,:str],esc:str,sl:bat[:oid,:oid],sr:bat[:oid,:oid],nil_matches:bit,estimate:lng)
 (X_8:bat[:oid,:oid],X_9:bat[:oid,:oid]) 
@@ -2350,10 +2346,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.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.
-
 command algebra.not_ilike(s:str,pat:str):bit 
 address PCREnotilike2;
 command algebra.not_ilike(s:str,pat:str,esc:str):bit 
@@ -2363,6 +2355,14 @@ address PCREnotlike2;
 command algebra.not_like(s:str,pat:str,esc:str):bit 
 address PCREnotlike3;
 function 
algebra.orderidx(bv:bat[:oid,:any_1],reverse:bit,stable:bit):bat[:oid,:oid];
+pattern algebra.projectionPath(l:bat[:oid,:any]...):bat[:oid,:any] 
+address ALGjoinPath;
+comment Routine to handle join paths.  The type analysis is rather tricky.
+
+command 
algebra.projection(left:bat[:oid,:oid],right:bat[:oid,:any_3]):bat[:oid,:any_3] 
+address ALGprojection;
+comment Hook directly into the left fetch join implementation.
+
 pattern algebra.project(b:bat[:oid,:any_1],v:any_3):bat[:oid,:any_3] 
 address ALGprojecttail;
 comment Fill the tail with a constant
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
@@ -2839,10 +2839,6 @@ command algebra.join(left:bat[:oid,:any_
 address ALGjoin2;
 comment Returns 2 columns with all BUNs, consisting of the head-oids     from 
'left' and 'right' for which there are BUNs in 'left'      and 'right' with 
equal tails
 
-pattern algebra.leftfetchjoinPath(l:bat[:oid,:any]...):bat[:oid,:any] 
-address ALGjoinPath;
-comment Routine to handle join paths.  The type analysis is rather tricky.
-
 command 
algebra.likesubjoin(l:bat[:oid,:str],r:bat[:oid,:str],sl:bat[:oid,:oid],sr:bat[:oid,:oid],nil_matches:bit,estimate:lng)
 (X_7:bat[:oid,:oid],X_8:bat[:oid,:oid]) 
 address LIKEsubjoin1;
 command 
algebra.likesubjoin(l:bat[:oid,:str],r:bat[:oid,:str],esc:str,sl:bat[:oid,:oid],sr:bat[:oid,:oid],nil_matches:bit,estimate:lng)
 (X_8:bat[:oid,:oid],X_9:bat[:oid,:oid]) 
@@ -2861,10 +2857,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.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.
-
 command algebra.not_ilike(s:str,pat:str):bit 
 address PCREnotilike2;
 command algebra.not_ilike(s:str,pat:str,esc:str):bit 
@@ -2874,6 +2866,14 @@ address PCREnotlike2;
 command algebra.not_like(s:str,pat:str,esc:str):bit 
 address PCREnotlike3;
 function 
algebra.orderidx(bv:bat[:oid,:any_1],reverse:bit,stable:bit):bat[:oid,:oid];
+pattern algebra.projectionPath(l:bat[:oid,:any]...):bat[:oid,:any] 
+address ALGjoinPath;
+comment Routine to handle join paths.  The type analysis is rather tricky.
+
+command 
algebra.projection(left:bat[:oid,:oid],right:bat[:oid,:any_3]):bat[:oid,:any_3] 
+address ALGprojection;
+comment Hook directly into the left fetch join implementation.
+
 pattern algebra.project(b:bat[:oid,:any_1],v:any_3):bat[:oid,:any_3] 
 address ALGprojecttail;
 comment Fill the tail with a constant
@@ -48895,32 +48895,32 @@ pattern generator.join(b:bat[:oid,:sht],
 address VLTgenerator_join;
 pattern generator.join(b:bat[:oid,:bte],gen:bat[:oid,:bte]) 
(l:bat[:oid,:oid],r:bat[:oid,:oid]) 
 address VLTgenerator_join;
-pattern 
generator.leftfetchjoin(b:bat[:oid,:oid],cand:bat[:oid,:hge]):bat[:oid,:hge] 
-address VLTgenerator_leftfetchjoin;
-comment Overloaded leftfetchjoin operation
-
-pattern 
generator.leftfetchjoin(b:bat[:oid,:oid],cand:bat[:oid,:timestamp]):bat[:oid,:timestamp]
 
-address VLTgenerator_leftfetchjoin;
-comment Overloaded leftfetchjoin operation
-
-pattern 
generator.leftfetchjoin(b:bat[:oid,:oid],cand:bat[:oid,:dbl]):bat[:oid,:dbl] 
-address VLTgenerator_leftfetchjoin;
-pattern 
generator.leftfetchjoin(b:bat[:oid,:oid],cand:bat[:oid,:flt]):bat[:oid,:flt] 
-address VLTgenerator_leftfetchjoin;
-pattern 
generator.leftfetchjoin(b:bat[:oid,:oid],cand:bat[:oid,:lng]):bat[:oid,:lng] 
-address VLTgenerator_leftfetchjoin;
-pattern 
generator.leftfetchjoin(b:bat[:oid,:oid],cand:bat[:oid,:int]):bat[:oid,:int] 
-address VLTgenerator_leftfetchjoin;
-pattern 
generator.leftfetchjoin(b:bat[:oid,:oid],cand:bat[:oid,:sht]):bat[:oid,:sht] 
-address VLTgenerator_leftfetchjoin;
-pattern 
generator.leftfetchjoin(b:bat[:oid,:oid],cand:bat[:oid,:bte]):bat[:oid,:bte] 
-address VLTgenerator_leftfetchjoin;
+pattern 
generator.projection(b:bat[:oid,:oid],cand:bat[:oid,:hge]):bat[:oid,:hge] 
+address VLTgenerator_projection;
+comment Overloaded projection operation
+
 pattern generator.parameters(first:hge,last:hge):bat[:oid,:hge] 
 address VLTgenerator_noop;
 pattern generator.parameters(first:hge,last:hge,step:hge):bat[:oid,:hge] 
 address VLTgenerator_noop;
 comment Retain the table definition, but don't materialize
 
+pattern 
generator.projection(b:bat[:oid,:oid],cand:bat[:oid,:timestamp]):bat[:oid,:timestamp]
 
+address VLTgenerator_projection;
+comment Overloaded projection operation
+
+pattern 
generator.projection(b:bat[:oid,:oid],cand:bat[:oid,:dbl]):bat[:oid,:dbl] 
+address VLTgenerator_projection;
+pattern 
generator.projection(b:bat[:oid,:oid],cand:bat[:oid,:flt]):bat[:oid,:flt] 
+address VLTgenerator_projection;
+pattern 
generator.projection(b:bat[:oid,:oid],cand:bat[:oid,:lng]):bat[:oid,:lng] 
+address VLTgenerator_projection;
+pattern 
generator.projection(b:bat[:oid,:oid],cand:bat[:oid,:int]):bat[:oid,:int] 
+address VLTgenerator_projection;
+pattern 
generator.projection(b:bat[:oid,:oid],cand:bat[:oid,:sht]):bat[:oid,:sht] 
+address VLTgenerator_projection;
+pattern 
generator.projection(b:bat[:oid,:oid],cand:bat[:oid,:bte]):bat[:oid,:bte] 
+address VLTgenerator_projection;
 pattern generator.parameters(first:dbl,last:dbl):bat[:oid,:dbl] 
 address VLTgenerator_noop;
 pattern generator.parameters(first:flt,last:flt):bat[:oid,:flt] 
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
@@ -171,9 +171,9 @@ gdk_return BATsubbandjoin(BAT **r1p, BAT
 gdk_return BATsubcross(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr);
 BAT *BATsubdiff(BAT *l, BAT *r, BAT *sl, BAT *sr, int nil_matches, BUN 
estimate);
 gdk_return BATsubjoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, 
int nil_matches, BUN estimate);
-gdk_return BATsubleftfetchjoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, 
BAT *sr, int nil_matches, BUN estimate);
 gdk_return BATsubleftjoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT 
*sr, int nil_matches, BUN estimate);
 gdk_return BATsubouterjoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT 
*sr, int nil_matches, BUN estimate);
+gdk_return BATsubprojection(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT 
*sr, int nil_matches, BUN estimate);
 gdk_return BATsubrangejoin(BAT **r1p, BAT **r2p, BAT *l, BAT *rl, BAT *rh, BAT 
*sl, BAT *sr, int li, int hi, BUN estimate);
 BAT *BATsubselect(BAT *b, BAT *s, const void *tl, const void *th, int li, int 
hi, int anti);
 gdk_return BATsubsemijoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT 
*sr, int nil_matches, BUN estimate);
@@ -713,9 +713,9 @@ str ALGfirstn(Client cntxt, MalBlkPtr mb
 str ALGgroupby(bat *res, const bat *gids, const bat *cnts);
 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 ALGmaxany(ptr result, const bat *bid);
 str ALGminany(ptr result, const bat *bid);
+str ALGprojection(bat *result, const bat *lid, const bat *rid);
 str ALGprojecttail(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
 str ALGrangejoin2(bat *l, bat *r, const bat *lid, const bat *rlid, const bat 
*rhid, const bit *li, const bit *hi);
 str ALGreuse(bat *ret, const bat *bid);
@@ -2244,8 +2244,6 @@ str joinPathRef;
 str joinRef;
 str jsonRef;
 str languageRef;
-str leftfetchjoinPathRef;
-str leftfetchjoinRef;
 str levenshtein_impl(int *result, str *s, str *t, int *insdel_cost, int 
*replace_cost, int *transpose_cost);
 str levenshteinbasic2_impl(int *result, str *s, str *t);
 str levenshteinbasic_impl(int *result, str *s, str *t);
@@ -2404,6 +2402,8 @@ void profilerHeartbeatEvent(char *msg);
 str profilerRef;
 str projectRef;
 str projectdeltaRef;
+str projectionPathRef;
+str projectionRef;
 void promptInstruction(stream *fd, MalBlkPtr mb, MalStkPtr stk, InstrPtr p, 
int flg);
 InstrPtr pushArgument(MalBlkPtr mb, InstrPtr p, int varid);
 InstrPtr pushArgumentId(MalBlkPtr mb, InstrPtr p, str name);
diff --git a/clients/mapiclient/tachograph.c b/clients/mapiclient/tachograph.c
--- a/clients/mapiclient/tachograph.c
+++ b/clients/mapiclient/tachograph.c
@@ -291,9 +291,9 @@ static struct{
        int newl;
        int mode;
 }mapping[]={
-       {"algebra.leftfetchjoinPath", 25, "join",4, 0},
+       {"algebra.projectionPath", 25, "join",4, 0},
        {"algebra.thetasubselect", 22, "select",6, 0},
-       {"algebra.leftfetchjoin", 21, "join",4, 0},
+       {"algebra.projection", 21, "join",4, 0},
        {"dataflow.language", 17,       "parallel", 8, 0},
        {"algebra.subselect", 17, "select",6, 0},
        {"sql.projectdelta", 16, "project",7, 0},
@@ -675,7 +675,7 @@ update(EventRecord *ev)
                if ( strstr(ev->stmt,"sql.projectdelta") && *ev->stmt != '(' ){
                        addSourcePair(malvariables[0], malvariables[1]);
                } else
-               if ( strstr(ev->stmt,"algebra.leftfetchjoin") && *ev->stmt != 
'(' ){
+               if ( strstr(ev->stmt,"algebra.projection") && *ev->stmt != '(' 
){
                        addSourcePair(malvariables[0], malvariables[malvartop - 
1]);
                } else
                if ( strstr(ev->stmt,"algebra.subjoin") && *ev->stmt != '(' ){
diff --git a/clients/mapiclient/tomograph.c b/clients/mapiclient/tomograph.c
--- a/clients/mapiclient/tomograph.c
+++ b/clients/mapiclient/tomograph.c
@@ -274,7 +274,7 @@ base_colors[NUM_COLORS] = {
        /* reserve (base_)colors[0] for generic "*.*" */
 /* 99999       { 0, 0, "*", "*", 0 },*/
 /* arbitrarily ordered by descending frequency in TPCH SF-100 with 32 threads 
*/
-/* 11054 */    { 0, 0, "algebra", "leftfetchjoin", 0 },
+/* 11054 */    { 0, 0, "algebra", "projection", 0 },
 /* 10355 */    { 0, 0, "language", "pass", 0 },
 /*  5941 */    { 0, 0, "sql", "bind", 0 },
 /*  5664 */    { 0, 0, "mat", "packIncrement", 0 },
@@ -284,7 +284,7 @@ base_colors[NUM_COLORS] = {
 /*  2664 */    { 0, 0, "sql", "projectdelta", 0 },
 /*  2112 */    { 0, 0, "batcalc", "!=", 0 },
 /*  1886 */    { 0, 0, "sql", "bind_idxbat", 0 },
-/*  1881 */    { 0, 0, "algebra", "leftfetchjoinPath", 0 },
+/*  1881 */    { 0, 0, "algebra", "projectionPath", 0 },
 /*              */     { 0, 0, "algebra", "tinter", 0 },
 /*      */     { 0, 0, "algebra", "tdiff", 0 },
 /*  1013 */    { 0, 0, "sql", "tid", 0 },
diff --git a/clients/mapilib/mapi.c b/clients/mapilib/mapi.c
--- a/clients/mapilib/mapi.c
+++ b/clients/mapilib/mapi.c
@@ -1006,18 +1006,13 @@ struct MapiStatement {
                mapi_clrError((X)->mid);                                \
        } while (0)
 
-static Mapi mapi_new(void);
 static int mapi_extend_bindings(MapiHdl hdl, int minbindings);
 static int mapi_extend_params(MapiHdl hdl, int minparams);
-static MapiMsg mapi_setError(Mapi mid, const char *msg, const char *action, 
MapiMsg error);
 static void close_connection(Mapi mid);
 static MapiMsg read_into_cache(MapiHdl hdl, int lookahead);
 static int unquote(const char *msg, char **start, const char **next, int 
endchar, size_t *lenp);
 static int mapi_slice_row(struct MapiResultSet *result, int cr);
 static void mapi_store_bind(struct MapiResultSet *result, int cr);
-static void parse_uri_query(Mapi mid, char *uri);
-static void set_uri(Mapi mid);
-static MapiMsg connect_to_server(Mapi mid);
 
 static int mapi_initialized = 0;
 
@@ -1872,9 +1867,9 @@ mapi_new(void)
        mid->index = index++;   /* for distinctions in log records */
        mid->auto_commit = 1;
        mid->error = MOK;
-       mid->hostname = strdup("localhost");
+       mid->hostname = NULL;
        mid->server = NULL;
-       mid->language = strdup("sql");
+       mid->language = NULL;
 
        mid->languageId = LANG_SQL;
        mid->noexplain = NULL;
@@ -1901,376 +1896,9 @@ mapi_new(void)
 
        mid->first = NULL;
 
-       if (mid->hostname == NULL || mid->language == NULL) {
-               /* strdup failed, give up */
-               mapi_destroy(mid);
-               return NULL;
-       }
-
        return mid;
 }
 
-Mapi
-mapi_mapiuri(const char *url, const char *user, const char *pass, const char 
*lang)
-{
-       char *uri;
-       char *host;
-       int port;
-       char *dbname;
-       char *p;
-       Mapi mid;
-
-       if (!mapi_initialized) {
-               mapi_initialized = 1;
-               if (mnstr_init() < 0)
-                       return NULL;
-       }
-
-       mid = mapi_new();
-       if (mid == NULL)
-               return NULL;
-
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to