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
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to