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

Add some const qualifiers.


diffs (293 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
@@ -139,7 +139,7 @@ relational_func_create_result(mvc *sql, 
 
 
 static int
-_create_relational_function(mvc *m, char *mod, char *name, sql_rel *rel, stmt 
*call, list *rel_ops, int inline_func)
+_create_relational_function(mvc *m, const char *mod, const char *name, sql_rel 
*rel, stmt *call, list *rel_ops, int inline_func)
 {
        sql_rel *r;
        Client c = MCgetClient(m->clientid);
@@ -245,7 +245,7 @@ rel2str( mvc *sql, sql_rel *rel)
 
 /* stub and remote function */
 static int
-_create_relational_remote(mvc *m, char *mod, char *name, sql_rel *rel, stmt 
*call, prop *prp)
+_create_relational_remote(mvc *m, const char *mod, const char *name, sql_rel 
*rel, stmt *call, prop *prp)
 {
        Client c = MCgetClient(m->clientid);
        MalBlkPtr curBlk = 0;
@@ -255,7 +255,7 @@ static int
        node *n;
        int i, q, v;
        int *lret, *rret;
-       char old = name[0];
+       char *lname = GDKstrdup(name);
        sql_rel *r = rel;
 
        if (is_topn(r->op))
@@ -266,12 +266,11 @@ static int
        rret = SA_NEW_ARRAY(m->sa, int, list_length(r->exps));
 
        /* create stub */
-       name[0] = old;
        backup = c->curprg;
        c->curprg = newFunction(putName(mod), putName(name), FUNCTIONsymbol);
        if( c->curprg == NULL)
                return -1;
-       name[0] = 'l';
+       lname[0] = 'l';
        curBlk = c->curprg->def;
        curInstr = getInstrPtr(curBlk, 0);
 
@@ -336,7 +335,7 @@ static int
 
        o = newFcnCall(curBlk, remoteRef, putRef);
        o = pushArgument(curBlk, o, q);
-       o = pushStr(curBlk, o, name);
+       o = pushStr(curBlk, o, lname);
        p = pushArgument(curBlk, p, getArg(o,0));
 
        { 
@@ -375,7 +374,7 @@ static int
        p = newInstruction(curBlk, remoteRef, execRef);
        p = pushArgument(curBlk, p, q);
        p = pushStr(curBlk, p, mod);
-       p = pushStr(curBlk, p, name);
+       p = pushStr(curBlk, p, lname);
        getArg(p, 0) = -1;
 
        for (i = 0, n = r->exps->h; n; n = n->next, i++) {
@@ -432,12 +431,12 @@ static int
        SQLoptimizeFunction(c, c->curprg->def);
        if (backup)
                c->curprg = backup;
-       name[0] = old;          /* make sure stub is called */
+       GDKfree(lname);         /* make sure stub is called */
        return 0;
 }
 
 int
-monet5_create_relational_function(mvc *m, char *mod, char *name, sql_rel *rel, 
stmt *call, list *rel_ops, int inline_func)
+monet5_create_relational_function(mvc *m, const char *mod, const char *name, 
sql_rel *rel, stmt *call, list *rel_ops, int inline_func)
 {
        prop *p = NULL;
 
diff --git a/sql/backends/monet5/sql_gencode.h 
b/sql/backends/monet5/sql_gencode.h
--- a/sql/backends/monet5/sql_gencode.h
+++ b/sql/backends/monet5/sql_gencode.h
@@ -27,7 +27,7 @@ sql5_export int backend_create_func(back
 extern int backend_create_subfunc(backend *be, sql_subfunc *f, list *ops);
 extern int backend_create_subaggr(backend *be, sql_subaggr *f);
 
-sql5_export int monet5_create_relational_function(mvc *m, char *mod, char 
*name, sql_rel *rel, stmt *call, list *rel_ops, int inline_func);
+sql5_export int monet5_create_relational_function(mvc *m, const char *mod, 
const char *name, sql_rel *rel, stmt *call, list *rel_ops, int inline_func);
 
 extern void rel_print(mvc *sql, sql_rel *rel, int depth);
 extern void _rel_print(mvc *sql, sql_rel *rel);
diff --git a/sql/backends/monet5/sql_statement.c 
b/sql/backends/monet5/sql_statement.c
--- a/sql/backends/monet5/sql_statement.c
+++ b/sql/backends/monet5/sql_statement.c
@@ -25,24 +25,24 @@
  * Some utility routines to generate code
  * The equality operator in MAL is '==' instead of '='.
  */
-static str
-convertMultiplexMod(str mod, str op)
+static const char *
+convertMultiplexMod(const char *mod, const char *op)
 {
        if (strcmp(op, "=") == 0)
                return "calc";
        return mod;
 }
 
-static str
-convertMultiplexFcn(str op)
+static const char *
+convertMultiplexFcn(const char *op)
 {
        if (strcmp(op, "=") == 0)
                return "==";
        return op;
 }
 
-static str
-convertOperator(str op)
+static const char *
+convertOperator(const char *op)
 {
        if (strcmp(op, "=") == 0)
                return "==";
@@ -50,7 +50,7 @@ convertOperator(str op)
 }
 
 static InstrPtr
-multiplex2(MalBlkPtr mb, char *mod, char *name /* should be eaten */ , int o1, 
int o2, int rtype)
+multiplex2(MalBlkPtr mb, const char *mod, const char *name, int o1, int o2, 
int rtype)
 {
        InstrPtr q = NULL;
 
@@ -67,7 +67,7 @@ multiplex2(MalBlkPtr mb, char *mod, char
 }
 
 static InstrPtr
-dump_1(MalBlkPtr mb, char *mod, char *name, stmt *o1)
+dump_1(MalBlkPtr mb, const char *mod, const char *name, stmt *o1)
 {
        InstrPtr q = NULL;
 
@@ -79,7 +79,7 @@ dump_1(MalBlkPtr mb, char *mod, char *na
 }
 
 static InstrPtr
-dump_2(MalBlkPtr mb, char *mod, char *name, stmt *o1, stmt *o2)
+dump_2(MalBlkPtr mb, const char *mod, const char *name, stmt *o1, stmt *o2)
 {
        InstrPtr q = NULL;
 
@@ -1120,7 +1120,7 @@ stmt_genselect(backend *be, stmt *lops, 
 {
        MalBlkPtr mb = be->mb;
        InstrPtr q = NULL;
-       char *mod, *op;
+       const char *mod, *op;
        node *n;
        int k;
 
@@ -1220,8 +1220,8 @@ stmt_uselect(backend *be, stmt *op1, stm
 
        if (op2->nrcols >= 1) {
                bit need_not = FALSE;
-               char *mod = calcRef;
-               char *op = "=";
+               const char *mod = calcRef;
+               const char *op = "=";
                int k;
 
                switch (cmptype) {
@@ -1264,7 +1264,7 @@ stmt_uselect(backend *be, stmt *op1, stm
                        return NULL;
                k = getDestVar(q);
        } else {
-               char *cmd = selectRef;
+               const char *cmd = selectRef;
 
                if (cmptype != cmp_equal && cmptype != cmp_notequal)
                        cmd = thetaselectRef;
@@ -1413,15 +1413,15 @@ select2_join2(backend *be, stmt *op1, st
        MalBlkPtr mb = be->mb;
        InstrPtr r, p, q;
        int l;
-       char *cmd = (type == st_uselect2) ? selectRef : rangejoinRef;
+       const char *cmd = (type == st_uselect2) ? selectRef : rangejoinRef;
 
        if (op1->nr < 0 && (sub && sub->nr < 0))
                return NULL;
        l = op1->nr;
        if ((op2->nrcols > 0 || op3->nrcols) && (type == st_uselect2)) {
                int k, symmetric = cmp&CMP_SYMMETRIC;
-               char *mod = calcRef;
-               char *OP1 = "<", *OP2 = "<";
+               const char *mod = calcRef;
+               const char *OP1 = "<", *OP2 = "<";
 
                if (op2->nr < 0 || op3->nr < 0)
                        return NULL;
@@ -1670,7 +1670,7 @@ stmt_join(backend *be, stmt *op1, stmt *
        MalBlkPtr mb = be->mb;
        InstrPtr q = NULL;
        int left = (cmptype == cmp_left);
-       char *sjt = "join";
+       const char *sjt = "join";
 
        (void)anti;
 
@@ -1900,7 +1900,7 @@ stmt_genjoin(backend *be, stmt *l, stmt 
 {
        MalBlkPtr mb = be->mb;
        InstrPtr q = NULL;
-       char *mod, *fimp;
+       const char *mod, *fimp;
        node *n;
 
        (void)anti;
@@ -2457,7 +2457,7 @@ stmt_table_clear(backend *be, sql_table 
 }
 
 stmt *
-stmt_exception(backend *be, stmt *cond, char *errstr, int errcode)
+stmt_exception(backend *be, stmt *cond, const char *errstr, int errcode)
 {
        MalBlkPtr mb = be->mb;
        InstrPtr q = NULL;
@@ -2488,7 +2488,7 @@ stmt_convert(backend *be, stmt *v, sql_s
 {
        MalBlkPtr mb = be->mb;
        InstrPtr q = NULL;
-       char *convert = t->type->base.name;
+       const char *convert = t->type->base.name;
        /* convert types and make sure they are rounded up correctly */
 
        if (v->nr < 0)
@@ -2609,7 +2609,7 @@ stmt_Nop(backend *be, stmt *ops, sql_sub
 {
        MalBlkPtr mb = be->mb;
        InstrPtr q = NULL;
-       char *mod, *fimp;
+       const char *mod, *fimp;
        sql_subtype *tpe = NULL;
        int special = 0;
 
@@ -2713,24 +2713,23 @@ stmt_func(backend *be, stmt *ops, const 
 {
        MalBlkPtr mb = be->mb;
        InstrPtr q = NULL;
-       char *mod = "user";
-       char *fimp = (char*)name;
+       const char *mod = "user";
        node *n;
 
        /* dump args */
        if (ops && ops->nr < 0)
                return NULL;
-       if (monet5_create_relational_function(be->mvc, mod, fimp, rel, ops, 
NULL, 1) < 0)
+       if (monet5_create_relational_function(be->mvc, mod, name, rel, ops, 
NULL, 1) < 0)
                 return NULL;
 
        if (f_union) 
                q = newStmt(mb, batmalRef, multiplexRef);
        else
-               q = newStmt(mb, mod, fimp);
+               q = newStmt(mb, mod, name);
        q = relational_func_create_result(be->mvc, mb, q, rel);
        if (f_union) {
                q = pushStr(mb, q, mod);
-               q = pushStr(mb, q, fimp);
+               q = pushStr(mb, q, name);
        }
        if (ops) {
                for (n = ops->op4.lval->h; n; n = n->next) {
@@ -2778,7 +2777,7 @@ stmt_aggr(backend *be, stmt *op1, stmt *
 {
        MalBlkPtr mb = be->mb;
        InstrPtr q = NULL;
-       char *mod, *aggrfunc;
+       const char *mod, *aggrfunc;
        char aggrF[64];
        sql_subtype *res = op->res->h->data;
        int restype = res->type->localtype;
diff --git a/sql/backends/monet5/sql_statement.h 
b/sql/backends/monet5/sql_statement.h
--- a/sql/backends/monet5/sql_statement.h
+++ b/sql/backends/monet5/sql_statement.h
@@ -192,7 +192,7 @@ extern void stmt_set_nrcols(stmt *s);
 extern stmt *stmt_group(backend *be, stmt *op1, stmt *grp, stmt *ext, stmt 
*cnt, int done);
 
 /* raise exception incase the condition (cond) holds, continue with stmt res */
-extern stmt *stmt_exception(backend *be, stmt *cond, char *errstr, int 
errcode);
+extern stmt *stmt_exception(backend *be, stmt *cond, const char *errstr, int 
errcode);
 
 extern stmt *stmt_const(backend *be, stmt *s, stmt *val);
 
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to