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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list