Make query_classifier a wrapper.

The query_classifier library is now only a wrapper that loads an
actual query classifier implementation. Currently it is hardwired
to load qc_mysqlembedded, which implements the query classifier
API using MySQL embedded.

This will be changed, so that the library to load is specified
when qc_init() is called. That will then allow the query classifier
to be specified in the config file.

Currently there seems to be a conflict between the mysql_library_end()
call made in qc_mysqlembedded and the mysql_library_end() call made in
gateway.c. The reason is that they both finalize a shared library.
For the time being mysql_library_end() is not called in gateway.c.
This problem is likely to go away by switching from the client
library to the connector-c library.
This commit is contained in:
Johan Wikman
2016-01-26 17:37:09 +02:00
parent 0d78b3f8cd
commit 0c6e9f3def
7 changed files with 145 additions and 1766 deletions

View File

@ -1818,6 +1818,9 @@ void qc_thread_end()
* EXPORTS
*/
extern "C"
{
static char version_string[] = "V1.0.0";
static QUERY_CLASSIFIER qc =
@ -1862,4 +1865,4 @@ QUERY_CLASSIFIER* GetModuleObject()
return &qc;
}
}

View File

@ -2,7 +2,7 @@
global:
info;
version;
GetModuleInfo;
GetModuleObject;
ModuleInit;
local:
*;