summaryrefslogtreecommitdiff
path: root/sql/table.h
diff options
context:
space:
mode:
Diffstat (limited to 'sql/table.h')
-rw-r--r--sql/table.h21
1 files changed, 17 insertions, 4 deletions
diff --git a/sql/table.h b/sql/table.h
index 58b78af6836..ec50a433498 100644
--- a/sql/table.h
+++ b/sql/table.h
@@ -1113,6 +1113,7 @@ public:
and max #key parts that range access would use.
*/
ha_rows quick_rows[MAX_KEY];
+ double quick_costs[MAX_KEY];
/*
Bitmaps of key parts that =const for the duration of join execution. If
@@ -1489,8 +1490,8 @@ typedef struct st_schema_table
{
const char* table_name;
ST_FIELD_INFO *fields_info;
- /* Create information_schema table */
- TABLE *(*create_table) (THD *thd, TABLE_LIST *table_list);
+ /* for FLUSH table_name */
+ int (*reset_table) ();
/* Fill table with data */
int (*fill_table) (THD *thd, TABLE_LIST *tables, COND *cond);
/* Handle fileds for old SHOW */
@@ -1502,6 +1503,7 @@ typedef struct st_schema_table
uint i_s_requested_object; /* the object we need to open(TABLE | VIEW) */
} ST_SCHEMA_TABLE;
+class IS_table_read_plan;
/*
Types of derived tables. The ending part is a bitmap of phases that are
@@ -2047,12 +2049,23 @@ struct TABLE_LIST
/* TRUE <=> this table is a const one and was optimized away. */
bool optimized_away;
+ /* I_S: Flags to open_table (e.g. OPEN_TABLE_ONLY or OPEN_VIEW_ONLY) */
uint i_s_requested_object;
- bool has_db_lookup_value;
- bool has_table_lookup_value;
+
+ /*
+ I_S: how to read the tables (SKIP_OPEN_TABLE/OPEN_FRM_ONLY/OPEN_FULL_TABLE)
+ */
uint table_open_method;
+ /*
+ I_S: where the schema table was filled
+ (this is a hack. The code should be able to figure out whether reading
+ from I_S should be done by create_sort_index() or by JOIN::exec.)
+ */
enum enum_schema_table_state schema_table_state;
+ /* Something like a "query plan" for reading INFORMATION_SCHEMA table */
+ IS_table_read_plan *is_table_read_plan;
+
MDL_request mdl_request;
#ifdef WITH_PARTITION_STORAGE_ENGINE