Changeset: e0110e589d40 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e0110e589d40 Modified Files: monetdb5/mal/mal_builder.c monetdb5/mal/mal_debugger.c monetdb5/mal/mal_instruction.c monetdb5/mal/mal_interpreter.c monetdb5/mal/mal_recycle.c monetdb5/mal/mal_runtime.c monetdb5/modules/kernel/algebra.c monetdb5/modules/kernel/bat5.c monetdb5/modules/mal/mat.c sql/backends/monet5/generator/generator.c sql/backends/monet5/sql.c Branch: Oct2014 Log Message:
Use bat_nil instead of 0 for nil:bat. diffs (279 lines): diff --git a/monetdb5/mal/mal_builder.c b/monetdb5/mal/mal_builder.c --- a/monetdb5/mal/mal_builder.c +++ b/monetdb5/mal/mal_builder.c @@ -419,7 +419,7 @@ pushNil(MalBlkPtr mb, InstrPtr q, int tp _t = defConstant(mb,tpe,&cst); } else { cst.vtype = TYPE_bat; - cst.val.bval = 0; + cst.val.bval = bat_nil; _t = defConstant(mb,TYPE_bat,&cst); mb->var[_t]->type = tpe; } diff --git a/monetdb5/mal/mal_debugger.c b/monetdb5/mal/mal_debugger.c --- a/monetdb5/mal/mal_debugger.c +++ b/monetdb5/mal/mal_debugger.c @@ -1346,7 +1346,7 @@ printStackElm(stream *f, MalBlkPtr mb, V mnstr_printf(f, "\n"); GDKfree(nmeOnStk); - if (cnt && v && (isaBatType(n->type) || v->vtype == TYPE_bat) && v->val.ival) { + if (cnt && v && (isaBatType(n->type) || v->vtype == TYPE_bat) && v->val.bval != bat_nil) { BAT *b, *bs; b = BATdescriptor(v->val.ival); diff --git a/monetdb5/mal/mal_instruction.c b/monetdb5/mal/mal_instruction.c --- a/monetdb5/mal/mal_instruction.c +++ b/monetdb5/mal/mal_instruction.c @@ -1334,7 +1334,7 @@ convertConstant(int type, ValPtr vr) if (type == TYPE_bat || isaBatType(type)) { /* BAT variables can only be set to nil */ vr->vtype = type; - vr->val.bval = 0; + vr->val.bval = bat_nil; return MAL_SUCCEED; } switch (ATOMstorage(type)) { @@ -1385,7 +1385,7 @@ convertConstant(int type, ValPtr vr) case TYPE_bat: /* BAT variables can only be set to nil */ vr->vtype = type; - vr->val.bval = 0; + vr->val.bval = bat_nil; return MAL_SUCCEED; case TYPE_ptr: /* all coercions should be avoided to protect against memory probing */ @@ -1521,7 +1521,7 @@ defConstant(MalBlkPtr mb, int type, ValP if (isaBatType(type) && cst->vtype == TYPE_void) { cst->vtype = TYPE_bat; - cst->val.bval = 0; + cst->val.bval = bat_nil; } else if (cst->vtype != type && !isaBatType(type) && !isPolyType(type)) { ValRecord vr = *cst; int otype = cst->vtype; 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 @@ -637,7 +637,7 @@ str runMALsequence(Client cntxt, MalBlkP lhs = &stk->stk[pci->argv[k]]; rhs = &stk->stk[pci->argv[i]]; VALcopy(lhs, rhs); - if (lhs->vtype == TYPE_bat && lhs->val.bval) + if (lhs->vtype == TYPE_bat && lhs->val.bval != bat_nil) BBPincref(lhs->val.bval, TRUE); } FREE_EXCEPTION(ret); @@ -767,7 +767,8 @@ str runMALsequence(Client cntxt, MalBlkP for (i = 0; i < pci->retc; i++) { if (garbage[i] == -1 && stk->stk[getArg(pci, i)].vtype == TYPE_bat && - stk->stk[getArg(pci, i)].val.bval) { + stk->stk[getArg(pci, i)].val.bval != bat_nil && + stk->stk[getArg(pci, i)].val.bval != 0) { b = BBPquickdesc(abs(stk->stk[getArg(pci, i)].val.bval), FALSE); if (b == NULL) { ret = createException(MAL, "mal.propertyCheck", RUNTIME_OBJECT_MISSING); @@ -803,15 +804,15 @@ str runMALsequence(Client cntxt, MalBlkP if (isaBatType(getArgType(mb, pci, i))) { bat bid = stk->stk[a].val.bval; - if (i < pci->retc && backup[i].val.bval) { + if (i < pci->retc && backup[i].val.bval != bat_nil) { bat bx = backup[i].val.bval; - backup[i].val.bval = 0; + backup[i].val.bval = bat_nil; BBPdecref(bx, TRUE); } if (garbage[i] >= 0) { PARDEBUG mnstr_printf(GDKstdout, "#GC pc=%d bid=%d %s done\n", stkpc, bid, getVarName(mb, garbage[i])); bid = abs(stk->stk[garbage[i]].val.bval); - stk->stk[garbage[i]].val.bval = 0; + stk->stk[garbage[i]].val.bval = bat_nil; BBPdecref(bid, TRUE); } } else if (i < pci->retc && @@ -1376,8 +1377,8 @@ void garbageElement(Client cntxt, ValPtr bat bid = abs(v->val.bval); /* printf("garbage collecting: %d lrefs=%d refs=%d\n", bid, BBP_lrefs(bid),BBP_refs(bid));*/ - v->val.bval = 0; - if (bid == 0) + v->val.bval = bat_nil; + if (bid == bat_nil) return; if (!BBP_lrefs(bid)) return; diff --git a/monetdb5/mal/mal_recycle.c b/monetdb5/mal/mal_recycle.c --- a/monetdb5/mal/mal_recycle.c +++ b/monetdb5/mal/mal_recycle.c @@ -153,7 +153,7 @@ RECYCLEgarbagecollect(MalBlkPtr mb, Inst for(j=0; j< q->argc; j++){ v= &getVarConstant(mb,getArg(q,j)); if(isaBatType(getArgType(mb, q,j)) ){ - if( v->val.bval ){ + if( v->val.bval != bat_nil ){ BBPdecref(abs(v->val.bval), TRUE); if (!BBP_lrefs(v->val.bval)){ v->vtype= TYPE_int; @@ -712,7 +712,7 @@ static int RECYCLEreuse(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p, RuntimeProfile outerprof) { int i, j, pc= -1; - bat bid= 0, nbid= 0; + bat bid= bat_nil, nbid= bat_nil; InstrPtr q; MT_lock_set(&recycleLock, "recycle"); @@ -746,7 +746,7 @@ RECYCLEreuse(Client cntxt, MalBlkPtr mb, if (subsmp){ BAT *b1, *b2; nbid = getVarConstant(recycleBlk, getArg(q,0)).val.bval; - if( bid == 0){ + if( bid == bat_nil){ bid = nbid; pc = i; } else { @@ -785,7 +785,7 @@ RECYCLEreuse(Client cntxt, MalBlkPtr mb, /* * We have a candidate table */ - if (bid ) { + if (bid != bat_nil) { int k; RuntimeProfileRecord prof; diff --git a/monetdb5/mal/mal_runtime.c b/monetdb5/mal/mal_runtime.c --- a/monetdb5/mal/mal_runtime.c +++ b/monetdb5/mal/mal_runtime.c @@ -192,7 +192,7 @@ runtimeProfileExit(Client cntxt, MalBlkP if (getProfileCounter(PROFfootprint) ){ for (i = 0; i < pci->retc; i++) - if ( isaBatType(getArgType(mb,pci,i)) && stk->stk[getArg(pci,i)].val.bval){ + if ( isaBatType(getArgType(mb,pci,i)) && stk->stk[getArg(pci,i)].val.bval != bat_nil){ /* avoid simple alias operations */ fnd= 0; for ( j= pci->retc; j< pci->argc; j++) diff --git a/monetdb5/modules/kernel/algebra.c b/monetdb5/modules/kernel/algebra.c --- a/monetdb5/modules/kernel/algebra.c +++ b/monetdb5/modules/kernel/algebra.c @@ -361,7 +361,7 @@ ALGsubselect2(bat *result, bat *bid, bat if ((b = BATdescriptor(*bid)) == NULL) { throw(MAL, "algebra.subselect", RUNTIME_OBJECT_MISSING); } - if (sid && *sid && (s = BATdescriptor(*sid)) == NULL) { + if (sid && *sid != bat_nil && (s = BATdescriptor(*sid)) == NULL) { BBPreleaseref(b->batCacheid); throw(MAL, "algebra.subselect", RUNTIME_OBJECT_MISSING); } @@ -399,7 +399,7 @@ ALGthetasubselect2(bat *result, bat *bid if ((b = BATdescriptor(*bid)) == NULL) { throw(MAL, "algebra.thetasubselect", RUNTIME_OBJECT_MISSING); } - if (sid && *sid && (s = BATdescriptor(*sid)) == NULL) { + if (sid && *sid != bat_nil && (s = BATdescriptor(*sid)) == NULL) { BBPreleaseref(b->batCacheid); throw(MAL, "algebra.thetasubselect", RUNTIME_OBJECT_MISSING); } @@ -708,9 +708,9 @@ do_join(bat *r1, bat *r2, bat *lid, bat goto fail; if ((right = BATdescriptor(*rid)) == NULL) goto fail; - if (slid && *slid && (candleft = BATdescriptor(*slid)) == NULL) + if (slid && *slid != bat_nil && (candleft = BATdescriptor(*slid)) == NULL) goto fail; - if (srid && *srid && (candright = BATdescriptor(*srid)) == NULL) + if (srid && *srid != bat_nil && (candright = BATdescriptor(*srid)) == NULL) goto fail; if (estimate == NULL || *estimate < 0 || *estimate == lng_nil || *estimate > (lng) BUN_MAX) est = BUN_NONE; @@ -991,7 +991,7 @@ ALGsubunique2(bat *result, bat *bid, bat if ((b = BATdescriptor(*bid)) == NULL) { throw(MAL, "algebra.subunique", RUNTIME_OBJECT_MISSING); } - if (sid && *sid && (s = BATdescriptor(*sid)) == NULL) { + if (sid && *sid != bat_nil && (s = BATdescriptor(*sid)) == NULL) { BBPreleaseref(b->batCacheid); throw(MAL, "algebra.subunique", RUNTIME_OBJECT_MISSING); } @@ -1591,11 +1591,11 @@ ALGsubsort33(bat *result, bat *norder, b if ((b = BATdescriptor(*bid)) == NULL) throw(MAL, "algebra.subsort", RUNTIME_OBJECT_MISSING); - if (order && *order && (o = BATdescriptor(*order)) == NULL) { + if (order && *order != bat_nil && (o = BATdescriptor(*order)) == NULL) { BBPreleaseref(b->batCacheid); throw(MAL, "algebra.subsort", RUNTIME_OBJECT_MISSING); } - if (group && *group && (g = BATdescriptor(*group)) == NULL) { + if (group && *group != bat_nil && (g = BATdescriptor(*group)) == NULL) { if (o) BBPreleaseref(o->batCacheid); BBPreleaseref(b->batCacheid); @@ -2150,7 +2150,7 @@ ALGprojecthead(Client cntxt, MalBlkPtr m b = BATmirror(b); bn = BATconst(b, v->vtype, VALptr(v), TRANSIENT); if (bn == NULL) { - *ret = 0; + *ret = bat_nil; throw(MAL, "algebra.project", MAL_MALLOC_FAIL); } bn = BATmirror(bn); @@ -2176,7 +2176,7 @@ ALGprojecttail(Client cntxt, MalBlkPtr m throw(MAL, "algebra.project", RUNTIME_OBJECT_MISSING); bn = BATconst(b, v->vtype, VALptr(v), TRANSIENT); if (bn == NULL) { - *ret = 0; + *ret = bat_nil; throw(MAL, "algebra.project", MAL_MALLOC_FAIL); } if (!(bn->batDirty&2)) diff --git a/monetdb5/modules/kernel/bat5.c b/monetdb5/modules/kernel/bat5.c --- a/monetdb5/modules/kernel/bat5.c +++ b/monetdb5/modules/kernel/bat5.c @@ -1016,7 +1016,7 @@ BKCdestroy(bit *r, int *bid) (void) r; if ((b = BATdescriptor(*bid)) == NULL) throw(MAL, "bat.destroy", RUNTIME_OBJECT_MISSING); - *bid = 0; + *bid = bat_nil; BATmode(b, TRANSIENT); BBPreleaseref(b->batCacheid); return MAL_SUCCEED; 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 @@ -109,7 +109,7 @@ MATpackInternal(Client cntxt, MalBlkPtr } } if (tt == TYPE_any){ - *ret = 0; + *ret = bat_nil; return MAL_SUCCEED; } diff --git a/sql/backends/monet5/generator/generator.c b/sql/backends/monet5/generator/generator.c --- a/sql/backends/monet5/generator/generator.c +++ b/sql/backends/monet5/generator/generator.c @@ -577,7 +577,7 @@ str VLTgenerator_thetasubselect(Client c if( pci->argc == 5){ // candidate list included cndid = *(int*) getArgReference(stk,pci, 2); - if( cndid){ + if( cndid != bat_nil){ cand = BATdescriptor(cndid); if( cand == NULL) throw(MAL,"generator.subselect",RUNTIME_OBJECT_MISSING); diff --git a/sql/backends/monet5/sql.c b/sql/backends/monet5/sql.c --- a/sql/backends/monet5/sql.c +++ b/sql/backends/monet5/sql.c @@ -2254,7 +2254,7 @@ SQLtid(Client cntxt, MalBlkPtr mb, MalSt size_t nr, inr = 0; oid sb = 0; - *res = 0; + *res = bat_nil; if ((msg = getSQLContext(cntxt, mb, &m, NULL)) != NULL) return msg; tr = m->session->tr; _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list