/
usr
/
include
/
mysql
/
server
/
mysql
/
/usr/include/mysql/server/mysql
mkdir
upload
Name
Size
Mode
Actions
psi/
-
0755
rm
auth_dialog_client.h
2061
0644
edit
dl
rm
client_plugin.h
6327
0644
edit
dl
rm
plugin.h
29894
0644
edit
dl
rm
plugin_audit.h
5575
0644
edit
dl
rm
plugin_auth.h
5400
0644
edit
dl
rm
plugin_auth_common.h
4509
0644
edit
dl
rm
plugin_data_type.h
1300
0644
edit
dl
rm
plugin_encryption.h
4433
0644
edit
dl
rm
plugin_ftparser.h
7832
0644
edit
dl
rm
plugin_function.h
1437
0644
edit
dl
rm
plugin_password_validation.h
1620
0644
edit
dl
rm
services.h
1762
0644
edit
dl
rm
service_base64.h
2932
0644
edit
dl
rm
service_debug_sync.h
13580
0644
edit
dl
rm
service_encryption.h
5657
0644
edit
dl
rm
service_encryption_scheme.h
5646
0644
edit
dl
rm
service_json.h
4551
0644
edit
dl
rm
service_kill_statement.h
2070
0644
edit
dl
rm
service_logger.h
3551
0644
edit
dl
rm
service_log_warnings.h
1377
0644
edit
dl
rm
service_md5.h
2119
0644
edit
dl
rm
service_my_crypt.h
4167
0644
edit
dl
rm
service_my_print_error.h
2328
0644
edit
dl
rm
service_my_snprintf.h
3722
0644
edit
dl
rm
service_print_check_msg.h
1552
0644
edit
dl
rm
service_progress_report.h
3356
0644
edit
dl
rm
service_sha1.h
2162
0644
edit
dl
rm
service_sha2.h
5299
0644
edit
dl
rm
service_sql.h
5134
0644
edit
dl
rm
service_thd_alloc.h
4490
0644
edit
dl
rm
service_thd_autoinc.h
1692
0644
edit
dl
rm
service_thd_error_context.h
3424
0644
edit
dl
rm
service_thd_mdl.h
1282
0644
edit
dl
rm
service_thd_rnd.h
1902
0644
edit
dl
rm
service_thd_specifics.h
3686
0644
edit
dl
rm
service_thd_timezone.h
2291
0644
edit
dl
rm
service_thd_wait.h
3695
0644
edit
dl
rm
service_wsrep.h
14158
0644
edit
dl
rm
Edit:
/usr/include/mysql/server/mysql/service_json.h
(4551B)
/* Copyright (C) 2018 MariaDB Corporation This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ #ifndef MYSQL_SERVICE_JSON #define MYSQL_SERVICE_JSON /** @file json service Exports JSON parsing methods for plugins to use. Functions of the service: json_type - returns the type of the JSON argument, and the parsed value if it's scalar (not object or array) json_get_array_item - expects JSON array as an argument, and returns the type of the element at index `n_item`. Returns JSV_NOTHING type if the array is shorter than n_item and the actual length of the array in value_len. If successful, then `value` up till `value[value_len]` contains the array element at the desired index (n_item). json_get_object_key - expects JSON object as an argument, searches for a key in the object, return it's type and stores its value in `value`. JSV_NOTHING if no such key found, the number of keys in v_len. json_get_object_nkey - expects JSON object as an argument. finds n_key's key in the object, returns it's name, type and value. JSV_NOTHING if object has less keys than n_key. */ #ifdef __cplusplus extern "C" { #endif enum json_types { JSV_BAD_JSON=-1, JSV_NOTHING=0, JSV_OBJECT=1, JSV_ARRAY=2, JSV_STRING=3, JSV_NUMBER=4, JSV_TRUE=5, JSV_FALSE=6, JSV_NULL=7 }; extern struct json_service_st { enum json_types (*json_type)(const char *js, const char *js_end, const char **value, int *value_len); enum json_types (*json_get_array_item)(const char *js, const char *js_end, int n_item, const char **value, int *value_len); enum json_types (*json_get_object_key)(const char *js, const char *js_end, const char *key, const char **value, int *value_len); enum json_types (*json_get_object_nkey)(const char *js,const char *js_end, int nkey, const char **keyname, const char **keyname_end, const char **value, int *value_len); int (*json_escape_string)(const char *str,const char *str_end, char *json, char *json_end); int (*json_unescape_json)(const char *json_str, const char *json_end, char *res, char *res_end); } *json_service; #ifdef MYSQL_DYNAMIC_PLUGIN #define json_type json_service->json_type #define json_get_array_item json_service->json_get_array_item #define json_get_object_key json_service->json_get_object_key #define json_get_object_nkey json_service->json_get_object_nkey #define json_escape_string json_service->json_escape_string #define json_unescape_json json_service->json_unescape_json #else enum json_types json_type(const char *js, const char *js_end, const char **value, int *value_len); enum json_types json_get_array_item(const char *js, const char *js_end, int n_item, const char **value, int *value_len); enum json_types json_get_object_key(const char *js, const char *js_end, const char *key, const char **value, int *value_len); enum json_types json_get_object_nkey(const char *js,const char *js_end, int nkey, const char **keyname, const char **keyname_end, const char **value, int *value_len); int json_escape_string(const char *str,const char *str_end, char *json, char *json_end); int json_unescape_json(const char *json_str, const char *json_end, char *res, char *res_end); #endif /*MYSQL_DYNAMIC_PLUGIN*/ #ifdef __cplusplus } #endif #endif /*MYSQL_SERVICE_JSON */
Save
cmd:
run