summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--BitKeeper/etc/collapsed1
-rwxr-xr-xmysql-test/mysql-test-run.pl4
-rwxr-xr-xsql/CMakeLists.txt5
-rw-r--r--sql/Makefile.am3
-rw-r--r--sql/udf_example.c11
-rw-r--r--sql/udf_example.def24
6 files changed, 45 insertions, 3 deletions
diff --git a/BitKeeper/etc/collapsed b/BitKeeper/etc/collapsed
index d4d681937a2..fd33e4fc902 100644
--- a/BitKeeper/etc/collapsed
+++ b/BitKeeper/etc/collapsed
@@ -2,3 +2,4 @@
44ec850ac2k4y2Omgr92GiWPBAVKGQ
44edb86b1iE5knJ97MbliK_3lCiAXA
44f33f3aj5KW5qweQeekY1LU0E9ZCg
+4513d8e4Af4dQWuk13sArwofRgFDQw
diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl
index f0eb7f3bda4..994a0d044f5 100755
--- a/mysql-test/mysql-test-run.pl
+++ b/mysql-test/mysql-test-run.pl
@@ -1110,7 +1110,9 @@ sub executable_setup () {
$path_ndb_tools_dir= mtr_path_exists("$glob_basedir/ndb/tools");
$exe_ndb_mgm= "$glob_basedir/ndb/src/mgmclient/ndb_mgm";
$lib_udf_example=
- mtr_file_exists("$glob_basedir/sql/.libs/udf_example.so");
+ mtr_file_exists("$glob_basedir/sql/.libs/udf_example.so",
+ "$glob_basedir/sql/release/udf_example.dll",
+ "$glob_basedir/sql/debug/udf_example.dll");
}
else
{
diff --git a/sql/CMakeLists.txt b/sql/CMakeLists.txt
index b01871872ce..9b2fae847d6 100755
--- a/sql/CMakeLists.txt
+++ b/sql/CMakeLists.txt
@@ -110,5 +110,8 @@ ADD_CUSTOM_COMMAND(
COMMAND ${GEN_LEX_HASH_EXE} ARGS > lex_hash.h
DEPENDS ${GEN_LEX_HASH_EXE}
)
-
ADD_DEPENDENCIES(mysqld gen_lex_hash)
+
+ADD_LIBRARY(udf_example MODULE udf_example.c udf_example.def)
+ADD_DEPENDENCIES(udf_example strings)
+TARGET_LINK_LIBRARIES(udf_example wsock32)
diff --git a/sql/Makefile.am b/sql/Makefile.am
index 98c8fe784eb..e837e10472c 100644
--- a/sql/Makefile.am
+++ b/sql/Makefile.am
@@ -117,7 +117,8 @@ DEFS = -DMYSQL_SERVER \
BUILT_SOURCES = sql_yacc.cc sql_yacc.h lex_hash.h
EXTRA_DIST = $(BUILT_SOURCES) nt_servc.cc nt_servc.h \
- message.mc examples/CMakeLists.txt CMakeLists.txt
+ message.mc examples/CMakeLists.txt CMakeLists.txt \
+ udf_example.c udf_example.def
DISTCLEANFILES = lex_hash.h sql_yacc.output
AM_YFLAGS = -d --debug --verbose
diff --git a/sql/udf_example.c b/sql/udf_example.c
index a80fce81278..2fa7474eb16 100644
--- a/sql/udf_example.c
+++ b/sql/udf_example.c
@@ -127,7 +127,14 @@ typedef long long longlong;
#else
#include <my_global.h>
#include <my_sys.h>
+#if defined(MYSQL_SERVER)
#include <m_string.h> /* To get strmov() */
+#else
+/* when compiled as standalone */
+#define strmov(a,b) strcpy(a,b)
+#define bzero(a,b) memset(a,0,b)
+#define memcpy_fixed(a,b,c) memcpy(a,b,c)
+#endif
#endif
#include <mysql.h>
#include <ctype.h>
@@ -674,10 +681,14 @@ longlong sequence(UDF_INIT *initid __attribute__((unused)), UDF_ARGS *args,
**
****************************************************************************/
+#ifdef __WIN__
+#include <winsock.h>
+#else
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>
+#endif
my_bool lookup_init(UDF_INIT *initid, UDF_ARGS *args, char *message);
void lookup_deinit(UDF_INIT *initid);
diff --git a/sql/udf_example.def b/sql/udf_example.def
new file mode 100644
index 00000000000..d3081ca7768
--- /dev/null
+++ b/sql/udf_example.def
@@ -0,0 +1,24 @@
+LIBRARY udf_example
+DESCRIPTION 'MySQL Sample for UDF'
+VERSION 1.0
+EXPORTS
+ lookup
+ lookup_init
+ reverse_lookup
+ reverse_lookup_init
+ metaphon_init
+ metaphon_deinit
+ metaphon
+ myfunc_double_init
+ myfunc_double
+ myfunc_int_init
+ myfunc_int
+ sequence_init
+ sequence_deinit
+ sequence
+ avgcost_init
+ avgcost_deinit
+ avgcost_reset
+ avgcost_add
+ avgcost_clear
+ avgcost