Changeset: dccdd8c10bf0 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=dccdd8c10bf0
Modified Files:
clients/Tests/exports.stable.out
geom/monetdb5/geom.mal
monetdb5/extras/rapi/converters.c.h
monetdb5/extras/rapi/rapi.c
monetdb5/mal/Tests/tst201.malC
monetdb5/mal/mal_atom.c
monetdb5/mal/mal_builder.c
monetdb5/mal/mal_debugger.c
monetdb5/mal/mal_function.c
monetdb5/mal/mal_instruction.c
monetdb5/mal/mal_instruction.h
monetdb5/mal/mal_interpreter.c
monetdb5/mal/mal_listing.c
monetdb5/mal/mal_parser.c
monetdb5/mal/mal_profiler.c
monetdb5/mal/mal_resolve.c
monetdb5/mal/mal_type.c
monetdb5/mal/mal_type.h
monetdb5/modules/atoms/json.c
monetdb5/modules/kernel/batcolor.c
monetdb5/modules/mal/batcalc.c
monetdb5/modules/mal/bbp.c
monetdb5/modules/mal/inspect.c
monetdb5/modules/mal/mal_mapi.c
monetdb5/modules/mal/manifold.c
monetdb5/modules/mal/remote.c
monetdb5/optimizer/opt_coercion.c
monetdb5/optimizer/opt_emptycolumn.c
monetdb5/optimizer/opt_mergetable.c
monetdb5/optimizer/opt_mitosis.c
monetdb5/optimizer/opt_multiplex.c
monetdb5/optimizer/opt_projectionpath.c
monetdb5/optimizer/opt_pushselect.c
monetdb5/optimizer/opt_remap.c
sql/backends/monet5/UDF/pyapi/connection.c
sql/backends/monet5/UDF/pyapi/pyapi.c
sql/backends/monet5/sql.c
sql/backends/monet5/sql_execute.c
sql/backends/monet5/sql_gencode.c
sql/backends/monet5/sql_orderidx.c
sql/backends/monet5/sql_rank.c
sql/test/BugTracker-2013/Tests/between.Bug-3259.stable.out.int128
sql/test/BugTracker-2014/Tests/manifold.Bug-3556.stable.out
sql/test/BugTracker-2014/Tests/nil_2dec_lng.Bug-3592.stable.out
sql/test/BugTracker-2014/Tests/nil_2dec_lng.Bug-3592.stable.out.single
Branch: jit
Log Message:
Merge with default
diffs (truncated from 2028 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
@@ -2099,6 +2099,7 @@ str generatorRef;
MALfcn getAddress(stream *out, str filename, str modnme, str fcnname, int
silent);
str getArgDefault(MalBlkPtr mb, InstrPtr p, int idx);
ptr getArgReference(MalStkPtr stk, InstrPtr pci, int k);
+int getAtomIndex(str nme, int len, int deftpe);
lng getBatSpace(BAT *b);
int getBitConstant(MalBlkPtr mb, bit val);
int getBlockBegin(MalBlkPtr mb, int pc);
@@ -2137,7 +2138,6 @@ BAT *getTrace(const char *ev);
str getTraceRef;
malType getType(MalBlkPtr mb, str nme);
str getTypeIdentifier(malType tpe);
-int getTypeIndex(str nme, int len, int deftpe);
str getTypeName(malType tpe);
lng getUserTime(void);
str getVarName(MalBlkPtr mb, int i);
@@ -2230,7 +2230,6 @@ str logger_create_wrap(logger *L, int *d
str logger_destroy_wrap(void *ret, logger *L);
str lookupRef;
str mal2str(MalBlkPtr mb, int first, int last);
-malType malAnyBatType(malType t1, malType t2);
int malAtomSize(int size, int align, char *name);
int malBootstrap(void);
str malCommandCall(MalStkPtr stk, InstrPtr pci);
@@ -2440,7 +2439,6 @@ void resizeMalBlk(MalBlkPtr mb, int maxs
int resolveType(int dsttype, int srctype);
str resultSetRef;
str reuseRef;
-malType reverseBatType(malType v);
str row_numberRef;
str rpcRef;
str rsColumnRef;
diff --git a/geom/monetdb5/geom.mal b/geom/monetdb5/geom.mal
--- a/geom/monetdb5/geom.mal
+++ b/geom/monetdb5/geom.mal
@@ -396,11 +396,11 @@ function MakeEnvelope(xmin:dbl, ymin:dbl
end MakeEnvelope;
function MakePolygon(external:wkb) :wkb;
- x := Polygon(external, nil:bat, 0);
+ x := Polygon(external, nil:bat[:wkb], 0);
return x;
end MakePolygon;
function MakePolygon(external:wkb, srid:int) :wkb;
- x := Polygon(external, nil:bat, srid);
+ x := Polygon(external, nil:bat[:wkb], srid);
return x;
end MakePolygon;
#function MakePolygon(external:wkb, internal:bat[:wkb]) :wkb;
@@ -614,15 +614,15 @@ end GeometryType2;
command MakePointXYZM(x:bat[:dbl], y:bat[:dbl], z:bat[:dbl], m:bat[:dbl],
zmFlag:int) :bat[:wkb] address wkbMakePoint_bat
comment "creates a point using the coordinates";
function MakePoint(x:bat[:dbl], y:bat[:dbl]) :bat[:wkb];
- p := MakePointXYZM(x, y, nil:bat, nil:bat, 0);
+ p := MakePointXYZM(x, y, nil:bat[:dbl], nil:bat, 0);
return p;
end MakePoint;
function MakePoint(x:bat[:dbl], y:bat[:dbl], z:bat[:dbl]) :bat[:wkb];
- p := MakePointXYZM(x, y, z, nil:bat, 10);
+ p := MakePointXYZM(x, y, z, nil:bat[:dbl], 10);
return p;
end MakePoint;
function MakePointM(x:bat[:dbl], y:bat[:dbl], m:bat[:dbl]) :bat[:wkb];
- p := MakePointXYZM(x, y, nil:bat, m, 1);
+ p := MakePointXYZM(x, y, nil:bat[:dbl], m, 1);
return p;
end MakePointM;
function MakePoint(x:bat[:dbl], y:bat[:dbl], z:bat[:dbl], m:bat[:dbl])
:bat[:wkb];
diff --git a/monetdb5/extras/rapi/converters.c.h
b/monetdb5/extras/rapi/converters.c.h
--- a/monetdb5/extras/rapi/converters.c.h
+++ b/monetdb5/extras/rapi/converters.c.h
@@ -62,7 +62,7 @@
static SEXP bat_to_sexp(BAT* b) {
SEXP varvalue = NULL;
// TODO: deal with SQL types (DECIMAL/DATE)
- switch (ATOMstorage(getColumnType(b->ttype))) {
+ switch (ATOMstorage(getBatType(b->ttype))) {
case TYPE_void: {
size_t i = 0;
varvalue = PROTECT(NEW_LOGICAL(BATcount(b)));
diff --git a/monetdb5/extras/rapi/rapi.c b/monetdb5/extras/rapi/rapi.c
--- a/monetdb5/extras/rapi/rapi.c
+++ b/monetdb5/extras/rapi/rapi.c
@@ -410,7 +410,7 @@ str RAPIeval(Client cntxt, MalBlkPtr mb,
// collect the return values
for (i = 0; i < pci->retc; i++) {
SEXP ret_col = VECTOR_ELT(retval, i);
- int bat_type = getColumnType(getArgType(mb,pci,i));
+ int bat_type = getBatType(getArgType(mb,pci,i));
if (bat_type == TYPE_any || bat_type == TYPE_void) {
getArgType(mb,pci,i) = bat_type;
msg = createException(MAL, "rapi.eval",
diff --git a/monetdb5/mal/Tests/tst201.malC b/monetdb5/mal/Tests/tst201.malC
--- a/monetdb5/mal/Tests/tst201.malC
+++ b/monetdb5/mal/Tests/tst201.malC
@@ -63,14 +63,14 @@ exit MALException;
v45:= algebra.slice(b,v43,v44);
v46:= io.print(v45);
- v75:= algebra.likesubselect(b, nil:bat, "ox", nil:str, false, false);
+ v75:= algebra.likesubselect(b, nil:bat[:oid], "ox", nil:str, false,
false);
v76:= io.print(v75);
- v78:= algebra.likesubselect(b, nil:bat, "fo", nil:str, false, false);
+ v78:= algebra.likesubselect(b, nil:bat[:oid], "fo", nil:str, false,
false);
v79:= io.print(v78);
- v81:= algebra.likesubselect(b, nil:bat, "fox", nil:str, false, false);
+ v81:= algebra.likesubselect(b, nil:bat[:oid], "fox", nil:str, false,
false);
v82:= io.print(v81);
- v84:= algebra.likesubselect(b, nil:bat, " fox", nil:str, false, false);
+ v84:= algebra.likesubselect(b, nil:bat[:oid], " fox", nil:str, false,
false);
v85:= io.print(v84);
diff --git a/monetdb5/mal/mal_atom.c b/monetdb5/mal/mal_atom.c
--- a/monetdb5/mal/mal_atom.c
+++ b/monetdb5/mal/mal_atom.c
@@ -39,7 +39,7 @@ int malAtomProperty(MalBlkPtr mb, InstrP
(void)mb; /* fool compilers */
assert(pci != 0);
name = getFunctionId(pci);
- tpe = getTypeIndex(getModuleId(pci), (int)strlen(getModuleId(pci)),
TYPE_any);
+ tpe = getAtomIndex(getModuleId(pci), (int)strlen(getModuleId(pci)),
TYPE_any);
if (tpe < 0 || tpe >= GDKatomcnt || tpe >= MAXATOMS)
return 0;
assert(pci->fcn != NULL);
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
@@ -536,7 +536,7 @@ pushNilType(MalBlkPtr mb, InstrPtr q, ch
if (q == NULL)
return NULL;
- idx= getTypeIndex(tpe, -1, TYPE_any);
+ idx= getAtomIndex(tpe, -1, TYPE_any);
if( idx < 0 || idx >= GDKatomcnt || idx >= MAXATOMS)
return NULL;
cst.vtype=TYPE_void;
@@ -606,7 +606,7 @@ pushEmptyBAT(MalBlkPtr mb, InstrPtr q, i
getFunctionId(q) = getName("new");
q = pushArgument(mb, q, newTypeVariable(mb,TYPE_void));
- q = pushArgument(mb, q, newTypeVariable(mb,getColumnType(tpe)));
+ q = pushArgument(mb, q, newTypeVariable(mb,getBatType(tpe)));
q = pushZero(mb,q,TYPE_lng);
return q;
}
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
@@ -1192,7 +1192,7 @@ printBATelm(stream *f, bat i, BUN cnt, B
b = BATdescriptor(i);
if (b) {
- tpe = getTypeName(newColumnType(b->ttype));
+ tpe = getTypeName(newBatType(b->ttype));
mnstr_printf(f, ":%s ", tpe);
GDKfree(tpe);
printBATproperties(f, b);
@@ -1261,7 +1261,7 @@ printStackElm(stream *f, MalBlkPtr mb, V
BAT *b = BBPquickdesc(i, TRUE);
if (b) {
- nme = getTypeName(newColumnType(b->ttype));
+ nme = getTypeName(newBatType(b->ttype));
mnstr_printf(f, " :%s rows="BUNFMT, nme, BATcount(b));
} else {
nme = getTypeName(n->type);
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
@@ -294,14 +294,14 @@ static void replaceTypeVar(MalBlkPtr mb,
if( isaBatType(x)){
int tail;
int tx;
- tail = getColumnType(x);
- tx = getColumnIndex(x);
+ tail = getBatType(x);
+ tx = getTypeIndex(x);
if(v && tx == v && tail == TYPE_any){
tx= 0;
tail = t;
}
- y= newBatType(TYPE_void,tail);
- setAnyColumnIndex(y,tx);
+ y= newBatType(tail);
+ setTypeIndex(y,tx);
setArgType(mb,p,i,y);
#ifdef DEBUG_MAL_FCN
{
@@ -312,7 +312,7 @@ static void replaceTypeVar(MalBlkPtr mb,
}
#endif
} else
- if(getColumnIndex(x) == v){
+ if(getTypeIndex(x) == v){
#ifdef DEBUG_MAL_FCN
char *xnme = getTypeName(x);
mnstr_printf(GDKout," replace x= %s
polymorphic\n",xnme);
@@ -323,7 +323,7 @@ static void replaceTypeVar(MalBlkPtr mb,
#ifdef DEBUG_MAL_FCN
else {
char *xnme = getTypeName(x);
- mnstr_printf(GDKout," non x= %s
%d\n",xnme,getColumnIndex(x));
+ mnstr_printf(GDKout," non x= %s
%d\n",xnme,getTypeIndex(x));
GDKfree(xnme);
}
#endif
@@ -406,10 +406,10 @@ cloneFunction(stream *out, Module scope,
if (v == TYPE_any)
replaceTypeVar(new->def, pp, v, t);
if (isaBatType(v)) {
- if (getColumnIndex(v))
- replaceTypeVar(new->def, pp,
getColumnIndex(v), getColumnType(t));
+ if (getTypeIndex(v))
+ replaceTypeVar(new->def, pp,
getTypeIndex(v), getBatType(t));
} else
- replaceTypeVar(new->def, pp, getColumnIndex(v),
t);
+ replaceTypeVar(new->def, pp, getTypeIndex(v),
t);
}
#ifdef DEBUG_MAL_FCN
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
@@ -738,7 +738,7 @@ getType(MalBlkPtr mb, str nme)
i = findVariable(mb, nme);
if (i < 0)
- return getTypeIndex(nme, -1, TYPE_any);
+ return getAtomIndex(nme, -1, TYPE_any);
return getVarType(mb, i);
}
@@ -1573,7 +1573,7 @@ pushArgumentId(MalBlkPtr mb, InstrPtr p,
}
v = findVariable(mb, name);
if (v < 0) {
- if ((v = newVariable(mb, name, getTypeIndex(name, -1,
TYPE_any))) < 0) {
+ if ((v = newVariable(mb, name, getAtomIndex(name, -1,
TYPE_any))) < 0) {
freeInstruction(p);
return NULL;
}
@@ -1680,9 +1680,9 @@ setPolymorphic(InstrPtr p, int tpe, int
return;
if (isaBatType(tpe))
c1= TYPE_oid;
- if (getColumnIndex(tpe) > 0)
- c2 = getColumnIndex(tpe);
- else if (getColumnType(tpe) == TYPE_any)
+ if (getTypeIndex(tpe) > 0)
+ c2 = getTypeIndex(tpe);
+ else if (getBatType(tpe) == TYPE_any)
c2 = 1;
c1 = c1 > c2 ? c1 : c2;
if (c1 > 0 && c1 >= p->polymorphic)
diff --git a/monetdb5/mal/mal_instruction.h b/monetdb5/mal/mal_instruction.h
--- a/monetdb5/mal/mal_instruction.h
+++ b/monetdb5/mal/mal_instruction.h
@@ -51,7 +51,6 @@
#define isTmpVar(M,I) ((M)->var[I]->tmpindex)
#define getVarType(M,I) ((M)->var[I]->type)
#define getVarGDKType(M,I) getGDKType((M)->var[I]->type)
-#define getGDKType(T) ( T <= TYPE_str ? T : (T == TYPE_any ?
TYPE_void : findGDKtype(T)))
#define clrVarFixed(M,I) ((M)->var[I]->flags &= ~VAR_FIXTYPE)
#define setVarFixed(M,I) ((M)->var[I]->flags |= VAR_FIXTYPE)
@@ -110,6 +109,8 @@
#define getArgName(M,P,I) getVarName((M),(P)->argv[I])
#define getArgType(M,P,I) getVarType((M),(P)->argv[I])
#define getArgGDKType(M,P,I) getVarGDKType((M),(P)->argv[I])
+#define getGDKType(T) ( T <= TYPE_str ? T : (T == TYPE_any ?
TYPE_void : findGDKtype(T)))
+
mal_export InstrPtr newInstruction(MalBlkPtr mb, int kind);
mal_export InstrPtr copyInstruction(InstrPtr p);
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
@@ -639,7 +639,7 @@ str runMALsequence(Client cntxt, MalBlkP
if (isaBatType(t)) {
bat bid =
stk->stk[a].val.bval;
BAT *_b =
BATdescriptor(bid);
- t = getColumnType(t);
+ t = getBatType(t);
assert(stk->stk[a].vtype == TYPE_bat);
assert(bid == 0 ||
bid ==
bat_nil ||
@@ -664,7 +664,7 @@ str runMALsequence(Client cntxt, MalBlkP
if (isaBatType(t)) {
bat bid = stk->stk[a].val.bval;
- t = getColumnType(t);
+ t = getBatType(t);
assert(stk->stk[a].vtype ==
TYPE_bat);
assert(bid == 0 ||
bid == bat_nil ||
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list