MonetDB: Jul2017 - Initialize sys.argv, because tensorflow requi...

2017-06-15 Thread Mark Raasveldt
Changeset: 44e0bc7dab59 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=44e0bc7dab59
Modified Files:
sql/backends/monet5/UDF/pyapi/pyapi.c
Branch: Jul2017
Log Message:

Initialize sys.argv, because tensorflow requires this.


diffs (20 lines):

diff --git a/sql/backends/monet5/UDF/pyapi/pyapi.c 
b/sql/backends/monet5/UDF/pyapi/pyapi.c
--- a/sql/backends/monet5/UDF/pyapi/pyapi.c
+++ b/sql/backends/monet5/UDF/pyapi/pyapi.c
@@ -1425,9 +1425,16 @@ PYFUNCNAME(PyAPIprelude)(void *ret) {
MT_lock_init(&queryLock, "query_lock");
MT_lock_set(&pyapiLock);
if (!pyapiInitialized) {
+#ifdef IS_PY3K
+   wchar_t* program = Py_DecodeLocale("mserver5", NULL);
+   wchar_t* argv[] = { program };
+#else
+   char* argv[] = {"mserver5"};
+#endif
str msg = MAL_SUCCEED;
PyObject *tmp;
Py_Initialize();
+   PySys_SetArgvEx(1, argv, 0);
_import_array();
msg = _connection_init();
if (msg != MAL_SUCCEED) {
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


MonetDB: jitudf - More compilation fixes.

2017-06-15 Thread Mark Raasveldt
Changeset: c2c56a8d02c5 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c2c56a8d02c5
Modified Files:
sql/backends/monet5/UDF/capi/capi.c
Branch: jitudf
Log Message:

More compilation fixes.


diffs (118 lines):

diff --git a/sql/backends/monet5/UDF/capi/capi.c 
b/sql/backends/monet5/UDF/capi/capi.c
--- a/sql/backends/monet5/UDF/capi/capi.c
+++ b/sql/backends/monet5/UDF/capi/capi.c
@@ -424,6 +424,9 @@ static str CUDFeval(Client cntxt, MalBlk
size_t input_size = 0;
bit non_grouped_aggregate = 0;
 
+   size_t index = 0;
+   int bat_type = 0;
+
(void)cntxt;
 
actual_mprotected_regions[tid] = ®ions;
@@ -726,7 +729,7 @@ static str CUDFeval(Client cntxt, MalBlk
// of the function
// first convert the input
for (i = pci->retc + ARG_OFFSET; i < (size_t)pci->argc; i++) {
-   int bat_type = !isaBatType(getArgType(mb, pci, i))
+   bat_type = !isaBatType(getArgType(mb, pci, i))
   ? getArgType(mb, 
pci, i)
   : 
getBatType(getArgType(mb, pci, i));
const char *tpe = GetTypeName(bat_type);
@@ -741,7 +744,7 @@ static str CUDFeval(Client cntxt, MalBlk
}
if (non_grouped_aggregate) {
// manually add "aggr_group" for non-grouped aggregates
-   int bat_type = TYPE_oid;
+   bat_type = TYPE_oid;
const char *tpe = GetTypeName(bat_type);
assert(tpe);
if (tpe) {
@@ -753,7 +756,7 @@ static str CUDFeval(Client cntxt, MalBlk
}
// output types
for (i = 0; i < (size_t)pci->retc; i++) {
-   int bat_type = getBatType(getArgType(mb, pci, i));
+   bat_type = getBatType(getArgType(mb, pci, i));
const char *tpe = GetTypeName(bat_type);
assert(tpe);
if (tpe) {
@@ -882,8 +885,8 @@ static str CUDFeval(Client cntxt, MalBlk
// create the inputs
argnode = sqlfun ? sqlfun->ops->h : NULL;
for (i = pci->retc + ARG_OFFSET; i < (size_t)pci->argc; i++) {
-   size_t index = i - (pci->retc + ARG_OFFSET);
-   int bat_type = getArgType(mb, pci, i);
+   index = i - (pci->retc + ARG_OFFSET);
+   bat_type = getArgType(mb, pci, i);
if (!isaBatType(bat_type)) {
// scalar input
// create a temporary BAT
@@ -1085,7 +1088,7 @@ static str CUDFeval(Client cntxt, MalBlk
}
 
if (non_grouped_aggregate) {
-   size_t index = input_count;
+   index = input_count;
GENERATE_BAT_INPUT_BASE(oid);
bat_data->count = input_size;
bat_data->data =
@@ -1096,8 +1099,8 @@ static str CUDFeval(Client cntxt, MalBlk
argnode = sqlfun ? sqlfun->res->h : NULL;
// output types
for (i = 0; i < output_count; i++) {
-   size_t index = i;
-   int bat_type = getBatType(getArgType(mb, pci, i));
+   index = i;
+   bat_type = getBatType(getArgType(mb, pci, i));
if (bat_type == TYPE_bit || bat_type == TYPE_bte) {
GENERATE_BAT_OUTPUT(bte);
} else if (bat_type == TYPE_sht) {
@@ -1151,18 +1154,16 @@ static str CUDFeval(Client cntxt, MalBlk
msg = createException(MAL, "cudf.eval", "Attempting to 
write to "

"the input or triggered a "

"segfault/bus error");
-   goto wrapup;
} else if (ret == 2) {
msg = createException(MAL, "cudf.eval",
  "Malloc 
failure in internal function!");
-   goto wrapup;
} else {
// we jumped here
msg = createException(MAL, "cudf.eval", "We longjumped 
here "

"because of an error, but "

"we don't know which!");
-   goto wrapup;
}
+   goto wrapup;
}
 
// set up the signal handler for catching segfaults
@@ -1223,7 +1224,7 @@ static str CUDFeval(Client cntxt, MalBlk
 
// create the output bats from the returned results
 

MonetDB: jitudf - Compilation fixes.

2017-06-15 Thread Mark Raasveldt
Changeset: 659abbe2473d for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=659abbe2473d
Modified Files:
sql/backends/monet5/UDF/capi/Tests/All
sql/backends/monet5/UDF/capi/capi.c
Branch: jitudf
Log Message:

Compilation fixes.


diffs (93 lines):

diff --git a/sql/backends/monet5/UDF/capi/Tests/All 
b/sql/backends/monet5/UDF/capi/Tests/All
--- a/sql/backends/monet5/UDF/capi/Tests/All
+++ b/sql/backends/monet5/UDF/capi/Tests/All
@@ -1,14 +1,14 @@
 
-capi00
-capi01
-capi02
-capi03
-capi04
-capi05
-capi06
-capi07
-capi08
-capi09
-capi10
-capi11
-capi12
+NOT_WIN32?capi00
+NOT_WIN32?capi01
+NOT_WIN32?capi02
+NOT_WIN32?capi03
+NOT_WIN32?capi04
+NOT_WIN32?capi05
+NOT_WIN32?capi06
+NOT_WIN32?capi07
+NOT_WIN32?capi08
+NOT_WIN32?capi09
+NOT_WIN32?capi10
+NOT_WIN32?capi11
+NOT_WIN32?capi12
diff --git a/sql/backends/monet5/UDF/capi/capi.c 
b/sql/backends/monet5/UDF/capi/capi.c
--- a/sql/backends/monet5/UDF/capi/capi.c
+++ b/sql/backends/monet5/UDF/capi/capi.c
@@ -16,7 +16,6 @@
 #include 
 #include 
 #include 
-#include 
 #include 
 #include 
 #include 
@@ -348,7 +347,6 @@ const char *cpp_flag = "capi_cpp";
 
 static size_t GetTypeCount(int type, void *struct_ptr);
 static void *GetTypeData(int type, void *struct_ptr);
-static const char *GetTypeDefinition(int type);
 static const char *GetTypeName(int type);
 
 static void data_from_date(date d, cudf_data_date *ptr);
@@ -1521,42 +1519,6 @@ wrapup:
return msg;
 }
 
-static const char *GetTypeDefinition(int type)
-{
-   const char *tpe = NULL;
-   if (type == TYPE_bit) {
-   tpe = "signed char";
-   } else if (type == TYPE_bte) {
-   tpe = "signed char";
-   } else if (type == TYPE_sht) {
-   tpe = "short";
-   } else if (type == TYPE_int) {
-   tpe = "int";
-   } else if (type == TYPE_oid) {
-   tpe = "size_t";
-   } else if (type == TYPE_lng) {
-   tpe = "lng";
-   } else if (type == TYPE_flt) {
-   tpe = "float";
-   } else if (type == TYPE_dbl) {
-   tpe = "double";
-   } else if (type == TYPE_str) {
-   tpe = "char*";
-   } else if (type == TYPE_date) {
-   tpe = "cudf_data_date";
-   } else if (type == TYPE_daytime) {
-   tpe = "cudf_data_time";
-   } else if (type == TYPE_timestamp) {
-   tpe = "cudf_data_timestamp";
-   } else if (type == TYPE_blob || type == TYPE_sqlblob) {
-   tpe = "cudf_data_blob";
-   } else {
-   // unsupported type: string
-   tpe = "char*";
-   }
-   return tpe;
-}
-
 static const char *GetTypeName(int type)
 {
const char *tpe = NULL;
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


MonetDB: Jul2017 - Don't assume that bat.append modifies its fir...

2017-06-15 Thread Sjoerd Mullender
Changeset: 621f76f4c576 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=621f76f4c576
Modified Files:
sql/backends/monet5/sql_execute.c
Branch: Jul2017
Log Message:

Don't assume that bat.append modifies its first argument.
Patch by Roberto Cornacchia.


diffs (88 lines):

diff --git a/sql/backends/monet5/sql_execute.c 
b/sql/backends/monet5/sql_execute.c
--- a/sql/backends/monet5/sql_execute.c
+++ b/sql/backends/monet5/sql_execute.c
@@ -84,6 +84,7 @@ SQLsetTrace(Client cntxt, MalBlkPtr mb)
 
q= newStmt(mb, profilerRef, stoptraceRef);
q= pushStr(mb,q,"sql_traces");
+
/* cook a new resultSet instruction */
resultset = newInstruction(mb,sqlRef, resultSetRef);
getArg(resultset,0) = newTmpVariable(mb, TYPE_int);
@@ -92,7 +93,6 @@ SQLsetTrace(Client cntxt, MalBlkPtr mb)
tbls = newStmt(mb,batRef, newRef);
setVarType(mb, getArg(tbls,0), newBatType(TYPE_str));
tbls = pushType(mb, tbls, TYPE_str);
-   resultset= pushArgument(mb,resultset, getArg(tbls,0));
 
q= newStmt(mb,batRef,appendRef);
q= pushArgument(mb,q,getArg(tbls,0));
@@ -103,11 +103,12 @@ SQLsetTrace(Client cntxt, MalBlkPtr mb)
q= pushArgument(mb,q,k);
q= pushStr(mb,q,".trace");
 
+   resultset= pushArgument(mb,resultset, getArg(q,0));
+
/* build colum defs */
cols = newStmt(mb,batRef, newRef);
setVarType(mb, getArg(cols,0), newBatType(TYPE_str));
cols = pushType(mb, cols, TYPE_str);
-   resultset= pushArgument(mb,resultset, getArg(cols,0));
 
q= newStmt(mb,batRef,appendRef);
q= pushArgument(mb,q,getArg(cols,0));
@@ -115,14 +116,15 @@ SQLsetTrace(Client cntxt, MalBlkPtr mb)
k= getArg(q,0);
 
q= newStmt(mb,batRef,appendRef);
-   q= pushArgument(mb,q, getArg(cols,0));
+   q= pushArgument(mb,q, k);
q= pushStr(mb,q,"statement");
 
+   resultset= pushArgument(mb,resultset, getArg(q,0));
+
/* build type defs */
types = newStmt(mb,batRef, newRef);
setVarType(mb, getArg(types,0), newBatType(TYPE_str));
types = pushType(mb, types, TYPE_str);
-   resultset= pushArgument(mb,resultset, getArg(types,0));
 
q= newStmt(mb,batRef,appendRef);
q= pushArgument(mb,q, getArg(types,0));
@@ -133,11 +135,12 @@ SQLsetTrace(Client cntxt, MalBlkPtr mb)
q= pushArgument(mb,q, k);
q= pushStr(mb,q,"clob");
 
+   resultset= pushArgument(mb,resultset, getArg(q,0));
+
/* build scale defs */
clen = newStmt(mb,batRef, newRef);
setVarType(mb, getArg(clen,0), newBatType(TYPE_int));
clen = pushType(mb, clen, TYPE_int);
-   resultset= pushArgument(mb,resultset, getArg(clen,0));
 
q= newStmt(mb,batRef,appendRef);
q= pushArgument(mb,q, getArg(clen,0));
@@ -148,11 +151,12 @@ SQLsetTrace(Client cntxt, MalBlkPtr mb)
q= pushArgument(mb,q, k);
q= pushInt(mb,q,0);
 
+   resultset= pushArgument(mb,resultset, getArg(q,0));
+
/* build scale defs */
scale = newStmt(mb,batRef, newRef);
setVarType(mb, getArg(scale,0), newBatType(TYPE_int));
scale = pushType(mb, scale, TYPE_int);
-   resultset= pushArgument(mb,resultset, getArg(scale,0));
 
q= newStmt(mb,batRef,appendRef);
q= pushArgument(mb,q, getArg(scale,0));
@@ -163,6 +167,8 @@ SQLsetTrace(Client cntxt, MalBlkPtr mb)
q= pushArgument(mb, q, k);
q= pushInt(mb,q,0);
 
+   resultset= pushArgument(mb,resultset, getArg(q,0));
+
/* add the ticks column */
 
q = newStmt(mb, profilerRef, "getTrace");
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list