Changeset: d30b76e41179 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d30b76e41179
Modified Files:
        sql/backends/monet5/sql_gencode.c
Branch: default
Log Message:

Look for returning values of functions


diffs (67 lines):

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
@@ -194,7 +194,7 @@ static int
                        int varid = 0;
                        char buf[64];
 
-                       if (e->type == e_atom) 
+                       if (e->type == e_atom)
                                snprintf(buf,64,"A%d",e->flag);
                        else
                                snprintf(buf,64,"A%s",e->name);
@@ -220,11 +220,12 @@ static int
                curBlk->inlineProp = 1;
        /* optimize the code */
        SQLaddQueryToCache(c);
-       if( curBlk->inlineProp == 0)
-               SQLoptimizeQuery(c, c->curprg->def);
-       else{
+       if (curBlk->inlineProp == 0 && !c->curprg->def->errors) {
+               c->curprg->def->errors = SQLoptimizeQuery(c, c->curprg->def);
+       } else if(curBlk->inlineProp != 0) {
                chkProgram(c->usermodule, c->curprg->def);
-               SQLoptimizeFunction(c,c->curprg->def);
+               if(!c->curprg->def->errors)
+                       c->curprg->def->errors = 
SQLoptimizeFunction(c,c->curprg->def);
        }
        if (backup)
                c->curprg = backup;
@@ -491,7 +492,8 @@ static int
 
        SQLaddQueryToCache(c);
        //chkProgram(c->usermodule, c->curprg->def);
-       SQLoptimizeFunction(c, c->curprg->def);
+       if(!c->curprg->def->errors)
+               c->curprg->def->errors = SQLoptimizeFunction(c, c->curprg->def);
        if (backup)
                c->curprg = backup;
        GDKfree(lname);         /* make sure stub is called */
@@ -700,8 +702,8 @@ backend_dumpproc(backend *be, Client c, 
        if (cq){
                SQLaddQueryToCache(c);
                // optimize this code the 'old' way
-               if ( m->emode == m_prepare || 
!qc_isaquerytemplate(getFunctionId(getInstrPtr(c->curprg->def,0))) )
-                       SQLoptimizeFunction(c,c->curprg->def);
+               if ( (m->emode == m_prepare || 
!qc_isaquerytemplate(getFunctionId(getInstrPtr(c->curprg->def,0)))) && 
!c->curprg->def->errors )
+                       c->curprg->def->errors = 
SQLoptimizeFunction(c,c->curprg->def);
        }
 
        // restore the context for the wrapper code
@@ -1023,11 +1025,12 @@ backend_create_sql_func(backend *be, sql
                curBlk->unsafeProp = 1;
        /* optimize the code */
        SQLaddQueryToCache(c);
-       if( curBlk->inlineProp == 0)
-               SQLoptimizeFunction(c, c->curprg->def);
-       else{
+       if( curBlk->inlineProp == 0 && !c->curprg->def->errors) {
+               c->curprg->def->errors = SQLoptimizeFunction(c, c->curprg->def);
+       } else if(curBlk->inlineProp != 0){
                chkProgram(c->usermodule, c->curprg->def);
-               SQLoptimizeFunction(c,c->curprg->def);
+               if(!c->curprg->def->errors)
+                       c->curprg->def->errors = 
SQLoptimizeFunction(c,c->curprg->def);
        }
        if (backup)
                c->curprg = backup;
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to