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