summaryrefslogtreecommitdiff
path: root/sql/sql_lex.h
diff options
context:
space:
mode:
Diffstat (limited to 'sql/sql_lex.h')
-rw-r--r--sql/sql_lex.h17
1 files changed, 10 insertions, 7 deletions
diff --git a/sql/sql_lex.h b/sql/sql_lex.h
index fb7d8415e91..50b8f322731 100644
--- a/sql/sql_lex.h
+++ b/sql/sql_lex.h
@@ -243,6 +243,7 @@ public:
UNCACHEABLE_DEPENDENT
UNCACHEABLE_RAND
UNCACHEABLE_SIDEEFFECT
+ UNCACHEABLE_EXPLAIN
*/
uint8 uncacheable;
enum sub_select_type linkage;
@@ -315,7 +316,8 @@ protected:
ulong found_rows_for_union;
bool prepared, // prepare phase already performed for UNION (unit)
optimized, // optimize phase already performed for UNION (unit)
- executed; // already executed
+ executed, // already executed
+ cleaned;
public:
// list of fields which points to temporary table for union
@@ -347,8 +349,7 @@ public:
uint union_option;
void init_query();
- bool create_total_list(THD *thd, st_lex *lex, TABLE_LIST **result,
- bool check_current_derived);
+ bool create_total_list(THD *thd, st_lex *lex, TABLE_LIST **result);
st_select_lex_unit* master_unit();
st_select_lex* outer_select();
st_select_lex* first_select() { return (st_select_lex*) slave; }
@@ -362,18 +363,19 @@ public:
void exclude_tree();
/* UNION methods */
- int prepare(THD *thd, select_result *result);
+ int prepare(THD *thd, select_result *result, ulong additional_options);
int exec();
int cleanup();
+ bool check_updateable(char *db, char *table);
void print(String *str);
+
friend void mysql_init_query(THD *thd, bool lexonly);
friend int subselect_union_engine::exec();
private:
bool create_total_list_n_last_return(THD *thd, st_lex *lex,
- TABLE_LIST ***result,
- bool check_current_derived);
+ TABLE_LIST ***result);
};
typedef class st_select_lex_unit SELECT_LEX_UNIT;
@@ -510,6 +512,7 @@ public:
init_select();
}
bool setup_ref_array(THD *thd, uint order_group_num);
+ bool check_updateable(char *db, char *table);
void print(THD *thd, String *str);
static void print_order(String *str, ORDER *order);
void print_limit(THD *thd, String *str);
@@ -596,7 +599,7 @@ typedef struct st_lex
uint param_count;
uint slave_thd_opt;
uint8 describe;
- bool drop_primary, drop_if_exists, drop_temporary, local_file;
+ bool drop_if_exists, drop_temporary, local_file;
bool in_comment, ignore_space, verbose, simple_alter, no_write_to_binlog;
bool derived_tables;
bool safe_to_cache_query;