Changeset: 84e4ae8cfdd5 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=84e4ae8cfdd5
Modified Files:
        sql/backends/monet5/Tests/optimizers.stable.err
        sql/backends/monet5/Tests/optimizers.stable.out
        sql/backends/monet5/sql_gencode.mx
        sql/backends/monet5/sql_optimizer.mx
        sql/benchmarks/tpch/LOCKED/Tests/01-22.stable.out
        sql/benchmarks/tpch/LOCKED/Tests/02.stable.out
        sql/benchmarks/tpch/LOCKED/Tests/04.stable.out
        sql/benchmarks/tpch/LOCKED/Tests/17.stable.out
        sql/benchmarks/tpch/Tests/01-22.stable.out
        sql/benchmarks/tpch/Tests/02.stable.out
        sql/benchmarks/tpch/Tests/04.stable.out
        sql/benchmarks/tpch/Tests/17.stable.out
        sql/benchmarks/tpch/load.sh
        sql/server/rel_bin.c
        sql/server/rel_dump.c
        sql/server/rel_optimizer.c
        sql/server/rel_prop.c
        sql/server/rel_prop.h
        sql/server/rel_select.c
        sql/server/rel_updates.c
        sql/server/sql_parser.y
        sql/storage/store.c
        
sql/test/BugDay_2005-10-06_2.9.3/Tests/create_view_with_check_options.SF-1314951.stable.out
        
sql/test/BugDay_2005-10-06_2.9.3/Tests/view_on_deleted_table.SF-938583.stable.out
        
sql/test/BugTracker-2008/Tests/view_reply_incorrect.SF-2075097.stable.out
        
sql/test/BugTracker-2009/Tests/cardinality_of_expression_is_wrong.SF-2581617.stable.out
        
sql/test/BugTracker-2009/Tests/lookup_column_name_bug_1.SF-2654300.stable.out
        
sql/test/BugTracker-2009/Tests/lookup_column_name_bug_2.SF-2656762.stable.out
        sql/test/BugTracker-2010/Tests/select-view-key.Bug-2673.stable.out
        sql/test/BugTracker-2010/Tests/with_row_number_crash.Bug-2631.stable.out
        sql/test/BugTracker-2011/Tests/merge_range_exp.Bug-2806.stable.out
        sql/test/BugTracker-2011/Tests/nested_select.Bug-2801.stable.out
        sql/test/BugTracker/Tests/insert_values.SF-1578838.stable.err
        
sql/test/BugTracker/Tests/nested_views_algebra_version.SF-1993765.stable.out
        sql/test/BugTracker/Tests/variable_stack_crash.SF-1711251-2.stable.out
        sql/test/BugTracker/Tests/variable_stack_crash.SF-1711251.stable.out
        sql/test/BugTracker/Tests/with_only_once.SF-1720293.stable.out
        sql/test/Tests/create_in_schema.stable.out
        
sql/test/mserver5-sql-readonly/Tests/mserver5-sql-readonly-view.stable.out
        sql/test/osm/Tests/exp_name_bug.stable.out
        sql/test/xquery/Tests/q01.stable.out
Branch: default
Log Message:

added joinidx based semijoin
push join through union (using joinidx)


diffs (truncated from 1582 to 300 lines):

diff --git a/sql/backends/monet5/Tests/optimizers.stable.err 
b/sql/backends/monet5/Tests/optimizers.stable.err
--- a/sql/backends/monet5/Tests/optimizers.stable.err
+++ b/sql/backends/monet5/Tests/optimizers.stable.err
@@ -12,43 +12,46 @@
 # 08:05:50 >  Mtimeout -timeout 60 MapiClient -lsql -umonetdb -Pmonetdb 
--host=gio --port=35043 
 # 08:05:50 >  
 
-MAPI  = monetdb@eir:34547
+MAPI  = monetdb@alf:32144
+QUERY = set optimizer='';
+ERROR = !SQLException:optimizer:Optimizer '' pipeline does not exist, use 
default pipe instead
+MAPI  = monetdb@alf:32144
 QUERY = set 
