Update of /cvsroot/monetdb/sql/src/backends/monet5
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv32615

Modified Files:
        sql_gencode.mx sql_optimizer.mx 
Log Message:
Generate a dummy return for all functions.


U sql_gencode.mx
Index: sql_gencode.mx
===================================================================
RCS file: /cvsroot/monetdb/sql/src/backends/monet5/sql_gencode.mx,v
retrieving revision 1.284
retrieving revision 1.285
diff -u -d -r1.284 -r1.285
--- sql_gencode.mx      9 Aug 2008 16:52:52 -0000       1.284
+++ sql_gencode.mx      17 Aug 2008 11:11:22 -0000      1.285
@@ -44,7 +44,6 @@
 #include <sql_mvc.h>
 #include <mal_function.h>
 
-sql5_export int backend_dumpstmt(backend *be, MalBlkPtr mb, stmt *s);
 sql5_export Symbol backend_dumpproc(backend *be, Client c, cq *q, stmt *s);
 sql5_export void backend_callinline(backend *be, Client c, stmt *s);
 sql5_export void backend_call(backend *be, Client c, cq *q);
@@ -1879,17 +1878,23 @@
        return s->nr;
 }
 
-int backend_dumpstmt(backend *be, MalBlkPtr mb, stmt *s)
+static void backend_dumpstmt(backend *be, MalBlkPtr mb, stmt *s)
 {
        int nr = _dumpstmt(be, mb, s);
        mvc *c = be->mvc;
+       InstrPtr q;
 
        if (c->cache && (c->type == Q_SCHEMA || c->type == Q_TRANS)) {
-               InstrPtr q = newStmt2(mb, sqlRef, exportOperationRef);
+               q = newStmt2(mb, sqlRef, exportOperationRef);
                q = pushStr(mb, q, ""); /* warning */
-               return getDestVar(q);
        }
-       return nr;
+       /* generate a dummy return assignment for functions */
+       if ( (nr= getArgType(mb,getInstrPtr(mb,0),0)) != TYPE_void){
+               q = newAssignment(mb);
+               getArg(q,0) = getArg(getInstrPtr(mb,0),0);
+               q->barrier = RETURNsymbol;
+       }
+       pushEndInstruction(mb);
 }
 
 void
@@ -1927,7 +1932,6 @@
                }
        }
        backend_dumpstmt(be, curBlk, s);
-       pushEndInstruction(curBlk);
        c->curprg->def = curBlk;
 }
 
@@ -1991,7 +1995,6 @@
        }
 
        backend_dumpstmt(be, curBlk, s);
-       pushEndInstruction(curBlk);
 
        if (cq){
                be->mvc->Toptimize = GDKusec();
@@ -2116,7 +2119,6 @@
        }
        backend_dumpstmt(be, curBlk, s);
        stmt_destroy(s);
-       pushEndInstruction(curBlk);
        addQueryToCache(c);
        if (backup) 
                c->curprg = backup;

U sql_optimizer.mx
Index: sql_optimizer.mx
===================================================================
RCS file: /cvsroot/monetdb/sql/src/backends/monet5/sql_optimizer.mx,v
retrieving revision 1.191
retrieving revision 1.192
diff -u -d -r1.191 -r1.192
--- sql_optimizer.mx    12 Aug 2008 09:56:40 -0000      1.191
+++ sql_optimizer.mx    17 Aug 2008 11:11:25 -0000      1.192
@@ -455,7 +455,7 @@
        "emptySet,"
        /* "joinselect," */
        /* "accessmode," not needed after patches to BKCappend */
-       /*"mitosis,"*/
+       /* "mitosis,"*/
        "aliases,"
        /* "crack," */
        /*"joinPath,"*/ 
@@ -466,7 +466,7 @@
        "deadcode,"
        /*"recycle,"*/
        "reduce,"
-       /* "garbageCollector," */
+       "garbageCollector,"
        "dataflow,"
        "multiplex";
 static str minimalPlan=


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Monetdb-sql-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-sql-checkins

Reply via email to