Changeset: 6247a8eaa9da for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=6247a8eaa9da
Modified Files:
        monetdb5/optimizer/opt_wrapper.c
Branch: default
Log Message:

Postpone name generation


diffs (63 lines):

diff --git a/monetdb5/optimizer/opt_wrapper.c b/monetdb5/optimizer/opt_wrapper.c
--- a/monetdb5/optimizer/opt_wrapper.c
+++ b/monetdb5/optimizer/opt_wrapper.c
@@ -104,7 +104,6 @@ str OPTwrapper (Client cntxt, MalBlkPtr 
        const char *fcnnme = "(NONE)";
        Symbol s= NULL;
        int i;
-       char optimizer[256];
        str msg = MAL_SUCCEED;
        lng clk;
 
@@ -116,7 +115,7 @@ str OPTwrapper (Client cntxt, MalBlkPtr 
 
        if( mb->errors)
                throw(MAL, "opt_wrapper", SQLSTATE(42000) "MAL block contains 
errors");
-       snprintf(optimizer,256,"%s", fcnnme = getFunctionId(p));
+       fcnnme = getFunctionId(p);
 
        if( p && p->argc > 1 ){
                if( getArgType(mb,p,1) != TYPE_str ||
@@ -124,7 +123,7 @@ str OPTwrapper (Client cntxt, MalBlkPtr 
                        !isVarConstant(mb,getArg(p,1)) ||
                        !isVarConstant(mb,getArg(p,2))
                        )
-                       throw(MAL, optimizer, SQLSTATE(42000) ILLARG_CONSTANTS);
+                       throw(MAL, getFunctionId(p), SQLSTATE(42000) 
ILLARG_CONSTANTS);
 
                if( stk != 0){
                        modnme= *getArgReference_str(stk,p,1);
@@ -137,28 +136,28 @@ str OPTwrapper (Client cntxt, MalBlkPtr 
                s= findSymbol(cntxt->usermodule, 
putName(modnme),putName(fcnnme));
 
                if( s == NULL)
-                       throw(MAL, optimizer, SQLSTATE(HY002) 
RUNTIME_OBJECT_UNDEFINED ":%s.%s", modnme, fcnnme);
+                       throw(MAL, getFunctionId(p), SQLSTATE(HY002) 
RUNTIME_OBJECT_UNDEFINED "%s.%s", modnme, fcnnme);
                mb = s->def;
                stk= 0;
        } else if( p )
                removeInstruction(mb, p);
 
        for (i=0; codes[i].nme; i++)
-               if (strcmp(codes[i].nme, optimizer) == 0){
+               if (strcmp(codes[i].nme, getFunctionId(p)) == 0){
                        clk = GDKusec();
                        msg = (str)(*(codes[i].fcn))(cntxt, mb, stk, 0);
                        codes[i].timing += GDKusec() - clk;
                        codes[i].calls++;
                        if (msg) {
-                               throw(MAL, optimizer, SQLSTATE(42000) "Error in 
optimizer %s: %s", optimizer, msg);
+                               throw(MAL, getFunctionId(p), SQLSTATE(42000) 
"Error in optimizer %s: %s", getFunctionId(p), msg);
                        }
                        break;
                }
        if (codes[i].nme == 0)
-               throw(MAL, optimizer, SQLSTATE(HY002) "Optimizer implementation 
'%s' missing", fcnnme);
+               throw(MAL, fcnnme,  SQLSTATE(HY002) "Optimizer implementation 
'%s' missing", fcnnme);
 
        if ( mb->errors)
-               throw(MAL, optimizer, SQLSTATE(42000) PROGRAM_GENERAL ":%s.%s 
%s", modnme, fcnnme, mb->errors);
+               throw(MAL, fcnnme, SQLSTATE(42000) PROGRAM_GENERAL "%s.%s %s", 
modnme, fcnnme, mb->errors);
        return MAL_SUCCEED;
 }
 
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to