optimizer='costModel,coercions,emptySet,accessmode,aliases,commonTerms,accumulators,joinPath,deadcode,reduce,garbageCollector';
 ERROR = !SQLException:optimizer: 'inline' should be the first
-MAPI  = monetdb@eir:34547
+MAPI  = monetdb@alf:32144
 QUERY = set 
optimizer='coercions,emptySet,accessmode,aliases,commonTerms,accumulators,joinPath,deadcode,reduce,garbageCollector';
 ERROR = !SQLException:optimizer: 'inline' should be the first
-MAPI  = monetdb@eir:34547
+MAPI  = monetdb@alf:32144
 QUERY = set 
optimizer='emptySet,accessmode,aliases,commonTerms,accumulators,joinPath,deadcode,reduce,garbageCollector';
 ERROR = !SQLException:optimizer: 'inline' should be the first
-MAPI  = monetdb@eir:34547
+MAPI  = monetdb@alf:32144
 QUERY = set 
optimizer='accessmode,aliases,commonTerms,accumulators,joinPath,deadcode,reduce,garbageCollector';
 ERROR = !SQLException:optimizer: 'inline' should be the first
-MAPI  = monetdb@eir:34547
+MAPI  = monetdb@alf:32144
 QUERY = set 
optimizer='aliases,commonTerms,accumulators,joinPath,deadcode,reduce,garbageCollector';
 ERROR = !SQLException:optimizer: 'inline' should be the first
-MAPI  = monetdb@eir:34547
+MAPI  = monetdb@alf:32144
 QUERY = set 
optimizer='commonTerms,accumulators,joinPath,deadcode,reduce,garbageCollector';
 ERROR = !SQLException:optimizer: 'inline' should be the first
-MAPI  = monetdb@eir:34547
+MAPI  = monetdb@alf:32144
 QUERY = set optimizer='accumulators,joinPath,deadcode,reduce,garbageCollector';
 ERROR = !SQLException:optimizer: 'inline' should be the first
-MAPI  = monetdb@eir:34547
+MAPI  = monetdb@alf:32144
 QUERY = set optimizer='joinPath,deadcode,reduce,garbageCollector';
 ERROR = !SQLException:optimizer: 'inline' should be the first
-MAPI  = monetdb@eir:34547
+MAPI  = monetdb@alf:32144
 QUERY = set optimizer='deadcode,reduce,garbageCollector';
 ERROR = !SQLException:optimizer: 'inline' should be the first
-MAPI  = monetdb@eir:34547
+MAPI  = monetdb@alf:32144
 QUERY = set optimizer='reduce,garbageCollector';
 ERROR = !SQLException:optimizer: 'inline' should be the first
-MAPI  = monetdb@eir:34547
+MAPI  = monetdb@alf:32144
 QUERY = set optimizer='garbageCollector';
 ERROR = !SQLException:optimizer:Optimizer 'garbageCollector' pipeline does not 
exist, use default pipe instead
-MAPI  = monetdb@eir:34547
+MAPI  = monetdb@alf:32144
 QUERY = set 
optimizer='costModel,coercions,emptySet,accessmode,commonTerms,accumulators,joinPath,deadcode,reduce,garbageCollector';
 ERROR = !SQLException:optimizer: 'inline' should be the first
-MAPI  = monetdb@eir:34547
+MAPI  = monetdb@alf:32144
 QUERY = set 
optimizer='costModel,coercions,emptySet,accessmode,commonTerms,accumulators,joinPath,deadcode,garbageCollector';
 ERROR = !SQLException:optimizer: 'inline' should be the first
 
