-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathplugin_ftparser.h.pp
More file actions
182 lines (182 loc) · 5.52 KB
/
Copy pathplugin_ftparser.h.pp
File metadata and controls
182 lines (182 loc) · 5.52 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
#include "plugin.h"
#include "status_var.h"
enum enum_mysql_show_type {
SHOW_UNDEF,
SHOW_BOOL,
SHOW_INT,
SHOW_LONG,
SHOW_LONGLONG,
SHOW_CHAR,
SHOW_CHAR_PTR,
SHOW_ARRAY,
SHOW_FUNC,
SHOW_DOUBLE,
SHOW_KEY_CACHE_LONG,
SHOW_KEY_CACHE_LONGLONG,
SHOW_LONG_STATUS,
SHOW_DOUBLE_STATUS,
SHOW_HAVE,
SHOW_MY_BOOL,
SHOW_HA_ROWS,
SHOW_SYS,
SHOW_LONG_NOFLUSH,
SHOW_LONGLONG_STATUS,
SHOW_LEX_STRING,
SHOW_SIGNED_INT,
SHOW_SIGNED_LONG,
SHOW_SIGNED_LONGLONG
};
enum enum_mysql_show_scope {
SHOW_SCOPE_UNDEF,
SHOW_SCOPE_GLOBAL,
SHOW_SCOPE_SESSION,
SHOW_SCOPE_ALL
};
struct SHOW_VAR {
const char *name;
char *value;
enum enum_mysql_show_type type;
enum enum_mysql_show_scope scope;
};
typedef int (*mysql_show_var_func)(void *, SHOW_VAR *, char *);
typedef void *MYSQL_PLUGIN;
struct MYSQL_XID {
long formatID;
long gtrid_length;
long bqual_length;
char data[128];
};
struct SYS_VAR;
struct st_mysql_value;
typedef int (*mysql_var_check_func)(void * thd, SYS_VAR *var, void *save,
struct st_mysql_value *value);
typedef void (*mysql_var_update_func)(void * thd, SYS_VAR *var,
void *var_ptr, const void *save);
struct st_mysql_plugin {
int type;
void *info;
const char *name;
const char *author;
const char *descr;
int license;
int (*init)(MYSQL_PLUGIN);
int (*check_uninstall)(MYSQL_PLUGIN);
int (*deinit)(MYSQL_PLUGIN);
unsigned int version;
SHOW_VAR *status_vars;
SYS_VAR **system_vars;
void *__reserved1;
unsigned long flags;
};
struct st_mysql_daemon {
int interface_version;
};
struct st_mysql_information_schema {
int interface_version;
};
struct st_mysql_storage_engine {
int interface_version;
};
struct handlerton;
struct Mysql_replication {
int interface_version;
};
struct st_mysql_value {
int (*value_type)(struct st_mysql_value *);
const char *(*val_str)(struct st_mysql_value *, char *buffer, int *length);
int (*val_real)(struct st_mysql_value *, double *realbuf);
int (*val_int)(struct st_mysql_value *, long long *intbuf);
int (*is_unsigned)(struct st_mysql_value *);
};
int thd_in_lock_tables(const void * thd);
int thd_tablespace_op(const void * thd);
long long thd_test_options(const void * thd, long long test_options);
int thd_sql_command(const void * thd);
const char *set_thd_proc_info(void * thd, const char *info,
const char *calling_func,
const char *calling_file,
const unsigned int calling_line);
void **thd_ha_data(const void * thd, const struct handlerton *hton);
void thd_storage_lock_wait(void * thd, long long value);
int thd_tx_isolation(const void * thd);
int thd_tx_is_read_only(const void * thd);
void * thd_tx_arbitrate(void * requestor, void * holder);
int thd_tx_priority(const void * thd);
int thd_tx_is_dd_trx(const void * thd);
char *thd_security_context(void * thd, char *buffer, size_t length,
size_t max_query_len);
void thd_inc_row_count(void * thd);
int thd_allow_batch(void * thd);
void thd_mark_transaction_to_rollback(void * thd, int all);
enum mysql_trx_stat_type {
MYSQL_TRX_STAT_IO_READ_BYTES,
MYSQL_TRX_STAT_IO_READ_WAIT_USECS,
MYSQL_TRX_STAT_LOCK_WAIT_USECS,
MYSQL_TRX_STAT_INNODB_QUEUE_WAIT_USECS,
MYSQL_TRX_STAT_ACCESS_PAGE_ID
};
void thd_report_innodb_stat(void * thd, unsigned long long trx_id,
enum mysql_trx_stat_type type, uint64_t value);
unsigned long thd_log_slow_verbosity(const void * thd);
int thd_opt_slow_log();
int thd_is_background_thread(const void * thd);
int mysql_tmpfile(const char *prefix);
int thd_killed(const void *v_thd);
void thd_set_kill_status(const void * thd);
void thd_binlog_pos(const void * thd, const char **file_var,
unsigned long long *pos_var);
unsigned long thd_get_thread_id(const void * thd);
int64_t thd_get_query_id(const void * thd);
void thd_get_xid(const void * thd, MYSQL_XID *xid);
void *thd_get_ha_data(const void * thd, const struct handlerton *hton);
void thd_set_ha_data(void * thd, const struct handlerton *hton,
const void *ha_data);
void remove_ssl_err_thread_state();
unsigned int thd_get_num_vcpus();
int thd_command(const void * thd);
long long thd_start_time(const void * thd);
void thd_kill(unsigned long id);
int thd_get_ft_query_extra_word_chars(void);
typedef bool (*ssl_reload_callback_t)(void *);
bool register_ssl_reload_callback(ssl_reload_callback_t);
bool deregister_ssl_reload_callback(ssl_reload_callback_t);
enum enum_ftparser_mode {
MYSQL_FTPARSER_SIMPLE_MODE = 0,
MYSQL_FTPARSER_WITH_STOPWORDS = 1,
MYSQL_FTPARSER_FULL_BOOLEAN_INFO = 2
};
enum enum_ft_token_type {
FT_TOKEN_EOF = 0,
FT_TOKEN_WORD = 1,
FT_TOKEN_LEFT_PAREN = 2,
FT_TOKEN_RIGHT_PAREN = 3,
FT_TOKEN_STOPWORD = 4
};
struct MYSQL_FTPARSER_BOOLEAN_INFO {
enum enum_ft_token_type type;
int yesno;
int weight_adjust;
char wasign;
char trunc;
int position;
char prev;
char *quot;
};
struct MYSQL_FTPARSER_PARAM {
int (*mysql_parse)(MYSQL_FTPARSER_PARAM *, char *doc, int doc_len);
int (*mysql_add_word)(MYSQL_FTPARSER_PARAM *, char *word, int word_len,
MYSQL_FTPARSER_BOOLEAN_INFO *boolean_info);
void *ftparser_state;
void *mysql_ftparam;
const CHARSET_INFO *cs;
char *doc;
int length;
int flags;
enum enum_ftparser_mode mode;
};
struct st_mysql_ftparser {
int interface_version;
int (*parse)(MYSQL_FTPARSER_PARAM *param);
int (*init)(MYSQL_FTPARSER_PARAM *param);
int (*deinit)(MYSQL_FTPARSER_PARAM *param);
};