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.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/sql/sql_lex.h b/sql/sql_lex.h
index fae7eb8e7ff..0c42ce9c6a9 100644
--- a/sql/sql_lex.h
+++ b/sql/sql_lex.h
@@ -92,7 +92,12 @@ typedef struct st_lex_master_info
enum sub_select_type
{
- UNSPECIFIED_TYPE, UNION_TYPE, INTERSECT_TYPE, EXCEPT_TYPE, NOT_A_SELECT
+ UNSPECIFIED_TYPE, UNION_TYPE, INTERSECT_TYPE, EXCEPT_TYPE, OLAP_TYPE, NOT_A_SELECT
+};
+
+enum olap_type
+{
+ NON_EXISTING_ONE, CUBE_TYPE, ROLLUP_TYPE
};
/* The state of the lex parsing for selects */
@@ -100,6 +105,7 @@ enum sub_select_type
typedef struct st_select_lex
{
enum sub_select_type linkage;
+ enum olap_type olap;
char *db,*db1,*table1,*db2,*table2; /* For outer join using .. */
Item *where,*having;
ha_rows select_limit,offset_limit;
@@ -123,7 +129,7 @@ typedef struct st_lex
{
uint yylineno,yytoklen; /* Simulate lex */
LEX_YYSTYPE yylval;
- SELECT_LEX select_lex, *select;
+ SELECT_LEX select_lex, *select, *last_selects;
uchar *ptr,*tok_start,*tok_end,*end_of_query;
char *length,*dec,*change,*name;
char *backup_dir; /* For RESTORE/BACKUP */
@@ -169,7 +175,7 @@ typedef struct st_lex
enum enum_var_type option_type;
uint grant,grant_tot_col,which_columns, union_option;
thr_lock_type lock_option;
- bool drop_primary,drop_if_exists,local_file;
+ bool drop_primary,drop_if_exists,local_file. olap;
bool in_comment,ignore_space,verbose,simple_alter;
uint slave_thd_opt;
} LEX;