Changeset: 845627fcf6f2 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=845627fcf6f2
Modified Files:
gdk/gdk_value.c
monetdb5/mal/mal.h
monetdb5/mal/mal_interpreter.c
sql/backends/monet5/sql_gencode.c
sql/backends/monet5/sql_statement.c
sql/common/sql_mem.c
sql/include/sql_mem.h
sql/server/sql_mvc.c
Branch: default
Log Message:
Merge
diffs (truncated from 305 to 300 lines):
diff --git a/gdk/gdk_value.c b/gdk/gdk_value.c
--- a/gdk/gdk_value.c
+++ b/gdk/gdk_value.c
@@ -115,7 +115,7 @@ VALget(ValPtr v)
void
VALclear(ValPtr v)
{
- if (v->vtype == TYPE_str || ATOMextern(v->vtype)) {
+ if (ATOMextern(v->vtype)) {
if (v->val.pval && v->val.pval != ATOMnilptr(v->vtype))
GDKfree(v->val.pval);
}
diff --git a/monetdb5/mal/mal.h b/monetdb5/mal/mal.h
--- a/monetdb5/mal/mal.h
+++ b/monetdb5/mal/mal.h
@@ -167,7 +167,7 @@ typedef struct {
bit barrier; /* flow of control modifier
takes:
BARRIER,
LEAVE, REDO, EXIT, CATCH, RAISE */
bit typechk; /* type check status */
- bit gc; /* garbage control
flags */
+ bte gc; /* garbage control
flags */
bit polymorphic; /* complex type analysis */
bit varargs; /* variable number of arguments
*/
int jump; /* controlflow program
counter */
diff --git a/monetdb5/mal/mal_interpreter.c b/monetdb5/mal/mal_interpreter.c
--- a/monetdb5/mal/mal_interpreter.c
+++ b/monetdb5/mal/mal_interpreter.c
@@ -70,34 +70,34 @@ str malCommandCall(MalStkPtr stk, InstrP
str ret= MAL_SUCCEED;
switch (pci->argc) {
- case 0: ret = (str)(*pci->fcn)();
+ case 0: ret = (*pci->fcn)();
break;
- case 1: ret = (str)(*pci->fcn)(
+ case 1: ret = (*pci->fcn)(
getArgReference(stk, pci, 0));
break;
- case 2: ret = (str)(*pci->fcn)(
+ case 2: ret = (*pci->fcn)(
getArgReference(stk, pci, 0),
getArgReference(stk, pci, 1));
break;
- case 3: ret = (str)(*pci->fcn)(
+ case 3: ret = (*pci->fcn)(
getArgReference(stk, pci, 0),
getArgReference(stk, pci, 1),
getArgReference(stk, pci, 2));
break;
- case 4: ret = (str)(*pci->fcn)(
+ case 4: ret = (*pci->fcn)(
getArgReference(stk, pci, 0),
getArgReference(stk, pci, 1),
getArgReference(stk, pci, 2),
getArgReference(stk, pci, 3));
break;
- case 5: ret = (str)(*pci->fcn)(
+ case 5: ret = (*pci->fcn)(
getArgReference(stk, pci, 0),
getArgReference(stk, pci, 1),
getArgReference(stk, pci, 2),
getArgReference(stk, pci, 3),
getArgReference(stk, pci, 4));
break;
- case 6: ret = (str)(*pci->fcn)(
+ case 6: ret = (*pci->fcn)(
getArgReference(stk, pci, 0),
getArgReference(stk, pci, 1),
getArgReference(stk, pci, 2),
@@ -105,7 +105,7 @@ str malCommandCall(MalStkPtr stk, InstrP
getArgReference(stk, pci, 4),
getArgReference(stk, pci, 5));
break;
- case 7: ret = (str)(*pci->fcn)(
+ case 7: ret = (*pci->fcn)(
getArgReference(stk, pci, 0),
getArgReference(stk, pci, 1),
getArgReference(stk, pci, 2),
@@ -114,7 +114,7 @@ str malCommandCall(MalStkPtr stk, InstrP
getArgReference(stk, pci, 5),
getArgReference(stk, pci, 6));
break;
- case 8: ret = (str)(*pci->fcn)(
+ case 8: ret = (*pci->fcn)(
getArgReference(stk, pci, 0),
getArgReference(stk, pci, 1),
getArgReference(stk, pci, 2),
@@ -124,7 +124,7 @@ str malCommandCall(MalStkPtr stk, InstrP
getArgReference(stk, pci, 6),
getArgReference(stk, pci, 7));
break;
- case 9: ret = (str)(*pci->fcn)(
+ case 9: ret = (*pci->fcn)(
getArgReference(stk, pci, 0),
getArgReference(stk, pci, 1),
getArgReference(stk, pci, 2),
@@ -135,7 +135,7 @@ str malCommandCall(MalStkPtr stk, InstrP
getArgReference(stk, pci, 7),
getArgReference(stk, pci, 8));
break;
- case 10: ret = (str)(*pci->fcn)(
+ case 10: ret = (*pci->fcn)(
getArgReference(stk, pci, 0),
getArgReference(stk, pci, 1),
getArgReference(stk, pci, 2),
@@ -147,7 +147,7 @@ str malCommandCall(MalStkPtr stk, InstrP
getArgReference(stk, pci, 8),
getArgReference(stk, pci, 9));
break;
- case 11: ret = (str)(*pci->fcn)(
+ case 11: ret = (*pci->fcn)(
getArgReference(stk, pci, 0),
getArgReference(stk, pci, 1),
getArgReference(stk, pci, 2),
@@ -160,7 +160,7 @@ str malCommandCall(MalStkPtr stk, InstrP
getArgReference(stk, pci, 9),
getArgReference(stk, pci, 10));
break;
- case 12: ret = (str)(*pci->fcn)(
+ case 12: ret = (*pci->fcn)(
getArgReference(stk, pci, 0),
getArgReference(stk, pci, 1),
getArgReference(stk, pci, 2),
@@ -174,7 +174,7 @@ str malCommandCall(MalStkPtr stk, InstrP
getArgReference(stk, pci, 10),
getArgReference(stk, pci, 11));
break;
- case 13: ret = (str)(*pci->fcn)(
+ case 13: ret = (*pci->fcn)(
getArgReference(stk, pci, 0),
getArgReference(stk, pci, 1),
getArgReference(stk, pci, 2),
@@ -189,7 +189,7 @@ str malCommandCall(MalStkPtr stk, InstrP
getArgReference(stk, pci, 11),
getArgReference(stk, pci, 12));
break;
- case 14: ret = (str)(*pci->fcn)(
+ case 14: ret = (*pci->fcn)(
getArgReference(stk, pci, 0),
getArgReference(stk, pci, 1),
getArgReference(stk, pci, 2),
@@ -205,7 +205,7 @@ str malCommandCall(MalStkPtr stk, InstrP
getArgReference(stk, pci, 12),
getArgReference(stk, pci, 13));
break;
- case 15: ret = (str)(*pci->fcn)(
+ case 15: ret = (*pci->fcn)(
getArgReference(stk, pci, 0),
getArgReference(stk, pci, 1),
getArgReference(stk, pci, 2),
@@ -222,7 +222,7 @@ str malCommandCall(MalStkPtr stk, InstrP
getArgReference(stk, pci, 13),
getArgReference(stk, pci, 14));
break;
- case 16: ret = (str)(*pci->fcn)(
+ case 16: ret = (*pci->fcn)(
getArgReference(stk, pci, 0),
getArgReference(stk, pci, 1),
getArgReference(stk, pci, 2),
@@ -497,7 +497,7 @@ str runMALsequence(Client cntxt, MalBlkP
} else {
backup = backups;
garbage = garbages;
- memset((char*) garbages, 0, 16 * sizeof(int));
+ memset(garbages, 0, sizeof(garbages));
}
} else if ( mb->maxarg > 16 ){
backup = GDKzalloc(mb->maxarg * sizeof(ValRecord));
@@ -511,7 +511,7 @@ str runMALsequence(Client cntxt, MalBlkP
} else {
backup = backups;
garbage = garbages;
- memset((char*) garbages, 0, 16 * sizeof(int));
+ memset(garbages, 0, sizeof(garbages));
}
/* also produce event record for start of function */
@@ -570,7 +570,7 @@ str runMALsequence(Client cntxt, MalBlkP
/* The interpreter loop
* The interpreter is geared towards execution a MAL
- * procedure together with all its decendant
+ * procedure together with all its descendant
* invocations. As such, it provides the MAL abtract
* machine processor.
*
@@ -644,7 +644,7 @@ str runMALsequence(Client cntxt, MalBlkP
ret = createScriptException(mb, stkpc, MAL,
NULL,
"address of pattern %s.%s missing",
pci->modname, pci->fcnname);
} else {
- ret = (str)(*pci->fcn)(cntxt, mb, stk, pci);
+ ret = (*pci->fcn)(cntxt, mb, stk, pci);
#ifndef NDEBUG
/* check that the types of actual results match
* expected results */
@@ -914,7 +914,7 @@ str runMALsequence(Client cntxt, MalBlkP
*msg = ':';
}
if (exceptionVar == -1)
- exceptionVar = findVariableLength(mb,
(str)"ANYexception", 12);
+ exceptionVar = findVariableLength(mb,
"ANYexception", 12);
/* unknown exceptions lead to propagation */
if (exceptionVar == -1) {
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
@@ -286,6 +286,7 @@ stmt_var(backend *be, const char *varnam
{
MalBlkPtr mb = be->mb;
InstrPtr q = NULL;
+ char buf[IDLENGTH];
if (level == 1 ) { /* global */
int tt = t->type->localtype;
@@ -298,25 +299,16 @@ stmt_var(backend *be, const char *varnam
setVarType(mb, getArg(q, 0), tt);
setVarUDFtype(mb, getArg(q, 0));
} else if (!declare) {
- char *buf = GDKmalloc(MAXIDENTLEN);
-
- if (buf == NULL)
- return NULL;
- (void) snprintf(buf, MAXIDENTLEN, "A%s", varname);
+ (void) snprintf(buf, sizeof(buf), "A%s", varname);
q = newAssignment(mb);
q = pushArgumentId(mb, q, buf);
} else {
- char *buf;
int tt;
tt = t->type->localtype;
- buf = GDKmalloc(MAXIDENTLEN);
- if (buf == NULL)
- return NULL;
- (void) snprintf(buf, MAXIDENTLEN, "A%s", varname);
+ (void) snprintf(buf, sizeof(buf), "A%s", varname);
q = newInstruction(mb, NULL, NULL);
if (q == NULL) {
- GDKfree(buf);
return NULL;
}
q->argc = q->retc = 0;
@@ -348,20 +340,15 @@ stmt_vars(backend *be, const char *varna
{
MalBlkPtr mb = be->mb;
InstrPtr q = NULL;
-
- char *buf;
+ char buf[IDLENGTH];
int tt = 0;
/* declared table */
if (dump_table(mb, t) < 0)
return NULL;
- buf = GDKmalloc(MAXIDENTLEN);
- if (buf == NULL)
- return NULL;
- (void) snprintf(buf, MAXIDENTLEN, "A%s", varname);
+ (void) snprintf(buf, sizeof(buf), "A%s", varname);
q = newInstruction(mb, NULL, NULL);
if (q == NULL) {
- GDKfree(buf);
return NULL;
}
q->argc = q->retc = 0;
@@ -397,11 +384,9 @@ stmt_varnr(backend *be, int nr, sql_subt
if (be->mvc->argc && be->mvc->args[nr]->varid >= 0) {
q = pushArgument(mb, q, be->mvc->args[nr]->varid);
} else {
- char *buf = GDKmalloc(IDLENGTH);
-
- if (buf == NULL)
- return NULL;
- (void) snprintf(buf, IDLENGTH, "A%d", nr);
+ char buf[IDLENGTH];
+
+ (void) snprintf(buf, sizeof(buf), "A%d", nr);
q = pushArgumentId(mb, q, buf);
}
if (q) {
@@ -3413,7 +3398,7 @@ stmt_assign(backend *be, const char *var
if (val && val->nr < 0)
return NULL;
if (level != 1) {
- char *buf;
+ char buf[IDLENGTH];
if (!val) {
/* drop declared table */
@@ -3422,13 +3407,9 @@ stmt_assign(backend *be, const char *var
if (getDestVar(k) < 0)
return NULL;
}
- buf = GDKmalloc(MAXIDENTLEN);
- if (buf == NULL)
- return NULL;
- (void) snprintf(buf, MAXIDENTLEN, "A%s", varname);
+ (void) snprintf(buf, sizeof(buf), "A%s", varname);
q = newInstruction(mb, NULL, NULL);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list