summaryrefslogtreecommitdiffstats
path: root/sql/sql_show.cc
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-18 13:22:53 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-18 13:22:53 +0000
commit347c164c35eddab388009470e6848cb361ac93f8 (patch)
tree2c0c44eac690f510bb0a35b2a13b36d606b77b6b /sql/sql_show.cc
parentReleasing progress-linux version 1:10.11.7-4~progress7.99u1. (diff)
downloadmariadb-347c164c35eddab388009470e6848cb361ac93f8.tar.xz
mariadb-347c164c35eddab388009470e6848cb361ac93f8.zip
Merging upstream version 1:10.11.8.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'sql/sql_show.cc')
-rw-r--r--sql/sql_show.cc23
1 files changed, 14 insertions, 9 deletions
diff --git a/sql/sql_show.cc b/sql/sql_show.cc
index 980c2fa7..c09de58c 100644
--- a/sql/sql_show.cc
+++ b/sql/sql_show.cc
@@ -2805,9 +2805,10 @@ static my_bool list_callback(THD *tmp, list_callback_arg *arg)
thd_info->thread_id=tmp->thread_id;
thd_info->os_thread_id=tmp->os_thread_id;
- thd_info->user= arg->thd->strdup(tmp_sctx->user ? tmp_sctx->user :
- (tmp->system_thread ?
- "system user" : "unauthenticated user"));
+ thd_info->user= arg->thd->strdup(tmp_sctx->user && tmp_sctx->user != slave_user ?
+ tmp_sctx->user :
+ (tmp->system_thread ?
+ "system user" : "unauthenticated user"));
if (tmp->peer_port && (tmp_sctx->host || tmp_sctx->ip) &&
arg->thd->security_ctx->host_or_ip[0])
{
@@ -3029,7 +3030,7 @@ int select_result_explain_buffer::send_data(List<Item> &items)
Show_explain_request::call_in_target_thread, is this necessary anymore?)
*/
set_current_thd(thd);
- fill_record(thd, dst_table, dst_table->field, items, TRUE, FALSE);
+ fill_record(thd, dst_table, dst_table->field, items, true, false, false);
res= dst_table->file->ha_write_tmp_row(dst_table->record[0]);
set_current_thd(cur_thd);
DBUG_RETURN(MY_TEST(res));
@@ -3310,7 +3311,7 @@ static my_bool processlist_callback(THD *tmp, processlist_callback_arg *arg)
/* ID */
arg->table->field[0]->store((longlong) tmp->thread_id, TRUE);
/* USER */
- val= tmp_sctx->user ? tmp_sctx->user :
+ val= tmp_sctx->user && tmp_sctx->user != slave_user ? tmp_sctx->user :
(tmp->system_thread ? "system user" : "unauthenticated user");
arg->table->field[1]->store(val, strlen(val), cs);
/* HOST */
@@ -9608,7 +9609,7 @@ ST_FIELD_INFO stat_fields_info[]=
Column("PACKED", Varchar(10), NULLABLE, "Packed", OPEN_FRM_ONLY),
Column("NULLABLE", Varchar(3), NOT_NULL, "Null", OPEN_FRM_ONLY),
Column("INDEX_TYPE", Varchar(16), NOT_NULL, "Index_type", OPEN_FULL_TABLE),
- Column("COMMENT", Varchar(16), NULLABLE, "Comment", OPEN_FRM_ONLY),
+ Column("COMMENT", Varchar(16), NULLABLE, "Comment", OPEN_FULL_TABLE),
Column("INDEX_COMMENT", Varchar(INDEX_COMMENT_MAXLEN),
NOT_NULL, "Index_comment",OPEN_FRM_ONLY),
Column("IGNORED", Varchar(3), NOT_NULL, "Ignored", OPEN_FRM_ONLY),
@@ -10196,6 +10197,7 @@ ST_SCHEMA_TABLE schema_tables[]=
int initialize_schema_table(st_plugin_int *plugin)
{
ST_SCHEMA_TABLE *schema_table;
+ int err;
DBUG_ENTER("initialize_schema_table");
if (!(schema_table= (ST_SCHEMA_TABLE *)my_malloc(key_memory_ST_SCHEMA_TABLE,
@@ -10212,12 +10214,15 @@ int initialize_schema_table(st_plugin_int *plugin)
/* Make the name available to the init() function. */
schema_table->table_name= plugin->name.str;
- if (plugin->plugin->init(schema_table))
+ if ((err= plugin->plugin->init(schema_table)))
{
- sql_print_error("Plugin '%s' init function returned error.",
- plugin->name.str);
+ if (err != HA_ERR_RETRY_INIT)
+ sql_print_error("Plugin '%s' init function returned error.",
+ plugin->name.str);
plugin->data= NULL;
my_free(schema_table);
+ if (err == HA_ERR_RETRY_INIT)
+ DBUG_RETURN(err);
DBUG_RETURN(1);
}