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.h16
1 files changed, 13 insertions, 3 deletions
diff --git a/sql/sql_lex.h b/sql/sql_lex.h
index c31420b951c..be931c56247 100644
--- a/sql/sql_lex.h
+++ b/sql/sql_lex.h
@@ -80,6 +80,10 @@ enum enum_sql_command {
SQLCOM_END
};
+// describe/explain types
+#define DESCRIBE_NORMAL 1
+#define DESCRIBE_EXTENDED 2
+
typedef List<Item> List_item;
typedef struct st_lex_master_info
@@ -292,7 +296,7 @@ protected:
select_result *result;
int res;
- ulong describe, found_rows_for_union;
+ 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
@@ -335,7 +339,9 @@ public:
int prepare(THD *thd, select_result *result, bool tables_and_fields_initied);
int exec();
int cleanup();
-
+
+ void print(String *str);
+
friend void mysql_init_query(THD *thd);
friend int subselect_union_engine::exec();
private:
@@ -476,6 +482,9 @@ public:
init_select();
}
bool setup_ref_array(THD *thd, uint order_group_num);
+ void print(THD *thd, String *str);
+ static void print_order(String *str, ORDER *order);
+ void print_limit(THD *thd, String *str);
};
typedef class st_select_lex SELECT_LEX;
@@ -550,9 +559,10 @@ typedef struct st_lex
uint fk_delete_opt, fk_update_opt, fk_match_option;
uint param_count;
uint slave_thd_opt;
+ uint8 describe;
bool drop_primary, drop_if_exists, drop_temporary, local_file;
bool in_comment, ignore_space, verbose, simple_alter, no_write_to_binlog;
- bool derived_tables, describe;
+ bool derived_tables;
bool safe_to_cache_query;
st_lex() {}
inline void uncacheable()