Changeset: 4dc538f53f7a for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=4dc538f53f7a
Modified Files:
sql/backends/monet5/datacell/50_datacell.mal
sql/backends/monet5/datacell/datacell.mal
sql/backends/monet5/datacell/opt_datacell.c
sql/backends/monet5/datacell/opt_datacell.h
sql/backends/monet5/datacell/opt_datacell.mal
Branch: Oct2012
Log Message:
Load DataCell optimizer pipe when server starts
Fabian's fix for the error detected by a PlanetData partner trying to use
DataCell:
sql>set optimizer = 'datacell_pipe';
SyntaxException:parseError:
';' expected
Syntax error detected.See documentation for details
Which was caused by that the datacell_pipe was not added to the optimizer pipes
at all.
diffs (80 lines):
diff --git a/sql/backends/monet5/datacell/50_datacell.mal
b/sql/backends/monet5/datacell/50_datacell.mal
--- a/sql/backends/monet5/datacell/50_datacell.mal
+++ b/sql/backends/monet5/datacell/50_datacell.mal
@@ -16,9 +16,10 @@
# All Rights Reserved.
# This loads the MonetDB/DataCell module
+include datacell;
include opt_datacell;
-include datacell;
include basket;
include receptor;
include emitter;
+io.printf("# MonetDB/DataCell loaded\n");
diff --git a/sql/backends/monet5/datacell/datacell.mal
b/sql/backends/monet5/datacell/datacell.mal
--- a/sql/backends/monet5/datacell/datacell.mal
+++ b/sql/backends/monet5/datacell/datacell.mal
@@ -106,4 +106,3 @@ command errors()(nme:bat[:oid,:str],erro
address BSKTtableerrors
comment "Return a table the erroneous events";
-io.printf("# MonetDB/DataCell loaded\n");
diff --git a/sql/backends/monet5/datacell/opt_datacell.c
b/sql/backends/monet5/datacell/opt_datacell.c
--- a/sql/backends/monet5/datacell/opt_datacell.c
+++ b/sql/backends/monet5/datacell/opt_datacell.c
@@ -38,6 +38,20 @@
#include "opt_statistics.h"
#include "opt_dataflow.h"
+str
+OPTdatacellPrelude(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
+{
+ (void) mb;
+ (void) stk;
+ (void) pci;
+
+ addPipeDefinition(cntxt, "datacell_pipe",
+
"optimizer.inline();optimizer.remap();optimizer.datacell();optimizer.garbageCollector();optimizer.evaluate();optimizer.costModel();optimizer.coercions();optimizer.emptySet();optimizer.aliases();optimizer.mitosis();"
+
"optimizer.mergetable();optimizer.deadcode();optimizer.commonTerms();optimizer.groups();optimizer.joinPath();optimizer.reorder();optimizer.deadcode();optimizer.reduce();optimizer.dataflow();"
+
"optimizer.history();optimizer.multiplex();optimizer.accumulators();optimizer.garbageCollector();");
+ return MAL_SUCCEED;
+}
+
int
OPTdatacellImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr
pci)
{
@@ -235,10 +249,6 @@ OPTdatacellImplementation(Client cntxt,
if (actions)
{
- addPipeDefinition(cntxt, "datacell_pipe",
-
"optimizer.inline();optimizer.remap();optimizer.datacell();optimizer.garbageCollector();optimizer.evaluate();optimizer.costModel();optimizer.coercions();optimizer.emptySet();optimizer.aliases();optimizer.mitosis();"
-
"optimizer.mergetable();optimizer.deadcode();optimizer.commonTerms();optimizer.groups();optimizer.joinPath();optimizer.reorder();optimizer.deadcode();optimizer.reduce();optimizer.dataflow();"
-
"optimizer.history();optimizer.multiplex();optimizer.accumulators();optimizer.garbageCollector();");
/* extend the plan with the new optimizer pipe required */
clk = GDKusec();
optimizerCheck(cntxt, mb, "optimizer.datacell", 1, /*t =*/
(GDKusec() - clk), OPT_CHECK_ALL);
diff --git a/sql/backends/monet5/datacell/opt_datacell.h
b/sql/backends/monet5/datacell/opt_datacell.h
--- a/sql/backends/monet5/datacell/opt_datacell.h
+++ b/sql/backends/monet5/datacell/opt_datacell.h
@@ -26,5 +26,5 @@
#define OPTDEBUGdatacell if (optDebug & (1 << DEBUG_OPT_DATACELL))
opt_export str OPTdatacell(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr
p);
opt_export int OPTdatacellImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr
stk, InstrPtr pci);
-
+opt_export str OPTdatacellPrelude(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr p);
#endif
diff --git a/sql/backends/monet5/datacell/opt_datacell.mal
b/sql/backends/monet5/datacell/opt_datacell.mal
--- a/sql/backends/monet5/datacell/opt_datacell.mal
+++ b/sql/backends/monet5/datacell/opt_datacell.mal
@@ -21,3 +21,8 @@ pattern optimizer.datacell(mod:str, fcn:
address OPTdatacell
comment "Datacell expression optimizer";
+pattern optimizer.datacellprelude():void
+address OPTdatacellPrelude
+comment "Add the datacell optimizer pipe";
+
+optimizer.datacellprelude();
_______________________________________________
checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list