Changeset: d6c4112c87ef for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d6c4112c87ef
Modified Files:
        clients/Tests/exports.stable.out
        monetdb5/optimizer/Tests/inline08.stable.out
        sql/backends/monet5/rel_bin.c
        sql/test/BugTracker-2014/Tests/manifold.Bug-3556.stable.out
        sql/test/BugTracker-2015/Tests/readonly.Bug-3709.stable.out
        
sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-0join-view.stable.out
        
sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-1join-query.stable.out
        
sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-1join-view.stable.out
        
sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-2join-query.stable.out
        
sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-2join-view.stable.out
Branch: unlock
Log Message:

approved output


diffs (truncated from 454 to 300 lines):

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
@@ -205,7 +205,7 @@ void BATundo(BAT *b);
 BAT *BATunique(BAT *b, BAT *s);
 BAT *BATunmask(BAT *b);
 BBPrec *BBP[N_BBPINIT];
-gdk_return BBPaddfarm(const char *dirname, int rolemask, bool logerror);
+gdk_return BBPaddfarm(const char *dirname, uint32_t rolemask, bool logerror);
 void BBPclear(bat bid);
 BAT *BBPdescriptor(bat b);
 int BBPfix(bat b);
@@ -285,7 +285,7 @@ gdk_return GDKgetsem(int sem_id, int cou
 gdk_return GDKgetsemval(int sem_id, int number, int *semval);
 gdk_return GDKinit(struct opt *set, int setlen, bool embedded);
 void *GDKinitmmap(size_t id, size_t size, size_t *return_size);
-bool GDKinmemory(void);
+bool GDKinmemory(int farmid);
 ATOMIC_TYPE GDKlockcnt;
 ATOMIC_TYPE GDKlockcontentioncnt;
 MT_Lock *volatile GDKlocklist;
diff --git a/monetdb5/optimizer/Tests/inline08.stable.out 
b/monetdb5/optimizer/Tests/inline08.stable.out
--- a/monetdb5/optimizer/Tests/inline08.stable.out
+++ b/monetdb5/optimizer/Tests/inline08.stable.out
@@ -31,8 +31,25 @@ stdout of test 'inline08` in directory '
 function user.qry():void;                      #[0] (0)  0 
     b:bat[:str] := bat.new(:str);              #[1] (0) CMDBATnew 1 <- 2 
     bat.append(b:bat[:str], "1":str);          #[2] (0) BKCappend_val_wrap 3 
<- 1 4 
-    z:bat[:str] := mal.multiplex("user":str, "bar":str, b:bat[:str], 
b:bat[:str]);     #[3] (0) MANIFOLDremapMultiplex 5 <- 6 7 1 1 
-end user.qry;                                  #[4] (0)  
+    b:bat[:str] := batstr.replace(b:bat[:str], "A":str, "":str);       #[1] 
(0) STRbatReplacecst 1 <- 1 17 18 
+    b:bat[:str] := batstr.replace(b:bat[:str], "E":str, "":str);       #[2] 
(0) STRbatReplacecst 1 <- 1 19 18 
+    b:bat[:str] := batstr.replace(b:bat[:str], "I":str, "":str);       #[3] 
(0) STRbatReplacecst 1 <- 1 20 18 
+    b:bat[:str] := batstr.replace(b:bat[:str], "O":str, "":str);       #[4] 
(0) STRbatReplacecst 1 <- 1 21 18 
+    b:bat[:str] := batstr.replace(b:bat[:str], "U":str, "":str);       #[5] 
(0) STRbatReplacecst 1 <- 1 22 18 
+    b:bat[:str] := batstr.replace(b:bat[:str], " ":str, "":str);       #[6] 
(0) STRbatReplacecst 1 <- 1 23 18 
+    X_9:bat[:str] := b:bat[:str];      #[7] (0)  12 <- 1 
+    b:bat[:str] := batstr.replace(b:bat[:str], "A":str, "":str);       #[1] 
(0) STRbatReplacecst 1 <- 1 17 18 
+    b:bat[:str] := batstr.replace(b:bat[:str], "E":str, "":str);       #[2] 
(0) STRbatReplacecst 1 <- 1 19 18 
+    b:bat[:str] := batstr.replace(b:bat[:str], "I":str, "":str);       #[3] 
(0) STRbatReplacecst 1 <- 1 20 18 
+    b:bat[:str] := batstr.replace(b:bat[:str], "O":str, "":str);       #[4] 
(0) STRbatReplacecst 1 <- 1 21 18 
+    b:bat[:str] := batstr.replace(b:bat[:str], "U":str, "":str);       #[5] 
(0) STRbatReplacecst 1 <- 1 22 18 
+    b:bat[:str] := batstr.replace(b:bat[:str], " ":str, "":str);       #[6] 
(0) STRbatReplacecst 1 <- 1 23 18 
+    X_10:bat[:str] := b:bat[:str];     #[7] (0)  13 <- 1 
+    X_11:bat[:str] := batcalc.+(X_9:bat[:str], X_10:bat[:str], nil:BAT, 
nil:BAT);      #[3] (0) CMDbatADD 14 <- 12 13 28 29 
+    z:bat[:str] := X_11:bat[:str];     #[4] (0)  5 <- 14 
+end user.qry;  #[19] (0)  
+#inline               actions= 0 time=3 usec 
+#remap                actions= 1 time=153 usec 
 
 # 20:02:17 >  
 # 20:02:17 >  Done.
diff --git a/sql/backends/monet5/rel_bin.c b/sql/backends/monet5/rel_bin.c
--- a/sql/backends/monet5/rel_bin.c
+++ b/sql/backends/monet5/rel_bin.c
@@ -3971,7 +3971,7 @@ rel2bin_insert(backend *be, sql_rel *rel
                        stmt *is = m->data;
                        sql_idx *i = n->data;
 
-                       if (non_updatable_index(i->type)) /* Some indexes don't 
hold delta structures */
+                   if (non_updatable_index(i->type)) /* Some indexes don't 
hold delta structures */
                                continue;
                        if (hash_index(i->type) && list_length(i->columns) <= 1)
                                is = NULL;
diff --git a/sql/test/BugTracker-2014/Tests/manifold.Bug-3556.stable.out 
b/sql/test/BugTracker-2014/Tests/manifold.Bug-3556.stable.out
--- a/sql/test/BugTracker-2014/Tests/manifold.Bug-3556.stable.out
+++ b/sql/test/BugTracker-2014/Tests/manifold.Bug-3556.stable.out
@@ -70,16 +70,14 @@ function user.main():void;
     X_38:bat[:int] := bat.pack(0:int, 0:int);
     X_4:int := sql.mvc();
     C_5:bat[:oid] := sql.tid(X_4:int, "sys":str, "functions":str);
-    X_22:bat[:str] := sql.bind(X_4:int, "sys":str, "functions":str, 
"name":str, 0:int);
-    (X_25:bat[:oid], X_26:bat[:str]) := sql.bind(X_4:int, "sys":str, 
"functions":str, "name":str, 2:int);
-    X_24:bat[:str] := sql.bind(X_4:int, "sys":str, "functions":str, 
"name":str, 1:int);
-    X_29:bat[:str] := sql.projectdelta(C_5:bat[:oid], X_22:bat[:str], 
X_25:bat[:oid], X_26:bat[:str], X_24:bat[:str]);
-    X_34:bat[:str] := batstr.replace(X_29:bat[:str], "a":str, "A":str);
-    X_17:bat[:int] := sql.bind(X_4:int, "sys":str, "functions":str, "id":str, 
0:int);
-    (X_19:bat[:oid], X_20:bat[:int]) := sql.bind(X_4:int, "sys":str, 
"functions":str, "id":str, 2:int);
-    X_18:bat[:int] := sql.bind(X_4:int, "sys":str, "functions":str, "id":str, 
1:int);
-    X_28:bat[:int] := sql.projectdelta(C_5:bat[:oid], X_17:bat[:int], 
X_19:bat[:oid], X_20:bat[:int], X_18:bat[:int]);
-    sql.resultSet(X_38:bat[:str], X_39:bat[:str], X_40:bat[:str], 
X_41:bat[:int], X_42:bat[:int], X_34:bat[:str], X_28:bat[:int]);
+    X_19:bat[:str] := sql.bind(X_4:int, "sys":str, "functions":str, 
"name":str, 0:int);
+    (X_21:bat[:oid], X_22:bat[:str]) := sql.bind(X_4:int, "sys":str, 
"functions":str, "name":str, 2:int);
+    X_25:bat[:str] := sql.projectdelta(C_5:bat[:oid], X_19:bat[:str], 
X_21:bat[:oid], X_22:bat[:str]);
+    X_30:bat[:str] := batstr.replace(X_25:bat[:str], "a":str, "A":str);
+    X_15:bat[:int] := sql.bind(X_4:int, "sys":str, "functions":str, "id":str, 
0:int);
+    (X_16:bat[:oid], X_17:bat[:int]) := sql.bind(X_4:int, "sys":str, 
"functions":str, "id":str, 2:int);
+    X_24:bat[:int] := sql.projectdelta(C_5:bat[:oid], X_15:bat[:int], 
X_16:bat[:oid], X_17:bat[:int]);
+    sql.resultSet(X_34:bat[:str], X_35:bat[:str], X_36:bat[:str], 
X_37:bat[:int], X_38:bat[:int], X_30:bat[:str], X_24:bat[:int]);
 end user.main;
 #inline               actions= 0 time=1 usec 
 #remap                actions= 0 time=4 usec 
@@ -124,20 +122,18 @@ function user.main():void;
     X_46:bat[:int] := bat.pack(0:int, 0:int);
     X_4:int := sql.mvc();
     C_5:bat[:oid] := sql.tid(X_4:int, "sys":str, "functions":str);
-    X_22:bat[:str] := sql.bind(X_4:int, "sys":str, "functions":str, 
"name":str, 0:int);
-    (X_25:bat[:oid], X_26:bat[:str]) := sql.bind(X_4:int, "sys":str, 
"functions":str, "name":str, 2:int);
-    X_24:bat[:str] := sql.bind(X_4:int, "sys":str, "functions":str, 
"name":str, 1:int);
-    X_29:bat[:str] := sql.projectdelta(C_5:bat[:oid], X_22:bat[:str], 
X_25:bat[:oid], X_26:bat[:str], X_24:bat[:str]);
-    X_17:bat[:int] := sql.bind(X_4:int, "sys":str, "functions":str, "id":str, 
0:int);
-    (X_19:bat[:oid], X_20:bat[:int]) := sql.bind(X_4:int, "sys":str, 
"functions":str, "id":str, 2:int);
-    X_18:bat[:int] := sql.bind(X_4:int, "sys":str, "functions":str, "id":str, 
1:int);
-    X_28:bat[:int] := sql.projectdelta(C_5:bat[:oid], X_17:bat[:int], 
X_19:bat[:oid], X_20:bat[:int], X_18:bat[:int]);
-    X_32:bat[:str] := algebra.project(X_28:bat[:int], "a":str);
-    X_35:bat[:str] := algebra.project(X_28:bat[:int], "A":str);
-    X_42:bat[:str] := batstr.replace(X_29:bat[:str], X_32:bat[:str], 
X_35:bat[:str]);
-    X_36:bat[:lng] := batcalc.lng(X_28:bat[:int]);
-    X_39:bat[:lng] := batcalc.+(X_36:bat[:lng], 1:lng, nil:BAT);
-    sql.resultSet(X_46:bat[:str], X_47:bat[:str], X_48:bat[:str], 
X_49:bat[:int], X_50:bat[:int], X_42:bat[:str], X_39:bat[:lng]);
+    X_19:bat[:str] := sql.bind(X_4:int, "sys":str, "functions":str, 
"name":str, 0:int);
+    (X_21:bat[:oid], X_22:bat[:str]) := sql.bind(X_4:int, "sys":str, 
"functions":str, "name":str, 2:int);
+    X_25:bat[:str] := sql.projectdelta(C_5:bat[:oid], X_19:bat[:str], 
X_21:bat[:oid], X_22:bat[:str]);
+    X_15:bat[:int] := sql.bind(X_4:int, "sys":str, "functions":str, "id":str, 
0:int);
+    (X_16:bat[:oid], X_17:bat[:int]) := sql.bind(X_4:int, "sys":str, 
"functions":str, "id":str, 2:int);
+    X_24:bat[:int] := sql.projectdelta(C_5:bat[:oid], X_15:bat[:int], 
X_16:bat[:oid], X_17:bat[:int]);
+    X_28:bat[:str] := algebra.project(X_24:bat[:int], "a":str);
+    X_31:bat[:str] := algebra.project(X_24:bat[:int], "A":str);
+    X_38:bat[:str] := batstr.replace(X_25:bat[:str], X_28:bat[:str], 
X_31:bat[:str]);
+    X_32:bat[:lng] := batcalc.lng(X_24:bat[:int]);
+    X_35:bat[:lng] := batcalc.+(X_32:bat[:lng], 1:lng, nil:BAT);
+    sql.resultSet(X_42:bat[:str], X_43:bat[:str], X_44:bat[:str], 
X_45:bat[:int], X_46:bat[:int], X_38:bat[:str], X_35:bat[:lng]);
 end user.main;
 #inline               actions= 0 time=2 usec 
 #remap                actions= 1 time=50 usec 
@@ -182,19 +178,17 @@ function user.main():void;
     X_43:bat[:int] := bat.pack(0:int, 0:int);
     X_4:int := sql.mvc();
     C_5:bat[:oid] := sql.tid(X_4:int, "sys":str, "functions":str);
-    X_22:bat[:str] := sql.bind(X_4:int, "sys":str, "functions":str, 
"name":str, 0:int);
-    (X_25:bat[:oid], X_26:bat[:str]) := sql.bind(X_4:int, "sys":str, 
"functions":str, "name":str, 2:int);
-    X_24:bat[:str] := sql.bind(X_4:int, "sys":str, "functions":str, 
"name":str, 1:int);
-    X_29:bat[:str] := sql.projectdelta(C_5:bat[:oid], X_22:bat[:str], 
X_25:bat[:oid], X_26:bat[:str], X_24:bat[:str]);
-    X_17:bat[:int] := sql.bind(X_4:int, "sys":str, "functions":str, "id":str, 
0:int);
-    (X_19:bat[:oid], X_20:bat[:int]) := sql.bind(X_4:int, "sys":str, 
"functions":str, "id":str, 2:int);
-    X_18:bat[:int] := sql.bind(X_4:int, "sys":str, "functions":str, "id":str, 
1:int);
-    X_28:bat[:int] := sql.projectdelta(C_5:bat[:oid], X_17:bat[:int], 
X_19:bat[:oid], X_20:bat[:int], X_18:bat[:int]);
-    X_32:bat[:str] := algebra.project(X_28:bat[:int], "a":str);
-    X_35:bat[:str] := algebra.project(X_28:bat[:int], "A":str);
-    X_39:bat[:str] := batstr.replace(X_29:bat[:str], X_32:bat[:str], 
X_35:bat[:str]);
-    X_36:bat[:int] := batcalc.abs(X_28:bat[:int]);
-    sql.resultSet(X_43:bat[:str], X_44:bat[:str], X_45:bat[:str], 
X_46:bat[:int], X_47:bat[:int], X_39:bat[:str], X_36:bat[:int]);
+    X_19:bat[:str] := sql.bind(X_4:int, "sys":str, "functions":str, 
"name":str, 0:int);
+    (X_21:bat[:oid], X_22:bat[:str]) := sql.bind(X_4:int, "sys":str, 
"functions":str, "name":str, 2:int);
+    X_25:bat[:str] := sql.projectdelta(C_5:bat[:oid], X_19:bat[:str], 
X_21:bat[:oid], X_22:bat[:str]);
+    X_15:bat[:int] := sql.bind(X_4:int, "sys":str, "functions":str, "id":str, 
0:int);
+    (X_16:bat[:oid], X_17:bat[:int]) := sql.bind(X_4:int, "sys":str, 
"functions":str, "id":str, 2:int);
+    X_24:bat[:int] := sql.projectdelta(C_5:bat[:oid], X_15:bat[:int], 
X_16:bat[:oid], X_17:bat[:int]);
+    X_28:bat[:str] := algebra.project(X_24:bat[:int], "a":str);
+    X_31:bat[:str] := algebra.project(X_24:bat[:int], "A":str);
+    X_35:bat[:str] := batstr.replace(X_25:bat[:str], X_28:bat[:str], 
X_31:bat[:str]);
+    X_32:bat[:int] := batcalc.abs(X_24:bat[:int]);
+    sql.resultSet(X_39:bat[:str], X_40:bat[:str], X_41:bat[:str], 
X_42:bat[:int], X_43:bat[:int], X_35:bat[:str], X_32:bat[:int]);
 end user.main;
 #inline               actions= 0 time=2 usec 
 #remap                actions= 1 time=11 usec 
diff --git a/sql/test/BugTracker-2015/Tests/readonly.Bug-3709.stable.out 
b/sql/test/BugTracker-2015/Tests/readonly.Bug-3709.stable.out
--- a/sql/test/BugTracker-2015/Tests/readonly.Bug-3709.stable.out
+++ b/sql/test/BugTracker-2015/Tests/readonly.Bug-3709.stable.out
@@ -40,18 +40,18 @@ stdout of test 'readonly.Bug-3709` in di
 % usec,        statement # name
 % bigint,      clob # type
 % 3,   134 # length
-[ 2,   "X_1=0@0:void := querylog.define(\"trace select * from s10;\":str, 
\"default_pipe\":str, 13:int);"      ]
-[ 11,  "X_17=[1]:bat[:int] := bat.pack(32:int);"       ]
-[ 27,  "X_14=[1]:bat[:str] := bat.pack(\"sys.s10\":str);"      ]
-[ 12,  "X_18=[1]:bat[:int] := bat.pack(0:int);"        ]
-[ 3,   "X_4=0:int := sql.mvc();"       ]
-[ 15,  "X_16=[1]:bat[:str] := bat.pack(\"int\":str);"  ]
-[ 14,  "X_15=[1]:bat[:str] := bat.pack(\"x\":str);"    ]
-[ 65,  "C_5=[1]:bat[:oid] := sql.tid(X_4=0:int, \"sys\":str, \"s10\":str);"    
]
-[ 7,   "X_11=[1]:bat[:int] := sql.bind(X_4=0:int, \"sys\":str, \"s10\":str, 
\"x\":str, 0:int);"        ]
-[ 5,   "X_12=[1]:bat[:int] := algebra.projection(C_5=[1]:bat[:oid], 
X_11=[1]:bat[:int]);"      ]
-[ 244, "barrier X_70=false:bit := language.dataflow();"        ]
-[ 36,  "sql.resultSet(X_14=[1]:bat[:str], X_15=[1]:bat[:str], 
X_16=[1]:bat[:str], X_17=[1]:bat[:int], X_18=[1]:bat[:int], 
X_12=[1]:bat[:int]);"        ]
+[ 15,  "X_1=0@0:void := querylog.define(\"trace select * from s10;\":str, 
\"default_pipe\":str, 13:int);"      ]
+[ 22,  "X_4=0:int := sql.mvc();"       ]
+[ 92,  "X_16=[1]:bat[:str] := bat.pack(\"int\":str);"  ]
+[ 153, "X_17=[1]:bat[:int] := bat.pack(32:int);"       ]
+[ 119, "X_15=[1]:bat[:str] := bat.pack(\"x\":str);"    ]
+[ 187, "X_14=[1]:bat[:str] := bat.pack(\"sys.s10\":str);"      ]
+[ 208, "X_18=[1]:bat[:int] := bat.pack(0:int);"        ]
+[ 264, "C_5=[1]:bat[:cnd] := sql.tid(X_4=0:int, \"sys\":str, \"s10\":str); # 
select: dense"    ]
+[ 30,  "X_11=[1]:bat[:int] := sql.bind(X_4=0:int, \"sys\":str, \"s10\":str, 
\"x\":str, 0:int);"        ]
+[ 24,  "X_12=[1]:bat[:int] := algebra.projection(C_5=[1]:bat[:cnd], 
X_11=[1]:bat[:int]); # project_int"        ]
+[ 806, "barrier X_70=false:bit := language.dataflow();"        ]
+[ 65,  "sql.resultSet(X_14=[1]:bat[:str], X_15=[1]:bat[:str], 
X_16=[1]:bat[:str], X_17=[1]:bat[:int], X_18=[1]:bat[:int], 
X_12=[1]:bat[:int]);"        ]
 #rollback;
 #drop table s10; 
 
diff --git 
a/sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-0join-view.stable.out
 
b/sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-0join-view.stable.out
--- 
a/sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-0join-view.stable.out
+++ 
b/sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-0join-view.stable.out
@@ -36,8 +36,8 @@ function user.main():void;
     X_1:void := querylog.define("explain select count(*) from v0;":str, 
"sequential_pipe":str, 13:int);
     X_4:int := sql.mvc();
     C_5:bat[:oid] := sql.tid(X_4:int, "sys":str, "fk":str);
-    X_23:lng := aggr.count(C_5:bat[:oid]);
-    sql.resultSet(".%1":str, "%1":str, "bigint":str, 64:int, 0:int, 7:int, 
X_23:lng);
+    X_20:lng := aggr.count(C_5:bat[:oid]);
+    sql.resultSet(".%1":str, "%1":str, "bigint":str, 64:int, 0:int, 7:int, 
X_20:lng);
 end user.main;
 #inline               actions= 0 time=1 usec 
 #remap                actions= 0 time=1 usec 
diff --git 
a/sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-1join-query.stable.out
 
b/sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-1join-query.stable.out
--- 
a/sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-1join-query.stable.out
+++ 
b/sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-1join-query.stable.out
@@ -36,8 +36,8 @@ function user.main():void;
     X_1:void := querylog.define("explain select count(*) from fk left outer 
join pk1 on fk.fk1 = pk1.pk1;":str, "sequential_pipe":str, 13:int);
     X_4:int := sql.mvc();
     C_5:bat[:oid] := sql.tid(X_4:int, "sys":str, "fk":str);
-    X_23:lng := aggr.count(C_5:bat[:oid]);
-    sql.resultSet(".%1":str, "%1":str, "bigint":str, 64:int, 0:int, 7:int, 
X_23:lng);
+    X_20:lng := aggr.count(C_5:bat[:oid]);
+    sql.resultSet(".%1":str, "%1":str, "bigint":str, 64:int, 0:int, 7:int, 
X_20:lng);
 end user.main;
 #inline               actions= 0 time=0 usec 
 #remap                actions= 0 time=0 usec 
diff --git 
a/sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-1join-view.stable.out
 
b/sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-1join-view.stable.out
--- 
a/sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-1join-view.stable.out
+++ 
b/sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-1join-view.stable.out
@@ -36,8 +36,8 @@ function user.main():void;
     X_1:void := querylog.define("explain select count(*) from v1;":str, 
"sequential_pipe":str, 13:int);
     X_4:int := sql.mvc();
     C_5:bat[:oid] := sql.tid(X_4:int, "sys":str, "fk":str);
-    X_23:lng := aggr.count(C_5:bat[:oid]);
-    sql.resultSet(".%1":str, "%1":str, "bigint":str, 64:int, 0:int, 7:int, 
X_23:lng);
+    X_20:lng := aggr.count(C_5:bat[:oid]);
+    sql.resultSet(".%1":str, "%1":str, "bigint":str, 64:int, 0:int, 7:int, 
X_20:lng);
 end user.main;
 #inline               actions= 0 time=0 usec 
 #remap                actions= 0 time=1 usec 
diff --git 
a/sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-2join-query.stable.out
 
b/sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-2join-query.stable.out
--- 
a/sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-2join-query.stable.out
+++ 
b/sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-2join-query.stable.out
@@ -36,8 +36,8 @@ function user.main():void;
     X_1:void := querylog.define("explain select count(*) from fk left outer 
join pk1 on fk.fk1 = pk1.pk1 left outer join pk2 on fk.fk2 = pk2.pk2;":str, 
"sequential_pipe":str, 13:int);
     X_4:int := sql.mvc();
     C_5:bat[:oid] := sql.tid(X_4:int, "sys":str, "fk":str);
-    X_23:lng := aggr.count(C_5:bat[:oid]);
-    sql.resultSet(".%1":str, "%1":str, "bigint":str, 64:int, 0:int, 7:int, 
X_23:lng);
+    X_20:lng := aggr.count(C_5:bat[:oid]);
+    sql.resultSet(".%1":str, "%1":str, "bigint":str, 64:int, 0:int, 7:int, 
X_20:lng);
 end user.main;
 #inline               actions= 0 time=0 usec 
 #remap                actions= 0 time=1 usec 
@@ -183,8 +183,8 @@ end user.main;
 % clob # type
 % 194 # length
 function user.main():void;
-    X_1:void := querylog.define("explain select id , v2 from fk left outer 
join pk1 on fk.fk1 = pk1.pk1 left outer join pk2 on fk.fk2 = pk2.pk2 order by 
id;":str, "sequential_pipe":str, 98:int);
-    X_44:bat[:int] := bat.new(nil:int);
+    X_1:void := querylog.define("explain select id , v2 from fk left outer 
join pk1 on fk.fk1 = pk1.pk1 left outer join pk2 on fk.fk2 = pk2.pk2 order by 
id;":str, "sequential_pipe":str, 97:int);
+    X_43:bat[:int] := bat.new(nil:int);
     X_4:int := sql.mvc();
     C_5:bat[:oid] := sql.tid(X_4:int, "sys":str, "fk":str);
     X_19:bat[:oid] := sql.bind_idxbat(X_4:int, "sys":str, "fk":str, 
"fk_fk1_fkey":str, 0:int);
@@ -192,49 +192,48 @@ function user.main():void;
     X_23:bat[:oid] := sql.delta(X_19:bat[:oid], X_21:bat[:oid], 
X_22:bat[:oid]);
     X_32:bat[:oid] := algebra.projection(C_5:bat[:oid], X_23:bat[:oid]);
     C_29:bat[:oid] := sql.tid(X_4:int, "sys":str, "pk1":str);
-    C_34:bat[:oid] := algebra.projection(C_29:bat[:oid], C_29:bat[:oid]);
-    X_35:bat[:oid] := algebra.join(X_32:bat[:oid], C_34:bat[:oid], nil:BAT, 
nil:BAT, false:bit, nil:lng);
+    X_34:bat[:oid] := algebra.join(X_32:bat[:oid], C_29:bat[:oid], nil:BAT, 
nil:BAT, false:bit, nil:lng);
     X_15:bat[:int] := sql.bind(X_4:int, "sys":str, "fk":str, "id":str, 0:int);
     X_31:bat[:int] := algebra.projection(C_5:bat[:oid], X_15:bat[:int]);
-    X_43:bat[:int] := algebra.projection(X_35:bat[:oid], X_31:bat[:int]);
-    C_41:bat[:oid] := bat.mirror(X_31:bat[:int]);
-    C_42:bat[:cnd] := algebra.difference(C_41:bat[:oid], X_35:bat[:oid], 
nil:BAT, nil:BAT, false:bit, false:bit, nil:lng);
+    X_42:bat[:int] := algebra.projection(X_34:bat[:oid], X_31:bat[:int]);
+    C_40:bat[:oid] := bat.mirror(X_31:bat[:int]);
+    C_41:bat[:cnd] := algebra.difference(C_40:bat[:oid], X_34:bat[:oid], 
nil:BAT, nil:BAT, false:bit, false:bit, nil:lng);
     X_24:bat[:oid] := sql.bind_idxbat(X_4:int, "sys":str, "fk":str, 
"fk_fk2_fkey":str, 0:int);
     (X_26:bat[:oid], X_27:bat[:oid]) := sql.bind_idxbat(X_4:int, "sys":str, 
"fk":str, "fk_fk2_fkey":str, 2:int);
     X_28:bat[:oid] := sql.delta(X_24:bat[:oid], X_26:bat[:oid], 
X_27:bat[:oid]);
     X_33:bat[:oid] := algebra.projection(C_5:bat[:oid], X_28:bat[:oid]);
-    X_46:bat[:int] := bat.append(X_44:bat[:int], X_43:bat[:int], true:bit);
-    X_48:bat[:int] := algebra.projection(C_42:bat[:cnd], X_31:bat[:int]);
-    X_49:bat[:int] := bat.append(X_46:bat[:int], X_48:bat[:int], true:bit);
-    X_57:bat[:oid] := bat.new(nil:oid);
-    X_56:bat[:oid] := algebra.projection(X_35:bat[:oid], X_33:bat[:oid]);
-    X_58:bat[:oid] := bat.append(X_57:bat[:oid], X_56:bat[:oid], true:bit);
-    X_59:bat[:oid] := algebra.projection(C_42:bat[:cnd], X_33:bat[:oid]);
-    X_60:bat[:oid] := bat.append(X_58:bat[:oid], X_59:bat[:oid], true:bit);
-    X_89:bat[:int] := bat.new(nil:int);
-    C_67:bat[:oid] := sql.tid(X_4:int, "sys":str, "pk2":str);
-    (X_80:bat[:oid], X_81:bat[:oid]) := algebra.join(X_60:bat[:oid], 
C_67:bat[:oid], nil:BAT, nil:BAT, false:bit, nil:lng);
-    X_88:bat[:int] := algebra.projection(X_80:bat[:oid], X_49:bat[:int]);
-    C_86:bat[:oid] := bat.mirror(X_49:bat[:int]);
-    C_87:bat[:cnd] := algebra.difference(C_86:bat[:oid], X_80:bat[:oid], 
nil:BAT, nil:BAT, false:bit, false:bit, nil:lng);
-    X_74:bat[:int] := sql.bind(X_4:int, "sys":str, "pk2":str, "v2":str, 0:int);
-    X_91:bat[:int] := bat.append(X_89:bat[:int], X_88:bat[:int], true:bit);
-    X_93:bat[:int] := algebra.projection(C_87:bat[:cnd], X_49:bat[:int]);
-    X_94:bat[:int] := bat.append(X_91:bat[:int], X_93:bat[:int], true:bit);
-    X_112:bat[:int] := bat.new(nil:int);
-    X_111:bat[:int] := algebra.projectionpath(X_81:bat[:oid], C_67:bat[:oid], 
X_74:bat[:int]);
-    X_113:bat[:int] := bat.append(X_112:bat[:int], X_111:bat[:int], true:bit);
-    X_115:bat[:int] := algebra.project(C_87:bat[:cnd], nil:int);
-    X_116:bat[:int] := bat.append(X_113:bat[:int], X_115:bat[:int], true:bit);
-    X_131:bat[:str] := bat.pack(".fk":str, ".pk2":str);
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to