diff --git a/sql/backends/monet5/Tests/optimizers.stable.out 
b/sql/backends/monet5/Tests/optimizers.stable.out
--- a/sql/backends/monet5/Tests/optimizers.stable.out
+++ b/sql/backends/monet5/Tests/optimizers.stable.out
@@ -61,8 +61,8 @@
 % .,   . # table_name
 % single_value,        single_value # name
 % char,        varchar # type
-% 23,  48 # length
-[ "optimizer <empty> test:",   
"inline,remap,deadcode,multiplex,garbageCollector"      ]
+% 23,  175 # length
+[ "optimizer <empty> test:",   
"inline,remap,evaluate,costModel,coercions,emptySet,aliases,mitosis,mergetable,deadcode,commonTerms,joinPath,reorder,deadcode,reduce,dataflow,history,multiplex,garbageCollector"
       ]
 #select 'done';
 % . # table_name
 % single_value # name
diff --git a/sql/backends/monet5/sql_gencode.mx 
b/sql/backends/monet5/sql_gencode.mx
--- a/sql/backends/monet5/sql_gencode.mx
+++ b/sql/backends/monet5/sql_gencode.mx
@@ -1629,7 +1629,7 @@
                        char *n = (s->type==st_append_col)?appendRef:updateRef;
 
                        if (s->type == st_append_col && s->flag) { /* fake 
append */
-                               sql->mvc_var = s->nr = r;
+                               s->nr = r;
                        } else {
                                q = newStmt2(mb, sqlRef, n);
                                q = pushArgument(mb, q, sql->mvc_var); 
@@ -1755,7 +1755,7 @@
                        getArg(q, 0) = sql->mvc_var= 
newTmpVariable(mb,TYPE_int);
                        q = pushArgument(mb, q, o1);
                        q = pushStr(mb, q, ""); /* warning */
-                       s->nr = getDestVar(q);
+                       sql->mvc_var = s->nr = getDestVar(q);
                } break;
                case st_output:
                case st_export:{
@@ -2106,9 +2106,9 @@
        backend_dumpstmt(be, curBlk, s);
 
        p = newFcnCall(curBlk, "optimizer", "remap");
-       typeChecker(c->nspace, curBlk, p, TRUE);
+       typeChecker(c->nspace, curBlk, p, FALSE);
        p = newFcnCall(curBlk, "optimizer", "multiplex");
-       typeChecker(c->nspace, curBlk, p, TRUE);
+       typeChecker(c->nspace, curBlk, p, FALSE);
        optimizeMALBlock(c, curBlk);
        c->curprg->def = curBlk;
 }
diff --git a/sql/backends/monet5/sql_optimizer.mx 
b/sql/backends/monet5/sql_optimizer.mx
--- a/sql/backends/monet5/sql_optimizer.mx
+++ b/sql/backends/monet5/sql_optimizer.mx
@@ -645,7 +645,7 @@
                if (m->point_query && (strcmp(optimizers[i], "mitosis")==0 || 
strcmp(optimizers[i], "dataflow")==0))
                        continue;
                p = newFcnCall(mb, "optimizer", optimizers[i]);
-               typeChecker(c->nspace, mb, p, TRUE);
+               typeChecker(c->nspace, mb, p, FALSE);
        }
 }
 
diff --git a/sql/benchmarks/tpch/LOCKED/Tests/01-22.stable.out 
b/sql/benchmarks/tpch/LOCKED/Tests/01-22.stable.out
--- a/sql/benchmarks/tpch/LOCKED/Tests/01-22.stable.out
+++ b/sql/benchmarks/tpch/LOCKED/Tests/01-22.stable.out
@@ -59,7 +59,7 @@
 % rewrite,     count # name
 % clob,        int # type
 % 7,   1 # length
-[ "joinidx",   7       ]
+[ "joinidx",   6       ]
 
 # 11:48:05 >  
 # 11:48:05 >  Mtimeout -timeout 60 MapiClient -lsql -umonetdb -Pmonetdb 
--host=localhost --port=35781
@@ -102,7 +102,7 @@
 % rewrite,     count # name
 % clob,        int # type
 % 7,   1 # length
