Changeset: 14b59e22244b for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=14b59e22244b
Modified Files:
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
gdk/ChangeLog
gdk/gdk.h
gdk/gdk_align.c
gdk/gdk_bat.c
gdk/gdk_join.c
monetdb5/ChangeLog
monetdb5/extras/rapi/Tests/rapi08.malC
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/modules/atoms/Tests/xml10.mal
monetdb5/modules/atoms/Tests/xml10.stable.out
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/tablet.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_prelude.c
monetdb5/optimizer/opt_prelude.h
monetdb5/optimizer/opt_pushselect.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/sql.c
sql/backends/monet5/sql_gencode.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.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.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/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.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.int128
sql/benchmarks/tpch/Tests/16-explain.stable.out
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
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
sql/benchmarks/tpch/Tests/22-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
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/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/Tests/trace.stable.out.int128
sql/test/remote/Tests/partition_elim.stable.out
testing/Mtest.py.in
Branch: embedded
Log Message:
merge with default
diffs (truncated from 7018 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
@@ -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
@@ -2362,6 +2354,14 @@ command algebra.not_like(s:str,pat:str):
address PCREnotlike2;
command algebra.not_like(s:str,pat:str,esc:str):bit
address PCREnotlike3;
+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
@@ -37991,22 +37991,22 @@ 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,: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,: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/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
@@ -2873,6 +2865,14 @@ command algebra.not_like(s:str,pat:str):
address PCREnotlike2;
command algebra.not_like(s:str,pat:str,esc:str):bit
address PCREnotlike3;
+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
@@ -48874,32 +48874,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);
@@ -708,9 +708,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);
@@ -2233,8 +2233,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);
@@ -2393,6 +2391,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/gdk/ChangeLog b/gdk/ChangeLog
--- a/gdk/ChangeLog
+++ b/gdk/ChangeLog
@@ -12,7 +12,7 @@
- Removed BATsemijoin. Use BATsubsemijoin instead.
- Removed BATjoin. Use BATsubjoin instead.
- Removed BATleftjoin. Use BATsubleftjoin or BATproject instead.
-- Removed BATleftfetchjoin. Use BATproject instead.
+- Removed BATprojection. Use BATproject instead.
- Removed BUNins from the list of exported functions.
* Thu Sep 10 2015 Sjoerd Mullender <[email protected]>
diff --git a/gdk/gdk.h b/gdk/gdk.h
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -3038,7 +3038,7 @@ gdk_export gdk_return BATsubthetajoin(BA
gdk_export gdk_return BATsubsemijoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT
*sl, BAT *sr, int nil_matches, BUN estimate);
gdk_export BAT *BATsubdiff(BAT *l, BAT *r, BAT *sl, BAT *sr, int nil_matches,
BUN estimate);
gdk_export gdk_return BATsubjoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT
*sl, BAT *sr, int nil_matches, BUN estimate);
-gdk_export gdk_return BATsubleftfetchjoin(BAT **r1p, BAT **r2p, BAT *l, BAT
*r, BAT *sl, BAT *sr, int nil_matches, BUN estimate);
+gdk_export gdk_return BATsubprojection(BAT **r1p, BAT **r2p, BAT *l, BAT *r,
BAT *sl, BAT *sr, int nil_matches, BUN estimate);
gdk_export gdk_return BATsubbandjoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT
*sl, BAT *sr, const void *c1, const void *c2, int li, int hi, BUN estimate);
gdk_export gdk_return BATsubrangejoin(BAT **r1p, BAT **r2p, BAT *l, BAT *rl,
BAT *rh, BAT *sl, BAT *sr, int li, int hi, BUN estimate);
gdk_export BAT *BATproject(BAT *l, BAT *r);
diff --git a/gdk/gdk_align.c b/gdk/gdk_align.c
--- a/gdk/gdk_align.c
+++ b/gdk/gdk_align.c
@@ -207,7 +207,6 @@ VIEWhcreate(BAT *h)
if (bn->H->vheap) {
assert(h->H->vheap);
assert(bn->H->vheap->parentid != 0);
- bn->H->vheap->farmid = h->H->vheap->farmid;
BBPshare(bn->H->vheap->parentid);
}
@@ -290,13 +289,11 @@ VIEWcreate_(BAT *h, BAT *t, int slice_vi
if (bn->H->vheap) {
assert(h->H->vheap);
assert(bn->H->vheap->parentid > 0);
- bn->H->vheap->farmid = h->H->vheap->farmid;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list