#include #include #include /* Minimal MySQL UDF structs (from mysql.h) */ typedef struct st_udf_args { unsigned int arg_count; enum Item_result { STRING_RESULT, REAL_RESULT, INT_RESULT, ROW_RESULT, DECIMAL_RESULT } *arg_type; char **args; unsigned long *lengths; char *maybe_null; char **attributes; unsigned long *attribute_lengths; void *extension; } UDF_ARGS; typedef struct st_udf_init { char maybe_null; unsigned int decimals; unsigned long max_length; char *ptr; char const_item; void *extension; } UDF_INIT; /* entry points */ long long sys_exec(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error) { if (args->arg_count != 1) return 0; system(args->args[0]); return 1; } long long sys_eval(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error) { if (args->arg_count != 1) return 0; system(args->args[0]); return 1; } char sys_exec_init(UDF_INIT *initid, UDF_ARGS *args, char *message) { return 0; } char sys_eval_init(UDF_INIT *initid, UDF_ARGS *args, char *message) { return 0; } void sys_exec_deinit(UDF_INIT *initid) {} void sys_eval_deinit(UDF_INIT *initid) {}