Changeset: 2f7a96b55e16 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2f7a96b55e16
Modified Files:
monetdb5/mal/mal.c
monetdb5/mal/mal_function.c
monetdb5/mal/mal_module.c
monetdb5/mal/mal_namespace.c
monetdb5/mal/mal_parser.c
monetdb5/mal/mal_sabaoth.c
monetdb5/mal/mal_session.c
monetdb5/optimizer/opt_mergetable.c
Branch: default
Log Message:
random small fixes for a cleaner exit
diffs (117 lines):
diff --git a/monetdb5/mal/mal.c b/monetdb5/mal/mal.c
--- a/monetdb5/mal/mal.c
+++ b/monetdb5/mal/mal.c
@@ -343,7 +343,6 @@ void mal_exit(void){
unloadLibraries();
#if 0
/* skip this to solve random crashes, needs work */
- freeBoxes(mal_clients);
freeModuleList(mal_clients->nspace);
finishNamespace();
@@ -356,7 +355,6 @@ void mal_exit(void){
if( mal_clients->fdin){
/* missing protection against closing stdin stream */
(void) mnstr_close(mal_clients->fdin->s);
- (void) mnstr_destroy(mal_clients->fdin->s);
(void) bstream_destroy(mal_clients->fdin);
}
if( mal_clients->fdout && mal_clients->fdout != GDKstdout) {
diff --git a/monetdb5/mal/mal_function.c b/monetdb5/mal/mal_function.c
--- a/monetdb5/mal/mal_function.c
+++ b/monetdb5/mal/mal_function.c
@@ -77,8 +77,10 @@ Symbol newFunction(str mod, str nme,int
if (s == NULL)
return NULL;
p = newInstruction(NULL,kind);
- if (p == NULL)
+ if (p == NULL) {
+ freeSymbol(s);
return NULL;
+ }
setModuleId(p, mod);
setFunctionId(p, nme);
setDestVar(p, newVariable(s->def,GDKstrdup(nme),TYPE_any));
diff --git a/monetdb5/mal/mal_module.c b/monetdb5/mal/mal_module.c
--- a/monetdb5/mal/mal_module.c
+++ b/monetdb5/mal/mal_module.c
@@ -195,13 +195,14 @@ void freeModule(Module m)
int ret = 0;
assert(pci->fcn != NULL);
-printf("epiloque!!!\n");
(*pci->fcn)(&ret);
(void)ret;
}
}
freeSubScope(m);
clrModuleJump(m->name, m);
+ if (m->help)
+ GDKfree(m->help);
GDKfree(m);
}
diff --git a/monetdb5/mal/mal_namespace.c b/monetdb5/mal/mal_namespace.c
--- a/monetdb5/mal/mal_namespace.c
+++ b/monetdb5/mal/mal_namespace.c
@@ -96,8 +96,10 @@ void finishNamespace(void) {
for ( i =0; i < HASHMASK; i++){
n = hash[i];
hash[i] = ehash[i] = 0;
- for( n= hash[i]; n; n = m){
+ for( ; n; n = m){
m = n->next;
+ if (n->nme)
+ GDKfree(n->nme);
GDKfree(n);
}
}
diff --git a/monetdb5/mal/mal_parser.c b/monetdb5/mal/mal_parser.c
--- a/monetdb5/mal/mal_parser.c
+++ b/monetdb5/mal/mal_parser.c
@@ -1303,6 +1303,10 @@ fcnHeader(Client cntxt, int kind)
} else { /* default */
setVarType(curBlk, 0, TYPE_void);
}
+ if (curInstr != getInstrPtr(curBlk, 0)) {
+ freeInstruction(getInstrPtr(curBlk, 0));
+ getInstrPtr(curBlk, 0) = curInstr;
+ }
return curBlk;
}
diff --git a/monetdb5/mal/mal_sabaoth.c b/monetdb5/mal/mal_sabaoth.c
--- a/monetdb5/mal/mal_sabaoth.c
+++ b/monetdb5/mal/mal_sabaoth.c
@@ -141,7 +141,7 @@ str SABAOTHmarchConnection(int *ret, str
*/
str SABAOTHgetLocalConnection(str *ret) {
char data[8096];
- sabdb *stats;
+ sabdb *stats = NULL;
str err;
err = msab_getMyStatus(&stats);
diff --git a/monetdb5/mal/mal_session.c b/monetdb5/mal/mal_session.c
--- a/monetdb5/mal/mal_session.c
+++ b/monetdb5/mal/mal_session.c
@@ -226,7 +226,7 @@ MSscheduleClient(str command, str challe
} else {
str err;
oid uid;
- sabdb *stats;
+ sabdb *stats = NULL;
Client root = &mal_clients[0];
/* access control: verify the credentials supplied by the user,
diff --git a/monetdb5/optimizer/opt_mergetable.c
b/monetdb5/optimizer/opt_mergetable.c
--- a/monetdb5/optimizer/opt_mergetable.c
+++ b/monetdb5/optimizer/opt_mergetable.c
@@ -904,7 +904,6 @@ mat_group_aggr(MalBlkPtr mb, InstrPtr p,
/* The mat_group_{new,derive} keep an ext,attr1..attrn table.
* This is the input for the final second phase group by.
*/
-
static void
mat_pack_group(MalBlkPtr mb, mat_t *mat, int mtop, int g)
{
_______________________________________________
checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list