summaryrefslogtreecommitdiff
path: root/sql/sql_show.h
diff options
context:
space:
mode:
authorSergey Petrunya <psergey@askmonty.org>2012-10-06 11:03:37 +0400
committerSergey Petrunya <psergey@askmonty.org>2012-10-06 11:03:37 +0400
commit30df032e28bada8aabc1c850799795c728cd96b7 (patch)
tree4d7d8b6e481197bcd1cf04368d7c19316b047527 /sql/sql_show.h
parent79feec77ed4a7121e68be1dc16f79dcad6c5d25e (diff)
parent4d8be2d4f6d7a7b669b7931f1a0ccb5de130fee6 (diff)
downloadmariadb-git-30df032e28bada8aabc1c850799795c728cd96b7.tar.gz
SHOW EXPLAIN: merge with 5.5-main
Diffstat (limited to 'sql/sql_show.h')
-rw-r--r--sql/sql_show.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/sql/sql_show.h b/sql/sql_show.h
index 611e3a64c73..7541ed58e48 100644
--- a/sql/sql_show.h
+++ b/sql/sql_show.h
@@ -19,6 +19,7 @@
#include "sql_list.h" /* List */
#include "handler.h" /* enum_schema_tables */
#include "table.h" /* enum_schema_table_state */
+#include "my_apc.h"
/* Forward declarations */
class JOIN;
@@ -131,5 +132,30 @@ enum enum_schema_tables get_schema_table_idx(ST_SCHEMA_TABLE *schema_table);
/* These functions were under INNODB_COMPATIBILITY_HOOKS */
int get_quote_char_for_identifier(THD *thd, const char *name, uint length);
+THD *find_thread_by_id(ulong id);
+
+class select_result_explain_buffer;
+/*
+ SHOW EXPLAIN request object.
+*/
+
+class Show_explain_request : public Apc_target::Apc_call
+{
+public:
+ THD *target_thd; /* thd that we're running SHOW EXPLAIN for */
+ THD *request_thd; /* thd that run SHOW EXPLAIN command */
+
+ /* If true, there was some error when producing EXPLAIN output. */
+ bool failed_to_produce;
+
+ /* SHOW EXPLAIN will be stored here */
+ select_result_explain_buffer *explain_buf;
+
+ /* Query that we've got SHOW EXPLAIN for */
+ String query_str;
+
+ /* Overloaded virtual function */
+ void call_in_target_thread();
+};
#endif /* SQL_SHOW_H */