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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list