Changeset: 19e79f396e34 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=19e79f396e34 Modified Files: clients/Tests/exports.stable.out monetdb5/mal/Tests/tst007.mal monetdb5/mal/Tests/tst007.stable.out monetdb5/mal/mal_function.c monetdb5/mal/mal_instruction.c monetdb5/mal/mal_profiler.c monetdb5/mal/mal_resolve.c monetdb5/mal/mal_type.h monetdb5/modules/atoms/batxml.c monetdb5/modules/atoms/json.c monetdb5/modules/atoms/mtime.c monetdb5/modules/kernel/algebra.c monetdb5/modules/kernel/bat5.c monetdb5/modules/kernel/bat5.h monetdb5/modules/kernel/batcolor.c monetdb5/modules/kernel/batstr.c monetdb5/modules/mal/batExtensions.c monetdb5/modules/mal/batcalc.c monetdb5/modules/mal/calc.c monetdb5/modules/mal/inspect.c monetdb5/modules/mal/mal_mapi.c monetdb5/modules/mal/manifold.c monetdb5/modules/mal/mat.c monetdb5/modules/mal/pcre.c monetdb5/modules/mal/remote.c monetdb5/optimizer/opt_multiplex.c Branch: default Log Message:
Remove getHeadType, getHeadIndex and corresponding htype use cases diffs (truncated from 917 to 300 lines): diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out --- a/clients/Tests/exports.stable.out +++ b/clients/Tests/exports.stable.out @@ -815,7 +815,6 @@ str BKCgetAccess(str *res, const bat *bi str BKCgetBBPname(str *ret, const bat *bid); str BKCgetCapacity(lng *res, const bat *bid); str BKCgetColumnType(str *res, const bat *bid); -str BKCgetHeadType(str *res, const bat *bid); str BKCgetKey(bit *ret, const bat *bid); str BKCgetRole(str *res, const bat *bid); str BKCgetSequenceBase(oid *r, const bat *bid); @@ -831,7 +830,7 @@ str BKCisSynced(bit *ret, const bat *bid str BKCisTransient(bit *res, const bat *bid); str BKCmergecand(bat *ret, const bat *aid, const bat *bid); str BKCmirror(bat *ret, const bat *bid); -str BKCnewBAT(bat *res, const int *ht, const int *tt, const BUN *cap, int role); +str BKCnewBAT(bat *res, const int *tt, const BUN *cap, int role); str BKCpersists(void *r, const bat *bid, const bit *flg); str BKCreuseBAT(bat *ret, const bat *bid, const bat *did); str BKCreuseBATmap(bat *ret, const bat *bid, const bat *did); diff --git a/monetdb5/mal/Tests/tst007.mal b/monetdb5/mal/Tests/tst007.mal --- a/monetdb5/mal/Tests/tst007.mal +++ b/monetdb5/mal/Tests/tst007.mal @@ -35,14 +35,14 @@ exit N; # de if-then en if-then-else constructies -barrier FT:= booleanexpr; +barrier FT:= false; # thenpart exit FT; -barrier FTE:= booleanexpr; +barrier FTE:= false; # thenpart exit FTE; -barrier FS:= batcalc.not(FTE); +barrier FS:= calc.not(FTE); #elsepart exit FS; diff --git a/monetdb5/mal/Tests/tst007.stable.out b/monetdb5/mal/Tests/tst007.stable.out --- a/monetdb5/mal/Tests/tst007.stable.out +++ b/monetdb5/mal/Tests/tst007.stable.out @@ -18,7 +18,6 @@ stdout of test 'tst007` in directory 'mo # MonetDB/JAQL module loaded # MonetDB/SQL module loaded !TypeException:user.foo[16]:'entry_or_exittest' may not be used before being initialized -!TypeException:user.foo[29]:'booleanexpr' may not be used before being initialized function user.foo():void; b := bat.new(:oid,:int); barrier H := true; @@ -48,13 +47,13 @@ barrier N := calc.<(i,10); redo N; exit N; # de if-then en if-then-else constructies -barrier FT := booleanexpr; +barrier FT := false; # thenpart exit FT; -barrier FTE := booleanexpr; +barrier FTE := false; # thenpart exit FTE; -barrier FS := batcalc.not(FTE); +barrier FS := calc.not(FTE); #elsepart exit FS; end user.foo; 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 @@ -289,21 +289,16 @@ static void replaceTypeVar(MalBlkPtr mb, if( isPolymorphic(x= getArgType(mb,p,i))) { if( isaBatType(x)){ int head,tail; - int hx,tx; - head = getHeadType(x); + int tx; + head = TYPE_oid; tail = getColumnType(x); - hx = getHeadIndex(x); tx = getColumnIndex(x); - if(v && hx == v && head == TYPE_any){ - hx =0; - head =t; - } + head = TYPE_oid; if(v && tx == v && tail == TYPE_any){ tx= 0; tail = t; } y= newBatType(head,tail); - setAnyHeadIndex(y,hx); setAnyColumnIndex(y,tx); setArgType(mb,p,i,y); #ifdef DEBUG_MAL_FCN @@ -409,8 +404,6 @@ cloneFunction(stream *out, Module scope, if (v == TYPE_any) replaceTypeVar(new->def, pp, v, t); if (isaBatType(v)) { - if (getHeadIndex(v)) - replaceTypeVar(new->def, pp, getHeadIndex(v), getHeadType(t)); if (getColumnIndex(v)) replaceTypeVar(new->def, pp, getColumnIndex(v), getColumnType(t)); } else 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 @@ -1753,12 +1753,8 @@ setPolymorphic(InstrPtr p, int tpe, int if (force == FALSE && tpe == TYPE_any) return; - if (isaBatType(tpe)) { - if (getHeadIndex(tpe) > 0) - c1 = getHeadIndex(tpe); - else if (getHeadType(tpe) == TYPE_any) - c1 = 1; - } + if (isaBatType(tpe)) + c1= TYPE_oid; if (getColumnIndex(tpe) > 0) c2 = getColumnIndex(tpe); else if (getColumnType(tpe) == TYPE_any) diff --git a/monetdb5/mal/mal_profiler.c b/monetdb5/mal/mal_profiler.c --- a/monetdb5/mal/mal_profiler.c +++ b/monetdb5/mal/mal_profiler.c @@ -451,19 +451,19 @@ TRACEtable(BAT **r) if (initTrace()) return ; MT_lock_set(&mal_profileLock, "TRACEtable"); - r[0] = BATcopy(TRACE_id_event, TRACE_id_event->htype, TRACE_id_event->ttype, 0, TRANSIENT); - r[1] = BATcopy(TRACE_id_time, TRACE_id_time->htype, TRACE_id_time->ttype, 0, TRANSIENT); - r[2] = BATcopy(TRACE_id_pc, TRACE_id_pc->htype, TRACE_id_pc->ttype, 0, TRANSIENT); - r[3] = BATcopy(TRACE_id_thread, TRACE_id_thread->htype, TRACE_id_thread->ttype, 0, TRANSIENT); - r[4] = BATcopy(TRACE_id_ticks, TRACE_id_ticks->htype, TRACE_id_ticks->ttype, 0, TRANSIENT); - r[5] = BATcopy(TRACE_id_rssMB, TRACE_id_rssMB->htype, TRACE_id_rssMB->ttype, 0, TRANSIENT); - r[6] = BATcopy(TRACE_id_tmpspace, TRACE_id_tmpspace->htype, TRACE_id_tmpspace->ttype, 0, TRANSIENT); - r[7] = BATcopy(TRACE_id_inblock, TRACE_id_inblock->htype, TRACE_id_inblock->ttype, 0, TRANSIENT); - r[8] = BATcopy(TRACE_id_oublock, TRACE_id_oublock->htype, TRACE_id_oublock->ttype, 0, TRANSIENT); - r[9] = BATcopy(TRACE_id_minflt, TRACE_id_minflt->htype, TRACE_id_minflt->ttype, 0, TRANSIENT); - r[10] = BATcopy(TRACE_id_majflt, TRACE_id_majflt->htype, TRACE_id_majflt->ttype, 0, TRANSIENT); - r[11] = BATcopy(TRACE_id_nvcsw, TRACE_id_nvcsw->htype, TRACE_id_nvcsw->ttype, 0, TRANSIENT); - r[12] = BATcopy(TRACE_id_stmt, TRACE_id_stmt->htype, TRACE_id_stmt->ttype, 0, TRANSIENT); + r[0] = BATcopy(TRACE_id_event, TYPE_void, TRACE_id_event->ttype, 0, TRANSIENT); + r[1] = BATcopy(TRACE_id_time, TYPE_void, TRACE_id_time->ttype, 0, TRANSIENT); + r[2] = BATcopy(TRACE_id_pc, TYPE_void, TRACE_id_pc->ttype, 0, TRANSIENT); + r[3] = BATcopy(TRACE_id_thread, TYPE_void, TRACE_id_thread->ttype, 0, TRANSIENT); + r[4] = BATcopy(TRACE_id_ticks, TYPE_void, TRACE_id_ticks->ttype, 0, TRANSIENT); + r[5] = BATcopy(TRACE_id_rssMB, TYPE_void, TRACE_id_rssMB->ttype, 0, TRANSIENT); + r[6] = BATcopy(TRACE_id_tmpspace, TYPE_void, TRACE_id_tmpspace->ttype, 0, TRANSIENT); + r[7] = BATcopy(TRACE_id_inblock, TYPE_void, TRACE_id_inblock->ttype, 0, TRANSIENT); + r[8] = BATcopy(TRACE_id_oublock, TYPE_void, TRACE_id_oublock->ttype, 0, TRANSIENT); + r[9] = BATcopy(TRACE_id_minflt, TYPE_void, TRACE_id_minflt->ttype, 0, TRANSIENT); + r[10] = BATcopy(TRACE_id_majflt, TYPE_void, TRACE_id_majflt->ttype, 0, TRANSIENT); + r[11] = BATcopy(TRACE_id_nvcsw, TYPE_void, TRACE_id_nvcsw->ttype, 0, TRANSIENT); + r[12] = BATcopy(TRACE_id_stmt, TYPE_void, TRACE_id_stmt->ttype, 0, TRANSIENT); MT_lock_unset(&mal_profileLock, "TRACEtable"); } @@ -600,31 +600,31 @@ getTrace(const char *nme) if (TRACE_init == 0) return NULL; if (strcmp(nme, "event") == 0) - return BATcopy(TRACE_id_event, TRACE_id_event->htype, TRACE_id_event->ttype, 0, TRANSIENT); + return BATcopy(TRACE_id_event, TYPE_void, TRACE_id_event->ttype, 0, TRANSIENT); if (strcmp(nme, "time") == 0) - return BATcopy(TRACE_id_time, TRACE_id_time->htype, TRACE_id_time->ttype, 0, TRANSIENT); + return BATcopy(TRACE_id_time, TYPE_void, TRACE_id_time->ttype, 0, TRANSIENT); if (strcmp(nme, "pc") == 0) - return BATcopy(TRACE_id_pc, TRACE_id_pc->htype, TRACE_id_pc->ttype, 0, TRANSIENT); + return BATcopy(TRACE_id_pc, TYPE_void, TRACE_id_pc->ttype, 0, TRANSIENT); if (strcmp(nme, "thread") == 0) - return BATcopy(TRACE_id_thread, TRACE_id_thread->htype, TRACE_id_thread->ttype, 0, TRANSIENT); + return BATcopy(TRACE_id_thread, TYPE_void, TRACE_id_thread->ttype, 0, TRANSIENT); if (strcmp(nme, "ticks") == 0) - return BATcopy(TRACE_id_ticks, TRACE_id_ticks->htype, TRACE_id_ticks->ttype, 0, TRANSIENT); + return BATcopy(TRACE_id_ticks, TYPE_void, TRACE_id_ticks->ttype, 0, TRANSIENT); if (strcmp(nme, "rssMB") == 0) - return BATcopy(TRACE_id_rssMB, TRACE_id_rssMB->htype, TRACE_id_rssMB->ttype, 0, TRANSIENT); + return BATcopy(TRACE_id_rssMB, TYPE_void, TRACE_id_rssMB->ttype, 0, TRANSIENT); if (strcmp(nme, "tmpspace") == 0) - return BATcopy(TRACE_id_tmpspace, TRACE_id_tmpspace->htype, TRACE_id_tmpspace->ttype, 0, TRANSIENT); + return BATcopy(TRACE_id_tmpspace, TYPE_void, TRACE_id_tmpspace->ttype, 0, TRANSIENT); if (strcmp(nme, "reads") == 0) - return BATcopy(TRACE_id_inblock, TRACE_id_inblock->htype, TRACE_id_inblock->ttype, 0, TRANSIENT); + return BATcopy(TRACE_id_inblock, TYPE_void, TRACE_id_inblock->ttype, 0, TRANSIENT); if (strcmp(nme, "writes") == 0) - return BATcopy(TRACE_id_oublock, TRACE_id_oublock->htype, TRACE_id_oublock->ttype, 0, TRANSIENT); + return BATcopy(TRACE_id_oublock, TYPE_void, TRACE_id_oublock->ttype, 0, TRANSIENT); if (strcmp(nme, "minflt") == 0) - return BATcopy(TRACE_id_minflt, TRACE_id_minflt->htype, TRACE_id_minflt->ttype, 0, TRANSIENT); + return BATcopy(TRACE_id_minflt, TYPE_void, TRACE_id_minflt->ttype, 0, TRANSIENT); if (strcmp(nme, "majflt") == 0) - return BATcopy(TRACE_id_majflt, TRACE_id_majflt->htype, TRACE_id_majflt->ttype, 0, TRANSIENT); + return BATcopy(TRACE_id_majflt, TYPE_void, TRACE_id_majflt->ttype, 0, TRANSIENT); if (strcmp(nme, "nvcsw") == 0) - return BATcopy(TRACE_id_nvcsw, TRACE_id_nvcsw->htype, TRACE_id_nvcsw->ttype, 0, TRANSIENT); + return BATcopy(TRACE_id_nvcsw, TYPE_void, TRACE_id_nvcsw->ttype, 0, TRANSIENT); if (strcmp(nme, "stmt") == 0) - return BATcopy(TRACE_id_stmt, TRACE_id_stmt->htype, TRACE_id_stmt->ttype, 0, TRANSIENT); + return BATcopy(TRACE_id_stmt, TYPE_void, TRACE_id_stmt->ttype, 0, TRANSIENT); return NULL; } diff --git a/monetdb5/mal/mal_resolve.c b/monetdb5/mal/mal_resolve.c --- a/monetdb5/mal/mal_resolve.c +++ b/monetdb5/mal/mal_resolve.c @@ -505,22 +505,7 @@ resolveType(int dsttype, int srctype) if (isaBatType(dsttype) && srctype == TYPE_bat) return dsttype; if (isaBatType(dsttype) && isaBatType(srctype)) { - int h1, t1, h2, t2, h3, t3; - h1 = getHeadType(dsttype); - h2 = getHeadType(srctype); - if (h1 == h2) - h3 = h1; - else if (h1 == TYPE_any) - h3 = h2; - else if (h2 == TYPE_any) - h3 = h1; - else { -#ifdef DEBUG_MAL_RESOLVE - if (tracefcn) - mnstr_printf(GDKout, "Head can not be resolved \n"); -#endif - return -1; - } + int t1, t2, t3; t1 = getColumnType(dsttype); t2 = getColumnType(srctype); if (t1 == t2) @@ -538,26 +523,19 @@ resolveType(int dsttype, int srctype) } #ifdef DEBUG_MAL_RESOLVE if (tracefcn) { - int i1 = getHeadIndex(dsttype); int i2 = getColumnIndex(dsttype); - char *tpe1, *tpe2, *tpe3, *tpe4, *tpe5, *tpe6; - tpe1 = getTypeName(h1); + char *tpe1, *tpe2, *tpe3; tpe2 = getTypeName(t1); - tpe3 = getTypeName(h2); tpe4 = getTypeName(t2); - tpe5 = getTypeName(h3); tpe6 = getTypeName(t3); - mnstr_printf(GDKout, "resolved to bat[:%s,:%s] bat[:%s,:%s]->bat[%s:%d,%s:%d]\n", - tpe1, tpe2, tpe3, tpe4, tpe5, i1, tpe6, i2); + mnstr_printf(GDKout, "resolved to bat[:oid,:%s] bat[:oid,:%s]->bat[:oid,%s:%d]\n", + tpe2, tpe4, tpe6, i2); GDKfree(tpe1); GDKfree(tpe2); GDKfree(tpe3); - GDKfree(tpe4); - GDKfree(tpe5); - GDKfree(tpe6); } #endif - return newBatType(h3, t3); + return newBatType(TYPE_oid, t3); } #ifdef DEBUG_MAL_RESOLVE if (tracefcn) @@ -856,19 +834,16 @@ typeKind(MalBlkPtr mb, InstrPtr p, int i static malType getPolyType(malType t, int *polytype) { - int hi, ti; - int head, tail; + int ti; + int tail; ti = getColumnIndex(t); if (!isaBatType(t) && ti > 0) return polytype[ti]; tail = ti == 0 ? getColumnType(t) : polytype[ti]; - if (isaBatType(t)) { - hi = getHeadIndex(t); - head = hi == 0 ? getHeadType(t) : polytype[hi]; - return newBatType(head, tail); - } + if (isaBatType(t)) + return newBatType(TYPE_oid, tail); return tail; } @@ -919,17 +894,6 @@ updateTypeMap(int formal, int actual, in if (isaBatType(formal)) { if (!isaBatType(actual) && actual != TYPE_bat) return -1; - if ((h = getHeadIndex(formal))) { - t = actual == TYPE_bat ? actual : getHeadType(actual); - if (t != polytype[h]) { - if (polytype[h] == TYPE_any) - polytype[h] = t; - else { - ret = -1; - goto updLabel; - } _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list