Changeset: 7f20c97e8ce3 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=7f20c97e8ce3
Added Files:
        monetdb5/optimizer/opt_accumulators.c
        monetdb5/optimizer/opt_accumulators.h
        monetdb5/optimizer/opt_aliases.c
        monetdb5/optimizer/opt_aliases.h
        monetdb5/optimizer/opt_centipede.c
        monetdb5/optimizer/opt_centipede.h
        monetdb5/optimizer/opt_cluster.c
        monetdb5/optimizer/opt_cluster.h
        monetdb5/optimizer/opt_coercion.c
        monetdb5/optimizer/opt_coercion.h
        monetdb5/optimizer/opt_commonTerms.c
        monetdb5/optimizer/opt_commonTerms.h
        monetdb5/optimizer/opt_compression.c
        monetdb5/optimizer/opt_compression.h
        monetdb5/optimizer/opt_constants.c
        monetdb5/optimizer/opt_constants.h
        monetdb5/optimizer/opt_costModel.c
        monetdb5/optimizer/opt_costModel.h
        monetdb5/optimizer/opt_datacyclotron.c
        monetdb5/optimizer/opt_datacyclotron.h
        monetdb5/optimizer/opt_dataflow.c
        monetdb5/optimizer/opt_dataflow.h
        monetdb5/optimizer/opt_deadcode.c
        monetdb5/optimizer/opt_deadcode.h
        monetdb5/optimizer/opt_dictionary.c
        monetdb5/optimizer/opt_dictionary.h
        monetdb5/optimizer/opt_emptySet.c
        monetdb5/optimizer/opt_emptySet.h
        monetdb5/optimizer/opt_evaluate.c
        monetdb5/optimizer/opt_evaluate.h
        monetdb5/optimizer/opt_factorize.c
        monetdb5/optimizer/opt_factorize.h
        monetdb5/optimizer/opt_garbageCollector.c
        monetdb5/optimizer/opt_garbageCollector.h
        monetdb5/optimizer/opt_groups.c
        monetdb5/optimizer/opt_groups.h
        monetdb5/optimizer/opt_history.c
        monetdb5/optimizer/opt_history.h
        monetdb5/optimizer/opt_inline.c
        monetdb5/optimizer/opt_inline.h
        monetdb5/optimizer/opt_joinpath.c
        monetdb5/optimizer/opt_joinpath.h
        monetdb5/optimizer/opt_macro.c
        monetdb5/optimizer/opt_macro.h
        monetdb5/optimizer/opt_mapreduce.c
        monetdb5/optimizer/opt_mapreduce.h
        monetdb5/optimizer/opt_mergetable.c
        monetdb5/optimizer/opt_mergetable.h
        monetdb5/optimizer/opt_mitosis.c
        monetdb5/optimizer/opt_mitosis.h
        monetdb5/optimizer/opt_multiplex.c
        monetdb5/optimizer/opt_multiplex.h
        monetdb5/optimizer/opt_octopus.c
        monetdb5/optimizer/opt_octopus.h
        monetdb5/optimizer/opt_origin.c
        monetdb5/optimizer/opt_origin.h
        monetdb5/optimizer/opt_prejoin.c
        monetdb5/optimizer/opt_prejoin.h
        monetdb5/optimizer/opt_pushranges.c
        monetdb5/optimizer/opt_pushranges.h
        monetdb5/optimizer/opt_qep.c
        monetdb5/optimizer/opt_qep.h
        monetdb5/optimizer/opt_recycler.c
        monetdb5/optimizer/opt_recycler.h
        monetdb5/optimizer/opt_reduce.c
        monetdb5/optimizer/opt_reduce.h
        monetdb5/optimizer/opt_remap.c
        monetdb5/optimizer/opt_remap.h
        monetdb5/optimizer/opt_remoteQueries.c
        monetdb5/optimizer/opt_remoteQueries.h
        monetdb5/optimizer/opt_reorder.c
        monetdb5/optimizer/opt_reorder.h
        monetdb5/optimizer/opt_singleton.c
        monetdb5/optimizer/opt_singleton.h
        monetdb5/optimizer/opt_strengthReduction.c
        monetdb5/optimizer/opt_strengthReduction.h
        monetdb5/optimizer/opt_trace.c
        monetdb5/optimizer/opt_trace.h
        monetdb5/optimizer/opt_wrapper.c
        monetdb5/optimizer/optimizer.c
        monetdb5/optimizer/optimizer.h
        monetdb5/optimizer/optimizer.mal
