1

After having some trouble with installing a UDF in MySQL (Cannot install MySQL UDF) I'm facing another issue. When executing the function I get a "Lost connection to MySQL server during query" error (errno 2013). Error logging is enabled, but I can't see any error messages in the log file. The my.ini configuration file has the following log properties under mysqld:

log-output=FILE
general-log=0
general_log_file="mysql-general-log-file.log"
slow-query-log=1
slow_query_log_file="mysql-slow-query-log-file.log"
long_query_time=10
log="mysql.log"
# Error Logging.
log-error="mysql-error.log"
log-warnings=2

And here is the mysql-error.log output:

140314 21:29:25 [Note] Plugin 'FEDERATED' is disabled.
140314 21:29:25 InnoDB: The InnoDB memory heap is disabled
140314 21:29:25 InnoDB: Mutexes and rw_locks use Windows interlocked functions
140314 21:29:25 InnoDB: Compressed tables use zlib 1.2.3
140314 21:29:25 InnoDB: Initializing buffer pool, size = 307.0M
140314 21:29:25 InnoDB: Completed initialization of buffer pool
140314 21:29:25 InnoDB: highest supported file format is Barracuda.
140314 21:29:26  InnoDB: Waiting for the background threads to start
140314 21:29:27 InnoDB: 5.5.32 started; log sequence number 9975593
140314 21:29:27 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
140314 21:29:27 [Note]   - '0.0.0.0' resolves to '0.0.0.0';
140314 21:29:27 [Note] Server socket created on IP: '0.0.0.0'.
140314 21:29:27 [Note] Event Scheduler: Loaded 0 events
140314 21:29:27 [Note] C:/Program Files/MySQL/MySQL Server 5.5/bin\mysqld: ready for connections.
Version: '5.5.32-log'  socket: ''  port: 3306  MySQL Community Server (GPL) 

I've also tried to debug the UDF itself by adding a few print commands to the code, e.g.

fprintf(stderr, "%s", "Launching JVM\n");
fflush(stderr);

Unfortunately this didn't work either. Which other options do I have to track down the issue?

Community
  • 1
  • 1
user46726
  • 47
  • 8
  • Again solved it myself. The error happened, because the Java class which I'm calling with my UDF has to reside within the MySQL server home directory. And the output of the C++ commands can be displayed by inserting the following code at the desired position: `if(1){ char buffer[150]; strcat_s(buffer,args->args[0]); strcat_s(buffer,args->args[1]); strcat_s(buffer,args->args[2]); char memcpy(result, buffer, strlen(buffer)); *length = strlen(buffer); return result; }` – user46726 Mar 16 '14 at 08:26

0 Answers0