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

Modified Files:
        embeddedclient.mx sql.mx sql_gencode.mx sql_optimizer.mx 
Log Message:
when a 'relational query fails' we no correctly reset the mvc status

embedded client now uses the renamed mapi module

gencode now handles decimal hacks also for functions with n arguments
sql_optimizer: for now disabled JoinPath optimizer


Index: embeddedclient.mx
===================================================================
RCS file: /cvsroot/monetdb/sql/src/backends/monet5/embeddedclient.mx,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- embeddedclient.mx   11 Jan 2008 10:51:57 -0000      1.17
+++ embeddedclient.mx   27 Jan 2008 15:09:24 -0000      1.18
@@ -149,7 +149,7 @@
                "include sql;\n"
                "in  := \"" PTRFMT "\":streams;\n"
                "out := \"" PTRFMT "\":streams;\n"
-               "mserver.malclient(in, out);\n", PTRFMTCAST in, PTRFMTCAST out);
+               "mapi.malclient(in, out);\n", PTRFMTCAST in, PTRFMTCAST out);
        callString(mal_clients, buf, 0);
        return NULL;
 }

Index: sql_gencode.mx
===================================================================
RCS file: /cvsroot/monetdb/sql/src/backends/monet5/sql_gencode.mx,v
retrieving revision 1.266
retrieving revision 1.267
diff -u -d -r1.266 -r1.267
--- sql_gencode.mx      22 Jan 2008 23:15:35 -0000      1.266
+++ sql_gencode.mx      27 Jan 2008 15:09:24 -0000      1.267
@@ -285,7 +285,7 @@
        n = n->next;
        
        /*create the mserver reconnect*/
-       q = newStmt1(mb,mserverRef,reconnectRef);
+       q = newStmt1(mb,mapiRef,reconnectRef);
        setVarUDFtype(mb,getArg(q,0));
        setVarType(mb, getArg(q, 0), TYPE_int);
        
@@ -318,7 +318,7 @@
 
        
        /*create the mserver disconnect*/
-       q = newStmt1(mb,mserverRef,disconnectRef);
+       q = newStmt1(mb,mapiRef,disconnectRef);
        setVarUDFtype(mb,getArg(q,0));
        setVarType(mb, getArg(q, 0), TYPE_int);
        
@@ -1238,6 +1238,8 @@
                case st_Nop:{
                        char *mod = sql_func_mod(s->op4.funcval->func);
                        char *fimp = sql_func_imp(s->op4.funcval->func);
+                       sql_subtype *tpe = NULL;
+                       int special = 0;
                        node *n;
                        /* dump operands */
                        _dumpstmt(sql, mb, s->op1.stval);
@@ -1262,10 +1264,21 @@
                                fimp = convertOperator(fimp);
                                q = newStmt(mb, mod, fimp);
                        }
+                       if (list_length(s->op1.stval->op1.lval))
+                               tpe = 
tail_type(s->op1.stval->op1.lval->h->data);
+                       if (strcmp(fimp, "round")==0 && tpe &&
+                           tpe->type->eclass == EC_DEC) 
+                               special = 1;
+
                        for (n = s->op1.stval->op1.lval->h; n; n = n->next) {
                                stmt *op = n->data;
 
                                q = pushArgument(mb, q, op->nr);
+                               if (special) {
+                                       q = pushInt(mb, q, tpe->digits);
+                                       q = pushInt(mb, q, tpe->scale);
+                               }
+                               special = 0;
                        }
                        s->nr = getDestVar(q);
                } break;

Index: sql_optimizer.mx
===================================================================
RCS file: /cvsroot/monetdb/sql/src/backends/monet5/sql_optimizer.mx,v
retrieving revision 1.171
retrieving revision 1.172
diff -u -d -r1.171 -r1.172
--- sql_optimizer.mx    11 Jan 2008 10:51:58 -0000      1.171
+++ sql_optimizer.mx    27 Jan 2008 15:09:24 -0000      1.172
@@ -87,7 +87,7 @@
      20 calc.==                           2 mmath.sqrt
      17 calc.+                            2 mmath.rand
      17 batcalc.+                         2 mmath.atan
-      2 mmath.acos                        1 mserver.disconnect
+      2 mmath.acos                        1 mapi.disconnect
       2 calc.not                          1 mmath.floor
       2 calc.date                         1 group.refine_reverse
       2 batcalc.not                       1 calc.month_interval
@@ -452,7 +452,7 @@
        "commonTerms,"
        "accumulators,"
        "mergetable," 
-       "joinPath,"
+       /* "joinPath," */
        "deadcode,"
        "reduce,"
        "garbageCollector," 

Index: sql.mx
===================================================================
RCS file: /cvsroot/monetdb/sql/src/backends/monet5/sql.mx,v
retrieving revision 1.247
retrieving revision 1.248
diff -u -d -r1.247 -r1.248
--- sql.mx      15 Jan 2008 10:42:52 -0000      1.247
+++ sql.mx      27 Jan 2008 15:09:24 -0000      1.248
@@ -904,6 +904,7 @@
        stmt *s = NULL;
 
        if (mvc_debug_on(c,16384)) {
+               int status = c->session->status;
                sql_rel *r;
                printf("# semantic relational algebra\n");
                r = rel_semantic(c, sym);
@@ -912,7 +913,7 @@
                                printf("# %s\n", c->errstr);
                                return NULL;
                        } else {
-                               c->session->status = 0;
+                               c->session->status = status;
                                printf("# falling back to direct mode \n");
                                s = output_semantic(c, NULL, sym);
                        }


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Monetdb-sql-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-sql-checkins

Reply via email to