-[ "joinidx",   0       ]
+[ "joinidx",   1       ]
 
 # 11:48:05 >  
 # 11:48:05 >  Mtimeout -timeout 60 MapiClient -lsql -umonetdb -Pmonetdb 
--host=localhost --port=35781
@@ -855,7 +855,7 @@
 % rewrite,     count # name
 % clob,        int # type
 % 7,   1 # length
-[ "joinidx",   1       ]
+[ "joinidx",   0       ]
 
 # 11:48:06 >  
 # 11:48:06 >  Mtimeout -timeout 60 MapiClient -lsql -umonetdb -Pmonetdb 
--host=localhost --port=35781
diff --git a/sql/benchmarks/tpch/LOCKED/Tests/02.stable.out 
b/sql/benchmarks/tpch/LOCKED/Tests/02.stable.out
--- a/sql/benchmarks/tpch/LOCKED/Tests/02.stable.out
+++ b/sql/benchmarks/tpch/LOCKED/Tests/02.stable.out
@@ -37,7 +37,7 @@
 % rewrite,     count # name
 % clob,        int # type
 % 7,   1 # length
-[ "joinidx",   7       ]
+[ "joinidx",   6       ]
 
 # 09:17:12 >  
 # 09:17:12 >  Done.
diff --git a/sql/benchmarks/tpch/LOCKED/Tests/04.stable.out 
b/sql/benchmarks/tpch/LOCKED/Tests/04.stable.out
--- a/sql/benchmarks/tpch/LOCKED/Tests/04.stable.out
+++ b/sql/benchmarks/tpch/LOCKED/Tests/04.stable.out
@@ -37,7 +37,7 @@
 % rewrite,     count # name
 % clob,        int # type
 % 7,   1 # length
-[ "joinidx",   0       ]
+[ "joinidx",   1       ]
 
 # 09:17:13 >  
 # 09:17:13 >  Done.
diff --git a/sql/benchmarks/tpch/LOCKED/Tests/17.stable.out 
b/sql/benchmarks/tpch/LOCKED/Tests/17.stable.out
--- a/sql/benchmarks/tpch/LOCKED/Tests/17.stable.out
+++ b/sql/benchmarks/tpch/LOCKED/Tests/17.stable.out
@@ -33,7 +33,7 @@
 % rewrite,     count # name
 % clob,        int # type
 % 7,   1 # length
-[ "joinidx",   1       ]
+[ "joinidx",   0       ]
 
 # 09:17:19 >  
 # 09:17:19 >  Done.
diff --git a/sql/benchmarks/tpch/Tests/01-22.stable.out 
b/sql/benchmarks/tpch/Tests/01-22.stable.out
--- a/sql/benchmarks/tpch/Tests/01-22.stable.out
+++ b/sql/benchmarks/tpch/Tests/01-22.stable.out
@@ -59,7 +59,7 @@
 % rewrite,     count # name
 % clob,        int # type
 % 7,   1 # length
-[ "joinidx",   7       ]
+[ "joinidx",   6       ]
 
 # 11:48:05 >  
 # 11:48:05 >  Mtimeout -timeout 60 MapiClient -lsql -umonetdb -Pmonetdb 
--host=localhost --port=35781
@@ -102,7 +102,7 @@
 % rewrite,     count # name
 % clob,        int # type
 % 7,   1 # length
-[ "joinidx",   0       ]
+[ "joinidx",   1       ]
 
 # 11:48:05 >  
 # 11:48:05 >  Mtimeout -timeout 60 MapiClient -lsql -umonetdb -Pmonetdb 
--host=localhost --port=35781
@@ -855,7 +855,7 @@
 % rewrite,     count # name
 % clob,        int # type
 % 7,   1 # length
-[ "joinidx",   1       ]
+[ "joinidx",   0       ]
 
 # 11:48:06 >  
 # 11:48:06 >  Mtimeout -timeout 60 MapiClient -lsql -umonetdb -Pmonetdb 
