Changeset: dda0c199dfb3 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=dda0c199dfb3
Modified Files:
        monetdb5/optimizer/Makefile.ag
        monetdb5/optimizer/opt_pipes.c
        monetdb5/optimizer/opt_support.c
        monetdb5/optimizer/opt_support.h
        monetdb5/optimizer/opt_wrapper.c
        monetdb5/optimizer/optimizer.mal
Branch: geo
Log Message:

geom optimizer: adding one extra line to the plan when instruction is related 
to geom module


diffs (91 lines):

diff --git a/monetdb5/optimizer/Makefile.ag b/monetdb5/optimizer/Makefile.ag
--- a/monetdb5/optimizer/Makefile.ag
+++ b/monetdb5/optimizer/Makefile.ag
@@ -69,6 +69,7 @@ lib_optimizer = {
                opt_support.c opt_support.h \
                opt_centipede.c opt_centipede.h \
                opt_pushselect.c opt_pushselect.h \
+               opt_geospatial.c opt_geospatial.h \
                opt_wrapper.c
 }
 
diff --git a/monetdb5/optimizer/opt_pipes.c b/monetdb5/optimizer/opt_pipes.c
--- a/monetdb5/optimizer/opt_pipes.c
+++ b/monetdb5/optimizer/opt_pipes.c
@@ -251,6 +251,18 @@ static struct PIPELINES {
         "optimizer.garbageCollector();",
         "experimental", NULL, NULL, 1},
 #endif
+
+       /*geom pipe*/
+       {"geom_pipe",
+        "optimizer.inline();"
+        "optimizer.remap();"
+        "optimizer.deadcode();"
+        "optimizer.multiplex();"
+        "optimizer.generator();"
+        "optimizer.geospatial();"
+        "optimizer.garbageCollector();",
+        "experimental", NULL, NULL, 1},
+
 /* sentinel */
        {NULL, NULL, NULL, NULL, NULL, 0}
 };
diff --git a/monetdb5/optimizer/opt_support.c b/monetdb5/optimizer/opt_support.c
--- a/monetdb5/optimizer/opt_support.c
+++ b/monetdb5/optimizer/opt_support.c
@@ -185,6 +185,7 @@ struct OPTcatalog {
 {"strengthreduction",  0,      0,      0,      DEBUG_OPT_STRENGTHREDUCTION},
 {"centipede",  0,      0,      0,      DEBUG_OPT_CENTIPEDE},
 {"pushselect", 0,      0,      0,      DEBUG_OPT_PUSHSELECT},
+{"geospatial", 0,      0,      0,      DEBUG_OPT_GEOSPATIAL},
 { 0,   0,      0,      0,      0}
 };
 
diff --git a/monetdb5/optimizer/opt_support.h b/monetdb5/optimizer/opt_support.h
--- a/monetdb5/optimizer/opt_support.h
+++ b/monetdb5/optimizer/opt_support.h
@@ -92,6 +92,7 @@
 #define DEBUG_OPT_CENTIPEDE                    50
 #define DEBUG_OPT_PUSHSELECT           51
 #define DEBUG_OPT_JSON                         54
+#define DEBUG_OPT_GEOSPATIAL                   55
 
 #define DEBUG_OPT(X) ((lng) 1 << (X))
 opt_export lng optDebug;
diff --git a/monetdb5/optimizer/opt_wrapper.c b/monetdb5/optimizer/opt_wrapper.c
--- a/monetdb5/optimizer/opt_wrapper.c
+++ b/monetdb5/optimizer/opt_wrapper.c
@@ -73,6 +73,8 @@
 #include "opt_reorder.h"
 #include "opt_statistics.h"
 #include "opt_strengthReduction.h"
+#include "opt_geospatial.h"
+
 
 struct{
        str nme;
@@ -113,6 +115,7 @@ struct{
        {"remoteQueries", &OPTremoteQueriesImplementation},
        {"reorder", &OPTreorderImplementation},
        {"strengthReduction", &OPTstrengthReductionImplementation},
+       {"geospatial", &OPTgeospatialImplementation},
        {0,0}
 };
 opt_export str OPTwrapper(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
p);
diff --git a/monetdb5/optimizer/optimizer.mal b/monetdb5/optimizer/optimizer.mal
--- a/monetdb5/optimizer/optimizer.mal
+++ b/monetdb5/optimizer/optimizer.mal
@@ -457,4 +457,12 @@ pattern optimizer.pushselect(mod:str, fc
 address OPTwrapper
 comment "Push selects down projections";
 
+#opt_geospatial.mal
+
+pattern optimizer.geospatial():str
+address OPTwrapper;
+pattern optimizer.geospatial(mod:str, frcn:str):str
+address OPTwrapper
+comment "filter results before calling geo functions";
+
 optimizer.prelude();
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to