Removed Files:
        monetdb5/optimizer/Tests/PHexample.mal
        monetdb5/optimizer/Tests/PHexample.stable.err
        monetdb5/optimizer/Tests/PHexample.stable.out
        monetdb5/optimizer/Tests/tst4015.mal
        monetdb5/optimizer/Tests/tst4015.stable.err
        monetdb5/optimizer/Tests/tst4015.stable.out
        monetdb5/optimizer/opt_accumulators.mx
        monetdb5/optimizer/opt_aliases.mx
        monetdb5/optimizer/opt_centipede.mx
        monetdb5/optimizer/opt_cluster.mx
        monetdb5/optimizer/opt_coercion.mx
        monetdb5/optimizer/opt_commonTerms.mx
        monetdb5/optimizer/opt_compression.mx
        monetdb5/optimizer/opt_constants.mx
        monetdb5/optimizer/opt_costModel.mx
        monetdb5/optimizer/opt_datacyclotron.mx
        monetdb5/optimizer/opt_dataflow.mx
        monetdb5/optimizer/opt_deadcode.mx
        monetdb5/optimizer/opt_dictionary.mx
        monetdb5/optimizer/opt_emptySet.mx
        monetdb5/optimizer/opt_evaluate.mx
        monetdb5/optimizer/opt_factorize.mx
        monetdb5/optimizer/opt_garbageCollector.mx
        monetdb5/optimizer/opt_groups.mx
        monetdb5/optimizer/opt_heuristics.mx
        monetdb5/optimizer/opt_history.mx
        monetdb5/optimizer/opt_inline.mx
        monetdb5/optimizer/opt_joinpath.mx
        monetdb5/optimizer/opt_macro.mx
        monetdb5/optimizer/opt_mapreduce.mx
        monetdb5/optimizer/opt_mergetable.mx
        monetdb5/optimizer/opt_mitosis.mx
        monetdb5/optimizer/opt_multiplex.mx
        monetdb5/optimizer/opt_octopus.mx
        monetdb5/optimizer/opt_origin.mx
        monetdb5/optimizer/opt_peephole.mx
        monetdb5/optimizer/opt_prejoin.mx
        monetdb5/optimizer/opt_pushranges.mx
        monetdb5/optimizer/opt_qep.mx
        monetdb5/optimizer/opt_recycler.mx
        monetdb5/optimizer/opt_reduce.mx
        monetdb5/optimizer/opt_remap.mx
        monetdb5/optimizer/opt_remoteQueries.mx
        monetdb5/optimizer/opt_reorder.mx
        monetdb5/optimizer/opt_replication.mx
        monetdb5/optimizer/opt_singleton.mx
        monetdb5/optimizer/opt_statistics.mal
        monetdb5/optimizer/opt_strengthReduction.mx
        monetdb5/optimizer/opt_support.mal
        monetdb5/optimizer/opt_trace.mx
        monetdb5/optimizer/optimizer.mx
Modified Files:
        monetdb5/mal/mal_function.c
        monetdb5/mal/mal_instruction.c
        monetdb5/modules/mal/mal_init.mal
        monetdb5/optimizer/Makefile.ag
        monetdb5/optimizer/Tests/All
        monetdb5/optimizer/Tests/tst4631.stable.out
        monetdb5/optimizer/opt_statistics.c
        monetdb5/optimizer/opt_support.c
Branch: default
Log Message:

Optimizer de-mx step
All optimizers in monetdb have been split into its constituent files.
Documentation already on the web has been removed.
A few old/unused optimizers have been removed.


diffs (truncated from 11032 to 300 lines):