--host=localhost --port=35781
diff --git a/sql/benchmarks/tpch/Tests/02.stable.out 
b/sql/benchmarks/tpch/Tests/02.stable.out
--- a/sql/benchmarks/tpch/Tests/02.stable.out
+++ b/sql/benchmarks/tpch/Tests/02.stable.out
@@ -37,7 +37,7 @@
 % rewrite,     count # name
 % clob,        int # type
 % 7,   1 # length
-[ "joinidx",   7       ]
+[ "joinidx",   6       ]
 
 # 09:17:12 >  
 # 09:17:12 >  Done.
diff --git a/sql/benchmarks/tpch/Tests/04.stable.out 
b/sql/benchmarks/tpch/Tests/04.stable.out
--- a/sql/benchmarks/tpch/Tests/04.stable.out
+++ b/sql/benchmarks/tpch/Tests/04.stable.out
@@ -37,7 +37,7 @@
 % rewrite,     count # name
 % clob,        int # type
 % 7,   1 # length
-[ "joinidx",   0       ]
+[ "joinidx",   1       ]
 
 # 09:17:13 >  
 # 09:17:13 >  Done.
diff --git a/sql/benchmarks/tpch/Tests/17.stable.out 
b/sql/benchmarks/tpch/Tests/17.stable.out
--- a/sql/benchmarks/tpch/Tests/17.stable.out
+++ b/sql/benchmarks/tpch/Tests/17.stable.out
@@ -33,7 +33,7 @@
 % rewrite,     count # name
 % clob,        int # type
 % 7,   1 # length
-[ "joinidx",   1       ]
+[ "joinidx",   0       ]
 
 # 09:17:19 >  
 # 09:17:19 >  Done.
diff --git a/sql/benchmarks/tpch/load.sh b/sql/benchmarks/tpch/load.sh
--- a/sql/benchmarks/tpch/load.sh
+++ b/sql/benchmarks/tpch/load.sh
@@ -35,8 +35,8 @@
 #SF='sf-5'
 
 dir=`echo $SF | tr '[a-z]' '[A-Z]'`
-$SQL < c.sql-dec-primary-foreign
-#$SQL < c.sql-dec
-cat load-$SF.sql$T | sed -e s+PWD+$PWD/$dir+ | $SQL 
+#$SQL < c.sql-dec-primary-foreign
+$SQL < c.sql-dec
+cat load-$SF-LOCKED.sql$T | sed -e s+PWD+$PWD/$dir+ | $SQL 
 #cat load-$SF.sql$T | sed -e s+PWD+$PWD/$dir+ 
-#$SQL < alter.sql
+$SQL < alter.sql
diff --git a/sql/server/rel_bin.c b/sql/server/rel_bin.c
--- a/sql/server/rel_bin.c
+++ b/sql/server/rel_bin.c
@@ -659,6 +659,8 @@
                name = column_name(sql->sa, s);
        else
                name = sa_strdup(sql->sa, name);
+       if (!rname && exp->type == e_column && exp->l)
+               rname = exp->l;
        if (!rname)
                rname = table_name(sql->sa, s);
        else
@@ -1122,7 +1124,6 @@
                for( en = rel->exps->h, n = sub->op4.lval->h; en && n; en = 
en->next, n = n->next ) {
                        sql_exp *exp = en->data;
                        stmt *s = n->data;
-                       /*stmt *s = exp_bin(sql, exp, sub, NULL, NULL, NULL);*/
 
                        if (!s) {
                                assert(0);
diff --git a/sql/server/rel_dump.c b/sql/server/rel_dump.c
--- a/sql/server/rel_dump.c
+++ b/sql/server/rel_dump.c
@@ -22,6 +22,7 @@
 #define TABSTOP 2
 
 #include "rel_dump.h"
+#include "rel_prop.h"
 
 static void
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to