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