Changeset: a82d670bee21 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a82d670bee21
Modified Files:
        monetdb5/optimizer/opt_pipes.c
        monetdb5/optimizer/opt_prelude.c
        monetdb5/optimizer/opt_prelude.h
        sql/backends/monet5/sql_execute.c
        sql/backends/monet5/sql_gencode.c
Branch: default
Log Message:

Use keyword reference pointers
There still seems a problem with namespace. The candidate optimizer
showed that some sql.tid() calls were not recognized. This means
that tid reference was not correct, why type resolution didn't catched it.


diffs (truncated from 623 to 300 lines):

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
@@ -46,12 +46,12 @@ static struct PIPELINES {
  */
        {"minimal_pipe",
         "optimizer.inline();"
-        "optimizer.candidates();"
         "optimizer.remap();"
         "optimizer.deadcode();"
         "optimizer.multiplex();"
         "optimizer.generator();"
         "optimizer.profiler();"
+        "optimizer.candidates();"
         "optimizer.garbageCollector();",
         "stable", NULL, NULL, 1},
 /* The default pipe line contains as of Feb2010
@@ -65,7 +65,6 @@ static struct PIPELINES {
  */
        {"default_pipe",
         "optimizer.inline();"
-        "optimizer.candidates();"
         "optimizer.remap();"
         "optimizer.costModel();"
         "optimizer.coercions();"
@@ -88,6 +87,7 @@ static struct PIPELINES {
         "optimizer.multiplex();"
         "optimizer.generator();"
         "optimizer.profiler();"
+        "optimizer.candidates();"
         "optimizer.garbageCollector();",
         "stable", NULL, NULL, 1},
 /*
@@ -95,7 +95,6 @@ static struct PIPELINES {
  */
        {"volcano_pipe",
         "optimizer.inline();"
-        "optimizer.candidates();"
         "optimizer.remap();"
         "optimizer.costModel();"
         "optimizer.coercions();"
@@ -119,6 +118,7 @@ static struct PIPELINES {
         "optimizer.generator();"
         "optimizer.volcano();"
         "optimizer.profiler();"
+        "optimizer.candidates();"
         "optimizer.garbageCollector();",
         "stable", NULL, NULL, 1},
 /* The no_mitosis pipe line is (and should be kept!) identical to the
@@ -134,7 +134,6 @@ static struct PIPELINES {
        {"no_mitosis_pipe",
         "optimizer.inline();"
         "optimizer.remap();"
-        "optimizer.candidates();"
         "optimizer.costModel();"
         "optimizer.coercions();"
         "optimizer.evaluate();"
@@ -155,6 +154,7 @@ static struct PIPELINES {
         "optimizer.multiplex();"
         "optimizer.profiler();"
         "optimizer.generator();"
+        "optimizer.candidates();"
         "optimizer.garbageCollector();",
         "stable", NULL, NULL, 1},
 /* The sequential pipe line is (and should be kept!) identical to the
@@ -169,7 +169,6 @@ static struct PIPELINES {
  */
        {"sequential_pipe",
         "optimizer.inline();"
-        "optimizer.candidates();"
         "optimizer.remap();"
         "optimizer.costModel();"
         "optimizer.coercions();"
@@ -190,6 +189,7 @@ static struct PIPELINES {
         "optimizer.multiplex();"
         "optimizer.generator();"
         "optimizer.profiler();"
+        "optimizer.candidates();"
         "optimizer.garbageCollector();",
         "stable", NULL, NULL, 1},
 /* Experimental pipelines stressing various components under
diff --git a/monetdb5/optimizer/opt_prelude.c b/monetdb5/optimizer/opt_prelude.c
--- a/monetdb5/optimizer/opt_prelude.c
+++ b/monetdb5/optimizer/opt_prelude.c
@@ -20,6 +20,7 @@ str affectedRowsRef;
 str aggrRef;
 str alarmRef;
 str algebraRef;
+str andRef;
 str batalgebraRef;
 str appendidxRef;
 str appendRef;
@@ -35,6 +36,8 @@ str batmtimeRef;
 str batmmathRef;
 str batxmlRef;
 str batsqlRef;
+str betweenRef;
+str betweensymmetricRef;
 str blockRef;
 str bbpRef;
 str tidRef;
@@ -82,9 +85,11 @@ str evalRef;
 str execRef;
 str expandRef;
 str exportOperationRef;
+str findRef;
 str finishRef;
 str firstnRef;
 str getRef;
+str getTraceRef;
 str generatorRef;
 str grabRef;
 str groupRef;
@@ -178,6 +183,7 @@ str pyapimapRef;
 str subeval_aggrRef;
 str rankRef;
 str dense_rankRef;
+str raiseRef;
 str reconnectRef;
 str recycleRef;
 str refineRef;
@@ -196,6 +202,7 @@ str selectNotNilRef;
 str seriesRef;
 str semaRef;
 str setAccessRef;
+str setVariableRef;
 str setWriteModeRef;
 str sinkRef;
 str sliceRef;
@@ -213,8 +220,10 @@ str strRef;
 str sumRef;
 str subsumRef;
 str subavgRef;
+str subselectRef;
 str subsortRef;
 str takeRef;
+str transRef;
 str not_uniqueRef;
 str sampleRef;
 str subuniqueRef;
@@ -223,7 +232,6 @@ str unlockRef;
 str unpackRef;
 str unpinRef;
 str updateRef;
-str subselectRef;
 str timestampRef;
 str thetasubselectRef;
 str likesubselectRef;
@@ -242,6 +250,7 @@ void optimizerInit(void)
        aggrRef = putName("aggr");
        alarmRef = putName("alarm");
        algebraRef = putName("algebra");
+       andRef = putName("and");
        batalgebraRef = putName("batalgebra");
        appendidxRef = putName("append_idxbat");
        appendRef = putName("append");
@@ -256,6 +265,8 @@ void optimizerInit(void)
        batmmathRef = putName("batmmath");
        batxmlRef = putName("batxml");
        batsqlRef = putName("batsql");
+       betweenRef = putName("between");
+       betweensymmetricRef = putName("betweensymmetric");
        blockRef = putName("block");
        bbpRef = putName("bbp");
        tidRef = putName("tid");
@@ -303,9 +314,11 @@ void optimizerInit(void)
        execRef = putName("exec");
        expandRef = putName("expand");
        exportOperationRef = putName("exportOperation");
+       findRef = putName("find");
        finishRef = putName("finish");
        firstnRef = putName("firstn");
        getRef = putName("get");
+       getTraceRef = putName("getTrace");
        generatorRef = putName("generator");
        grabRef = putName("grab");
        groupRef = putName("group");
@@ -396,6 +409,7 @@ void optimizerInit(void)
        subeval_aggrRef = putName("subeval_aggr");
        rankRef = putName("rank");
        dense_rankRef = putName("dense_rank");
+       raiseRef = putName("raise");
        reconnectRef = putName("reconnect");
        recycleRef = putName("recycle");
        refineRef = putName("refine");
@@ -414,6 +428,7 @@ void optimizerInit(void)
        seriesRef = putName("series");
        semaRef = putName("sema");
        setAccessRef = putName("setAccess");
+       setVariableRef = putName("setVariable");
        setWriteModeRef= putName("setWriteMode");
        sinkRef = putName("sink");
        sliceRef = putName("slice");
@@ -434,6 +449,7 @@ void optimizerInit(void)
        subavgRef = putName("subavg");
        subsortRef = putName("subsort");
        takeRef= putName("take");
+       transRef= putName("trans");
        timestampRef = putName("timestamp");
        not_uniqueRef= putName("not_unique");
        sampleRef= putName("sample");
diff --git a/monetdb5/optimizer/opt_prelude.h b/monetdb5/optimizer/opt_prelude.h
--- a/monetdb5/optimizer/opt_prelude.h
+++ b/monetdb5/optimizer/opt_prelude.h
@@ -18,6 +18,7 @@ opt_export  str affectedRowsRef;
 opt_export  str aggrRef;
 opt_export  str alarmRef;
 opt_export  str algebraRef;
+opt_export     str andRef;
 opt_export  str batalgebraRef;
 opt_export  str appendidxRef;
 opt_export  str appendRef;
@@ -33,6 +34,8 @@ opt_export  str batmtimeRef;
 opt_export  str batmmathRef;
 opt_export  str batxmlRef;
 opt_export  str batsqlRef;
+opt_export  str betweenRef;
+opt_export  str betweensymmetricRef;
 opt_export  str blockRef;
 opt_export  str bbpRef;
 opt_export  str tidRef;
@@ -80,9 +83,11 @@ opt_export  str evalRef;
 opt_export  str execRef;
 opt_export  str expandRef;
 opt_export  str exportOperationRef;
+opt_export  str findRef;
 opt_export  str finishRef;
 opt_export  str firstnRef;
 opt_export  str getRef;
+opt_export  str getTraceRef;
 opt_export  str generatorRef;
 opt_export  str grabRef;
 opt_export  str groupRef;
@@ -171,6 +176,7 @@ opt_export  str pyapimapRef;
 opt_export  str subeval_aggrRef;
 opt_export  str rankRef;
 opt_export  str dense_rankRef;
+opt_export     str raiseRef;
 opt_export  str reconnectRef;
 opt_export  str recycleRef;
 opt_export  str refineRef;
@@ -189,6 +195,7 @@ opt_export  str selectNotNilRef;
 opt_export  str seriesRef;
 opt_export  str semaRef;
 opt_export  str setAccessRef;
+opt_export  str setVariableRef;
 opt_export  str setWriteModeRef;
 opt_export  str sinkRef;
 opt_export  str sliceRef;
@@ -210,6 +217,7 @@ opt_export  str subavgRef;
 opt_export  str subsortRef;
 opt_export  str timestampRef;
 opt_export  str takeRef;
+opt_export  str transRef;
 opt_export  str not_uniqueRef;
 opt_export  str sampleRef;
 opt_export  str subuniqueRef;
diff --git a/sql/backends/monet5/sql_execute.c 
b/sql/backends/monet5/sql_execute.c
--- a/sql/backends/monet5/sql_execute.c
+++ b/sql/backends/monet5/sql_execute.c
@@ -84,7 +84,7 @@ SQLsetTrace(Client cntxt)
                        break;
        mb->stop=k;
 
-       q= newStmt(mb, "profiler", "stoptrace");
+       q= newStmt(mb, profilerRef, stoptraceRef);
        q= pushStr(mb,q,"sql_traces");
        /* cook a new resultSet instruction */
        resultset = newInstruction(mb,ASSIGNsymbol);
diff --git a/sql/backends/monet5/sql_gencode.c 
b/sql/backends/monet5/sql_gencode.c
--- a/sql/backends/monet5/sql_gencode.c
+++ b/sql/backends/monet5/sql_gencode.c
@@ -286,7 +286,7 @@ dump_table(MalBlkPtr mb, sql_table *t)
 {
        int nr;
        node *n;
-       InstrPtr k = newStmt(mb, sqlRef, "declaredTable");
+       InstrPtr k = newStmt(mb, sqlRef, putName("declaredTable"));
 
        nr = getDestVar(k);
        k = pushStr(mb, k, t->base.name);
@@ -301,7 +301,7 @@ dump_table(MalBlkPtr mb, sql_table *t)
 
                if (tn == NULL)
                        return -1;
-               q = newStmt(mb, sqlRef, "dtColumn");
+               q = newStmt(mb, sqlRef, putName("dtColumn"));
                q = pushArgument(mb, q, nr);
                q = pushStr(mb, q, tn);
                q = pushStr(mb, q, cn);
@@ -318,7 +318,7 @@ dump_table(MalBlkPtr mb, sql_table *t)
 static int
 drop_table(MalBlkPtr mb, str n)
 {
-       InstrPtr k = newStmt(mb, sqlRef, "dropDeclaredTable");
+       InstrPtr k = newStmt(mb, sqlRef, putName("dropDeclaredTable"));
        int nr = getDestVar(k);
 
        k = pushStr(mb, k, n);
@@ -586,7 +586,7 @@ static int
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to