Changeset: 50d606d207fa for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=50d606d207fa
Modified Files:
gdk/gdk_logger.c
monetdb5/modules/mal/mat.c
monetdb5/scheduler/run_octopus.c
sql/backends/monet5/sql_gencode.c
Branch: Jan2014
Log Message:
merger
diffs (95 lines):
diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c
--- a/gdk/gdk_logger.c
+++ b/gdk/gdk_logger.c
@@ -2104,8 +2104,9 @@ bm_commit(logger *lg)
log_bid bid = *(log_bid *) Tloc(b, p);
BAT *lb = BATdescriptor(bid);
+ assert(lb);
BATmode(lb, PERSISTENT);
-assert(lb->batRestricted > BAT_WRITE);
+ assert(lb->batRestricted > BAT_WRITE);
logbat_destroy(lb);
if (lg->debug & 1)
diff --git a/monetdb5/modules/mal/mat.c b/monetdb5/modules/mal/mat.c
--- a/monetdb5/modules/mal/mat.c
+++ b/monetdb5/modules/mal/mat.c
@@ -266,9 +266,13 @@ MATpackSliceInternal(MalBlkPtr mb, MalSt
*/
if (lst <= cap + c) {
b = BATdescriptor(bid);
- bn = BATslice(b, fst - cap, lst - cap);
- BBPunfix(b->batCacheid);
- BBPkeepref(*ret = bn->batCacheid);
+ if( b){
+ bn = BATslice(b, fst - cap, lst - cap);
+ BBPunfix(b->batCacheid);
+ BBPkeepref(*ret = bn->batCacheid);
+ } else
+ throw(MAL, "mat.packSlice",
RUNTIME_OBJECT_MISSING);
+
return MAL_SUCCEED;
}
if (fst < cap + c) {
diff --git a/monetdb5/scheduler/run_octopus.c b/monetdb5/scheduler/run_octopus.c
--- a/monetdb5/scheduler/run_octopus.c
+++ b/monetdb5/scheduler/run_octopus.c
@@ -407,6 +407,8 @@ OCTOPUSdiscoverRegister(Client cntxt, Ma
worker to be skipped. */
start= getPC(mb,pci);
+ if( start< 0)
+ throw(MAL,"run.octopus","Illegal instruction");
for (j = start + 1; j<mb->stop ; j++){
p= getInstrPtr(mb,j);
if ( p->barrier == EXITsymbol )
@@ -503,6 +505,8 @@ OCTOPUSbidding(Client cntxt, MalBlkPtr m
*res = 1; /* execute the block */
start = getPC(mb,pci);
+ if( start < 0)
+ throw(MAL,"octopus.bidding","Illegal instruction pointer");
for (j = start + 1; j< mb->stop ; j++){
p = getInstrPtr(mb,j);
if ( p->barrier == EXITsymbol )
@@ -671,6 +675,8 @@ OCTOPUSrun(Client cntxt, MalBlkPtr mb, M
*res = 1; /* execute the block */
start = getPC(mb,pci);
+ if( start < 0)
+ throw(MAL,"octopus.run","Illegal instruction pointer");
for (j = start + 1; j< mb->stop ; j++){
p = getInstrPtr(mb,j);
if ( p->barrier == EXITsymbol )
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
@@ -146,10 +146,11 @@ dump_header(mvc *sql, MalBlkPtr mb, stmt
char *cn = column_name(sql->sa, c);
char *ntn = sql_escape_ident(tn);
char *nsn = sql_escape_ident(sn);
- size_t fqtnl = strlen(ntn) + 1 + strlen(nsn) + 1;
- char *fqtn = NEW_ARRAY(char, fqtnl);
+ size_t fqtnl;
+ char *fqtn;
- if (ntn && nsn && fqtn) {
+ if (ntn && nsn && (fqtnl = strlen(ntn) + 1 + strlen(nsn) + 1) ){
+ fqtn = NEW_ARRAY(char, fqtnl);
snprintf(fqtn, fqtnl, "%s.%s", nsn, ntn);
q = newStmt1(mb, sqlRef, "rsColumn");
@@ -160,11 +161,11 @@ dump_header(mvc *sql, MalBlkPtr mb, stmt
q = pushInt(mb, q, t->digits);
q = pushInt(mb, q, t->scale);
q = pushArgument(mb, q, c->nr);
+ _DELETE(fqtn);
} else
q = NULL;
_DELETE(ntn);
_DELETE(nsn);
- _DELETE(fqtn);
if (q == NULL)
return -1;
}
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list