summaryrefslogtreecommitdiff
path: root/sql/sql_select.h
diff options
context:
space:
mode:
authorSergei Petrunia <psergey@askmonty.org>2014-06-25 16:46:42 +0400
committerSergei Petrunia <psergey@askmonty.org>2014-06-25 16:46:42 +0400
commit424d5de89de907f37826ec8afb77769fe380d1e4 (patch)
treeb12fc5dd3223c1ceb7c6ad91cbd8e444d3efc605 /sql/sql_select.h
parent787ec317784d58ca00c0c8e772173c66c5145f50 (diff)
parentb561a98a87c0326dce59eb49c1b4b8f31da21d1e (diff)
downloadmariadb-git-424d5de89de907f37826ec8afb77769fe380d1e4.tar.gz
Merge bb-10.1-explain-analyze into 10.1
Diffstat (limited to 'sql/sql_select.h')
-rw-r--r--sql/sql_select.h15
1 files changed, 12 insertions, 3 deletions
diff --git a/sql/sql_select.h b/sql/sql_select.h
index dc86825e8e9..817ecc9904d 100644
--- a/sql/sql_select.h
+++ b/sql/sql_select.h
@@ -250,7 +250,9 @@ typedef struct st_join_table {
/* Special content for EXPLAIN 'Extra' column or NULL if none */
enum explain_extra_tag info;
-
+
+ Table_access_tracker *tracker;
+ Table_access_tracker *jbuf_tracker;
/*
Bitmap of TAB_INFO_* bits that encodes special line for EXPLAIN 'Extra'
column, or 0 if there is no info.
@@ -536,6 +538,11 @@ typedef struct st_join_table {
}
void remove_redundant_bnl_scan_conds();
+
+ void save_explain_data(Explain_table_access *eta, table_map prefix_tables,
+ bool distinct, struct st_join_table *first_top_tab);
+
+ void update_explain_data(uint idx);
} JOIN_TAB;
@@ -1848,14 +1855,14 @@ void push_index_cond(JOIN_TAB *tab, uint keyno);
/* EXPLAIN-related utility functions */
int print_explain_message_line(select_result_sink *result,
- uint8 options,
+ uint8 options, bool is_analyze,
uint select_number,
const char *select_type,
ha_rows *rows,
const char *message);
void explain_append_mrr_info(QUICK_RANGE_SELECT *quick, String *res);
int print_explain_row(select_result_sink *result,
- uint8 options,
+ uint8 options, bool is_analyze,
uint select_number,
const char *select_type,
const char *table_name,
@@ -1866,6 +1873,8 @@ int print_explain_row(select_result_sink *result,
const char *key_len,
const char *ref,
ha_rows *rows,
+ ha_rows *r_rows,
+ double r_filtered,
const char *extra);
void make_possible_keys_line(TABLE *table, key_map possible_keys, String *line);