Add query classifier plugin.
Basic infrastructure added for being able to load query classifier plugins using the same mechanism other plugins are loaded with.
This commit is contained in:
parent
42b1722e49
commit
9a8838474c
@ -198,6 +198,12 @@ load_module(const char *module, const char *type)
|
||||
MXS_ERROR("Module '%s' does not implement the filter API.", module);
|
||||
fatal = 1;
|
||||
}
|
||||
if (strcmp(type, MODULE_QUERY_CLASSIFIER) == 0
|
||||
&& mod_info->modapi != MODULE_API_QUERY_CLASSIFIER)
|
||||
{
|
||||
MXS_ERROR("Module '%s' does not implement the query classifier API.", module);
|
||||
fatal = 1;
|
||||
}
|
||||
if (fatal)
|
||||
{
|
||||
dlclose(dlhandle);
|
||||
|
@ -50,7 +50,8 @@ typedef enum {
|
||||
MODULE_API_ROUTER,
|
||||
MODULE_API_MONITOR,
|
||||
MODULE_API_FILTER,
|
||||
MODULE_API_AUTHENTICATION
|
||||
MODULE_API_AUTHENTICATION,
|
||||
MODULE_API_QUERY_CLASSIFIER,
|
||||
} MODULE_API;
|
||||
|
||||
/**
|
||||
|
@ -56,10 +56,11 @@ typedef struct modules {
|
||||
/**
|
||||
* Module types
|
||||
*/
|
||||
#define MODULE_PROTOCOL "Protocol" /**< A protocol module type */
|
||||
#define MODULE_ROUTER "Router" /**< A router module type */
|
||||
#define MODULE_MONITOR "Monitor" /**< A database monitor module type */
|
||||
#define MODULE_FILTER "Filter" /**< A filter module type */
|
||||
#define MODULE_PROTOCOL "Protocol" /**< A protocol module type */
|
||||
#define MODULE_ROUTER "Router" /**< A router module type */
|
||||
#define MODULE_MONITOR "Monitor" /**< A database monitor module type */
|
||||
#define MODULE_FILTER "Filter" /**< A filter module type */
|
||||
#define MODULE_QUERY_CLASSIFIER "QueryClassifier" /**< A query classifier module type */
|
||||
|
||||
|
||||
extern void *load_module(const char *module, const char *type);
|
||||
|
Loading…
x
Reference in New Issue
Block a user