Changeset: 68b1ae1ed486 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=68b1ae1ed486
Modified Files:
monetdb5/extras/pyapi/connection.c
monetdb5/extras/pyapi/pyapi.c
monetdb5/extras/pyapi/pyapi.h
sql/backends/monet5/sql_execute.c
sql/backends/monet5/sql_execute.h
Branch: pythonudf
Log Message:
Load functions from correct DLL file on Windows.
diffs (104 lines):
diff --git a/monetdb5/extras/pyapi/connection.c
b/monetdb5/extras/pyapi/connection.c
--- a/monetdb5/extras/pyapi/connection.c
+++ b/monetdb5/extras/pyapi/connection.c
@@ -9,7 +9,7 @@
#define PyString_FromString PyUnicode_FromString
#endif
-CREATE_SQL_FUNCTION_PTR(void,res_table_destroy,(res_table*));
+CREATE_SQL_FUNCTION_PTR(void,SQLdestroyResult,(res_table*));
CREATE_SQL_FUNCTION_PTR(str,SQLstatementIntern,(Client, str *, str, int, bit,
res_table **));
static PyObject *
@@ -234,7 +234,7 @@ PyTypeObject Py_ConnectionType = {
void _connection_cleanup_result(void* output)
{
- (*res_table_destroy_ptr)((res_table*) output);
+ (*SQLdestroyResult_ptr)((res_table*) output);
}
char* _connection_query(Client cntxt, char* query, res_table** result) {
@@ -266,8 +266,8 @@ void _connection_init(void)
{
import_array();
- LOAD_SQL_FUNCTION_PTR(res_table_destroy);
- LOAD_SQL_FUNCTION_PTR(SQLstatementIntern);
+ LOAD_SQL_FUNCTION_PTR(SQLdestroyResult, "lib_sql.dll");
+ LOAD_SQL_FUNCTION_PTR(SQLstatementIntern, "lib_sql.dll");
if (PyType_Ready(&Py_ConnectionType) < 0)
return;
diff --git a/monetdb5/extras/pyapi/pyapi.c b/monetdb5/extras/pyapi/pyapi.c
--- a/monetdb5/extras/pyapi/pyapi.c
+++ b/monetdb5/extras/pyapi/pyapi.c
@@ -1623,18 +1623,20 @@ str
return createException(MAL, "pyapi.eval", "Failed to load
function \"loads\" from Marshal module.");
}
PyEval_SaveThread();
- LOAD_SQL_FUNCTION_PTR(batbte_dec2_dbl);
- LOAD_SQL_FUNCTION_PTR(batsht_dec2_dbl);
- LOAD_SQL_FUNCTION_PTR(batint_dec2_dbl);
- LOAD_SQL_FUNCTION_PTR(batwrd_dec2_dbl);
- LOAD_SQL_FUNCTION_PTR(batlng_dec2_dbl);
- LOAD_SQL_FUNCTION_PTR(bathge_dec2_dbl);
- LOAD_SQL_FUNCTION_PTR(bathge_dec2_dbl);
- LOAD_SQL_FUNCTION_PTR(batstr_2time_timestamp);
- LOAD_SQL_FUNCTION_PTR(batstr_2time_daytime);
- LOAD_SQL_FUNCTION_PTR(batstr_2_date);
- LOAD_SQL_FUNCTION_PTR(batdbl_num2dec_lng);
- LOAD_SQL_FUNCTION_PTR(SQLbatstr_cast);
+ LOAD_SQL_FUNCTION_PTR(batbte_dec2_dbl, "lib_sql.dll");
+ LOAD_SQL_FUNCTION_PTR(batsht_dec2_dbl, "lib_sql.dll");
+ LOAD_SQL_FUNCTION_PTR(batint_dec2_dbl, "lib_sql.dll");
+ LOAD_SQL_FUNCTION_PTR(batwrd_dec2_dbl, "lib_sql.dll");
+ LOAD_SQL_FUNCTION_PTR(batlng_dec2_dbl, "lib_sql.dll");
+#ifdef HAVE_HGE
+ LOAD_SQL_FUNCTION_PTR(bathge_dec2_dbl, "lib_sql.dll");
+ LOAD_SQL_FUNCTION_PTR(bathge_dec2_dbl, "lib_sql.dll");
+#endif
+ LOAD_SQL_FUNCTION_PTR(batstr_2time_timestamp, "lib_sql.dll");
+ LOAD_SQL_FUNCTION_PTR(batstr_2time_daytime, "lib_sql.dll");
+ LOAD_SQL_FUNCTION_PTR(batstr_2_date, "lib_sql.dll");
+ LOAD_SQL_FUNCTION_PTR(batdbl_num2dec_lng, "lib_sql.dll");
+ LOAD_SQL_FUNCTION_PTR(SQLbatstr_cast, "lib_sql.dll");
pyapiInitialized++;
}
MT_lock_unset(&pyapiLock);
diff --git a/monetdb5/extras/pyapi/pyapi.h b/monetdb5/extras/pyapi/pyapi.h
--- a/monetdb5/extras/pyapi/pyapi.h
+++ b/monetdb5/extras/pyapi/pyapi.h
@@ -107,8 +107,8 @@ pyapi_export void* lookup_function(char
typedef retval (*fcnname##_ptr_tpe)params; \
fcnname##_ptr_tpe fcnname##_ptr = NULL;
-#define LOAD_SQL_FUNCTION_PTR(fcnname) \
- fcnname##_ptr = (fcnname##_ptr_tpe) lookup_function(#fcnname, "sql");
\
+#define LOAD_SQL_FUNCTION_PTR(fcnname,libname)
\
+ fcnname##_ptr = (fcnname##_ptr_tpe) lookup_function(#fcnname, libname);
\
if (fcnname##_ptr == NULL) { \
WARNING_MESSAGE("Failed to load function %s", #fcnname);
\
}
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
@@ -489,3 +489,7 @@ cleanup_engine:
c->glb = oldglb;
return msg;
}
+
+void SQLdestroyResult(res_table *destroy) {
+ res_table_destroy(destroy);
+}
\ No newline at end of file
diff --git a/sql/backends/monet5/sql_execute.h
b/sql/backends/monet5/sql_execute.h
--- a/sql/backends/monet5/sql_execute.h
+++ b/sql/backends/monet5/sql_execute.h
@@ -15,5 +15,6 @@ sql5_export str SQLstatementIntern(Clien
sql5_export str SQLexecutePrepared(Client c, backend *be, cq *q);
sql5_export str SQLengineIntern(Client c, backend *be);
sql5_export str SQLrecompile(Client c, backend *be);
+sql5_export void SQLdestroyResult(res_table *destroy);
#endif /* _SQL_EXECUTE_H_ */
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list