diff --git a/monetdb5/mal/mal_function.c b/monetdb5/mal/mal_function.c
--- a/monetdb5/mal/mal_function.c
+++ b/monetdb5/mal/mal_function.c
@@ -1055,18 +1055,9 @@ showInFlow(MalBlkPtr mb, int pc, int var
 static void
 showFlowDetails(MalBlkPtr mb, MalStkPtr stk, InstrPtr p, int pc, stream *f)
 {
-       str s, msg;
-
+       (void) mb;     /* fool the compiler */
        (void) stk;     /* fool the compiler */
-       msg = instruction2str(mb, stk, p, LIST_MAL_DEBUG);
-       mnstr_printf(f, "n%d [fontsize=8, shape=box, label=\"", pc);
-       for (s = msg; *s; s++)
-               if (*s == '"')
-                       mnstr_printf(f, "\\\"");
-               else
-                       mnstr_printf(f, "%c", *s);
-       GDKfree(msg);
-       mnstr_printf(f, "\"];\n");
+       mnstr_printf(f, "n%d [fontsize=8, shape=box, label=\"%s\"]\n", pc, 
getFunctionId(p));
 }
 
 /* the stethoscope needs dot files for its graphical interface.
diff --git a/monetdb5/mal/mal_instruction.c b/monetdb5/mal/mal_instruction.c
--- a/monetdb5/mal/mal_instruction.c
+++ b/monetdb5/mal/mal_instruction.c
@@ -534,6 +534,7 @@ removeInstruction(MalBlkPtr mb, InstrPtr
                if (mb->profiler)
                        mb->profiler[i] = mb->profiler[i + 1];
        }
+       mb->stmt[i] = 0;
        mb->stop--;
        assert(i == mb->stop);
 
diff --git a/monetdb5/modules/mal/mal_init.mal 
b/monetdb5/modules/mal/mal_init.mal
--- a/monetdb5/modules/mal/mal_init.mal
+++ b/monetdb5/modules/mal/mal_init.mal
@@ -106,47 +106,6 @@ include statistics;        # experimental
 include sample;
 
 include optimizer;
-include opt_support;
-include opt_accumulators;
-include opt_aliases;
-include opt_centipede;
-include opt_coercion;
-include opt_constants;
-include opt_dataflow;
-include opt_dictionary;
-include opt_deadcode;
-include opt_datacyclotron;
-include opt_compression;
-include opt_commonTerms;
-include opt_costModel;
-include opt_emptySet;
-include opt_evaluate;
-include opt_factorize;
-include opt_garbageCollector;
-include opt_inline;
-include opt_groups;
-include opt_joinpath;
-include opt_macro;
-include opt_multiplex;
-include opt_mergetable;
-include opt_mitosis;
-include opt_reorder;
-include opt_octopus;
-include opt_origin;
-include opt_peephole;
-include opt_prejoin;
-include opt_qep;
-include opt_history;
-include opt_pushranges;
-include opt_reduce;
-include opt_remap;
-include opt_recycler;
-include opt_singleton;
-include opt_strengthReduction;
-include opt_statistics;
-include opt_trace;
-include opt_mapreduce;
-include opt_remoteQueries;
 
 include chopper;
 include cluster;
diff --git a/monetdb5/optimizer/Makefile.ag b/monetdb5/optimizer/Makefile.ag
--- a/monetdb5/optimizer/Makefile.ag
+++ b/monetdb5/optimizer/Makefile.ag
@@ -28,71 +28,57 @@ MTSAFE
 lib_optimizer = {
        NOINST
        SOURCES = \
-               optimizer.mx \
-               opt_accumulators.mx \
-               opt_aliases.mx \
-               opt_cluster.mx \
-               opt_coercion.mx \
-               opt_commonTerms.mx \
-               opt_compression.mx \
-               opt_constants.mx \
-               opt_costModel.mx \
-               opt_datacyclotron.mx \
-               opt_dataflow.mx \
-               opt_deadcode.mx \
-               opt_dictionary.mx \
-               opt_emptySet.mx \
-               opt_evaluate.mx \
-               opt_factorize.mx \
-               opt_garbageCollector.mx \
-               opt_groups.mx \
-               opt_heuristics.mx \
-               opt_history.mx \
-               opt_inline.mx \
-               opt_joinpath.mx \
-               opt_macro.mx \
-               opt_mapreduce.mx \
-               opt_mergetable.mx \
-               opt_mitosis.mx \
-               opt_multiplex.mx \
-               opt_octopus.mx \
-               opt_origin.mx \
-               opt_peephole.mx \
-               opt_pipes.c opt_pipes.h \
-               opt_prejoin.mx \
+               optimizer.c \
+               opt_accumulators.c \
+               opt_aliases.c \
+               opt_cluster.c \
+               opt_coercion.c \
+               opt_commonTerms.c \
+               opt_compression.c \
+               opt_constants.c \
+               opt_costModel.c \
+               opt_datacyclotron.c \
+               opt_dataflow.c \
+               opt_deadcode.c \
+               opt_dictionary.c \
+               opt_emptySet.c \
+               opt_evaluate.c \
+               opt_factorize.c \
+               opt_garbageCollector.c \
+               opt_groups.c \
+               opt_history.c \
+               opt_inline.c \
+               opt_joinpath.c \
+               opt_macro.c \
+               opt_mapreduce.c \
+               opt_mergetable.c \
+               opt_mitosis.c \
+               opt_multiplex.c \
+               opt_octopus.c \
+               opt_origin.c \
+               opt_pipes.c \
+               opt_prejoin.c \
                opt_prelude.c opt_prelude.h \
-               opt_pushranges.mx \
-               opt_qep.mx \
-               opt_recycler.mx \
-               opt_reduce.mx \
-               opt_remap.mx \
-               opt_remoteQueries.mx \
-               opt_reorder.mx \
-               opt_singleton.mx \
+               opt_pushranges.c \
+               opt_qep.c \
+               opt_recycler.c \
+               opt_reduce.c \
+               opt_remap.c \
+               opt_remoteQueries.c \
+               opt_reorder.c \
+               opt_singleton.c \
                opt_statistics.c opt_statistics.h \
-               opt_strengthReduction.mx \
-               opt_support.c opt_support.h \
-               opt_centipede.mx \
-               opt_trace.mx
+               opt_strengthReduction.c \
+               opt_support.c \
+               opt_centipede.c \
+               opt_trace.c \
+               opt_wrapper.c
 }
 
 headers_mal = {
        HEADERS = mal
        DIR = libdir/monetdb5
-       SOURCES = \
-               opt_support.mal optimizer.mx  opt_factorize.mx \
-               opt_deadcode.mx opt_garbageCollector.mx 
opt_strengthReduction.mx \
-               opt_aliases.mx opt_constants.mx opt_commonTerms.mx 
opt_datacyclotron.mx \
-               opt_coercion.mx opt_emptySet.mx opt_peephole.mx 
opt_multiplex.mx \
-               opt_singleton.mx opt_costModel.mx opt_reduce.mx opt_macro.mx \
-               opt_accumulators.mx opt_qep.mx opt_mergetable.mx \
-               opt_remoteQueries.mx \
-               opt_reorder.mx opt_prejoin.mx opt_compression.mx \
-               opt_evaluate.mx opt_inline.mx opt_pushranges.mx opt_groups.mx \
-               opt_joinpath.mx opt_heuristics.mx opt_remap.mx \
-               opt_statistics.mal opt_trace.mx  opt_recycler.mx 
opt_dataflow.mx \
-               opt_cluster.mx opt_dictionary.mx opt_mapreduce.mx opt_origin.mx 
\
-               opt_mitosis.mx opt_octopus.mx opt_centipede.mx opt_history.mx
+       SOURCES = optimizer.mal 
 }
 
 EXTRA_DIST = optimizerWrapper.mx opt_statistics.mal opt_support.mal
diff --git a/monetdb5/optimizer/Tests/All b/monetdb5/optimizer/Tests/All
--- a/monetdb5/optimizer/Tests/All
+++ b/monetdb5/optimizer/Tests/All
@@ -5,7 +5,6 @@ tst4003
 tst4004
 tst4005
 tst4010
-tst4015
 tst4030
 tst4300
 tst4600
@@ -92,7 +91,6 @@ GCexample01
 CXexample
 JPexample
 Mexample
-PHexample
 SRexample
 STexample
 
diff --git a/monetdb5/optimizer/Tests/PHexample.mal 
b/monetdb5/optimizer/Tests/PHexample.mal
deleted file mode 100644
--- a/monetdb5/optimizer/Tests/PHexample.mal
+++ /dev/null
@@ -1,10 +0,0 @@
-# testing repeatative reverse optimalisation
-r:bat[:int,:int]:= bat.new(:int,:int);
-o:= calc.oid(0@0);
-z:= algebra.markT(r,o);
-rr:= bat.reverse(z);
-s := bat.reverse(r);
-t := bat.reverse(s);
-io.print(t);
-optimizer.peephole();
-mdb.List();
diff --git a/monetdb5/optimizer/Tests/PHexample.stable.err 
b/monetdb5/optimizer/Tests/PHexample.stable.err
deleted file mode 100644
--- a/monetdb5/optimizer/Tests/PHexample.stable.err
+++ /dev/null
@@ -1,12 +0,0 @@
-stderr of test 'PHexample` in directory 'optimizer` itself:
-
-
-# 20:14:00 >  
-# 20:14:00 >  Mtimeout -timeout 60 Mserver 
"--config=/ufs/mk/monet5/src/mal/Tests/All.conf" --debug=10 --set 
"monet_mod_path=/ufs/mk/monet5/Linux/lib/MonetDB5:/ufs/mk/opensource/MonetDB/Linux/lib/MonetDB"
 --set "gdk_dbfarm=/ufs/mk/opensource/MonetDB/Linux/var/MonetDB5/dbfarm" --set 
"sql_logdir=/ufs/mk/opensource/MonetDB/Linux/var/MonetDB5/log" --set 
mapi_port=33637 --set sql_port=44106 --set xquery_port=55157 --set 
monet_prompt= --trace --dbname=mTests_src_optimizer  PHexample.mal </dev/null
-# 20:14:00 >  
-
-
-# 20:14:00 >  
-# 20:14:00 >  Done.
-# 20:14:00 >  
-
diff --git a/monetdb5/optimizer/Tests/PHexample.stable.out 
b/monetdb5/optimizer/Tests/PHexample.stable.out
deleted file mode 100644
--- a/monetdb5/optimizer/Tests/PHexample.stable.out
+++ /dev/null
@@ -1,43 +0,0 @@
-stdout of test 'PHexample` in directory 'optimizer` itself:
-
-
-# 23:53:03 >  
-# 23:53:03 >  Mtimeout -timeout 60 Mserver 
"--config=/ufs/mk/monet5/src/mal/Tests/All.conf" --debug=10 --set 
"monet_mod_path=/ufs/mk/monet5/Linux/lib/MonetDB5:/ufs/mk/opensource/MonetDB/Linux/lib/MonetDB"
 --set "gdk_dbfarm=/ufs/mk/opensource/MonetDB/Linux/var/MonetDB5/dbfarm" --set 
"sql_logdir=/ufs/mk/opensource/MonetDB/Linux/var/MonetDB5/log" --set 
mapi_port=39352 --set sql_port=45171 --set xquery_port=52900 --set 
monet_prompt= --trace --dbname=mTests_src_optimizer  PHexample.mal </dev/null
-# 23:53:03 >  
-
-# MonetDB server v5.9.0, based on kernel v1.27.0
-# Serving database 'mTests_src_optimizer', using 4 threads
-# Compiled for x86_64-unknown-linux-gnu/64bit with 64bit OIDs dynamically 
linked
-# Copyright (c) 1993-July 2008 CWI.
-# Copyright (c) August 2008- MonetDB B.V., all rights reserved
-# Visit http://monetdb.cwi.nl/ for further information
-# Listening for connection requests on mapi:monetdb://eir.ins.cwi.nl:32348/
-function user.main():void;
-# testing repeatative reverse optimalisation 
-    r:bat[:int,:int]  := bat.new(:int,:int);
-    o := calc.oid(0@0);
-    z := algebra.markT(r,o);
-    rr := bat.reverse(z);
-    t := r;
-    io.print(t);
-    mdb.List();
-end main;
-#-----------------#
-# h    t         # name
-# int  int       # type
-#-----------------#
-function user.main():void;              #  0 main:void := user.main() {G}
-# testing repeatative reverse optimalisation 
-    r:bat[:int,:int]  := bat.new(:int,:int);#  2 r:bat[:int,:int] := 
CMDBATnew(_3:int, _3:int) {G}
-    o := calc.oid(0@0);                 #  3 o:oid := CMDvarCONVERT(_5:oid) 
-    z := algebra.markT(r,o);            #  4 z:bat[:int,:oid] := 
ALGtmark(r:bat[:int,:int], o:oid) {G}
-    rr := bat.reverse(z);               #  5 rr:bat[:oid,:int] := 
BKCreverse(z:bat[:int,:oid]) {G}
-    t := r;                             #  6 t:bat[:int,:int] := 
r:bat[:int,:int] {G}
-    io.print(t);                        #  7 _10:void := 
IOprint_val(t:bat[:int,:int]) {G}
-    mdb.List();                         #  8 _12:void := MDBlistDetail() 
-end main;                               #  9  
-
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to