summaryrefslogtreecommitdiff
path: root/sql/sql_lex.cc
diff options
context:
space:
mode:
authorunknown <bell@sanja.is.com.ua>2002-10-30 13:18:52 +0200
committerunknown <bell@sanja.is.com.ua>2002-10-30 13:18:52 +0200
commit0bb1e716bcb14aa8321893b906aaf79f32b7c577 (patch)
tree27649c1870a43321e1b60ed8b0693461db05b8f1 /sql/sql_lex.cc
parentfc4c9c01ee8105888b75f01728f651c4c496cc22 (diff)
downloadmariadb-git-0bb1e716bcb14aa8321893b906aaf79f32b7c577.tar.gz
removed SELECT_LEX_UNIT -> SELECT_LEX pointer conversion (SCRUM)
fixed some possible bugs sql/item.cc: removed SELECT_LEX_UNIT -> SELECT_LEX pointer conversion sql/item_subselect.cc: removed SELECT_LEX_UNIT -> SELECT_LEX pointer conversion sql/item_sum.cc: removed SELECT_LEX_UNIT -> SELECT_LEX pointer conversion sql/mysql_priv.h: removed SELECT_LEX_UNIT -> SELECT_LEX pointer conversion sql/sql_base.cc: removed SELECT_LEX_UNIT -> SELECT_LEX pointer conversion sql/sql_cache.cc: removed SELECT_LEX_UNIT -> SELECT_LEX pointer conversion sql/sql_delete.cc: removed SELECT_LEX_UNIT -> SELECT_LEX pointer conversion sql/sql_lex.cc: removed SELECT_LEX_UNIT -> SELECT_LEX pointer conversion sql/sql_lex.h: removed SELECT_LEX_UNIT -> SELECT_LEX pointer conversion fixed some possible bugs sql/sql_parse.cc: removed SELECT_LEX_UNIT -> SELECT_LEX pointer conversion sql/sql_prepare.cc: removed SELECT_LEX_UNIT -> SELECT_LEX pointer conversion sql/sql_repl.cc: removed SELECT_LEX_UNIT -> SELECT_LEX pointer conversion sql/sql_select.cc: removed SELECT_LEX_UNIT -> SELECT_LEX pointer conversion sql/sql_union.cc: removed SELECT_LEX_UNIT -> SELECT_LEX pointer conversion sql/sql_update.cc: removed SELECT_LEX_UNIT -> SELECT_LEX pointer conversion sql/sql_yacc.yy: removed SELECT_LEX_UNIT -> SELECT_LEX pointer conversion
Diffstat (limited to 'sql/sql_lex.cc')
-rw-r--r--sql/sql_lex.cc120
1 files changed, 117 insertions, 3 deletions
diff --git a/sql/sql_lex.cc b/sql/sql_lex.cc
index 52f1be6bddf..97cf936240f 100644
--- a/sql/sql_lex.cc
+++ b/sql/sql_lex.cc
@@ -147,7 +147,7 @@ LEX *lex_start(THD *thd, uchar *buf,uint length)
lex->select_lex.in_sum_expr=0;
lex->select_lex.expr_list.empty();
lex->select_lex.ftfunc_list_alloc.empty();
- lex->select_lex.ftfunc_list= &lex->select->ftfunc_list_alloc;
+ lex->select_lex.ftfunc_list= &lex->select_lex.ftfunc_list_alloc;
lex->convert_set= (lex->thd= thd)->variables.convert_set;
lex->yacc_yyss=lex->yacc_yyvs=0;
lex->ignore_space=test(thd->sql_mode & MODE_IGNORE_SPACE);
@@ -934,7 +934,8 @@ void st_select_lex_node::init_select()
order_list.first= 0;
order_list.next= (byte**) &order_list.first;
select_limit= HA_POS_ERROR;
- offset_limit= 0;
+ offset_limit= 0;
+ create_refs= dependent= 0;
}
void st_select_lex_unit::init_query()
@@ -974,7 +975,7 @@ void st_select_lex::init_select()
ftfunc_list_alloc.empty();
ftfunc_list= &ftfunc_list_alloc;
linkage= UNSPECIFIED_TYPE;
- depended= having_fix_field= 0;
+ having_fix_field= 0;
}
/*
@@ -1042,6 +1043,44 @@ void st_select_lex_node::exclude()
*/
}
+bool st_select_lex_node::add_item_to_list(Item *item)
+{
+ return 1;
+}
+
+bool st_select_lex_node::add_group_to_list(Item *item, bool asc)
+{
+ return 1;
+}
+
+//why compiler/linker do not allow make it inline?
+bool st_select_lex_node::add_order_to_list(Item *item, bool asc)
+{
+ return add_to_list(order_list,item,asc);
+}
+
+bool st_select_lex_node::add_ftfunc_to_list(Item_func_match *func)
+{
+ return 1;
+}
+
+bool st_select_lex_node::set_braces(bool value) { return 1; }
+bool st_select_lex_node::inc_in_sum_expr() { return 1; }
+uint st_select_lex_node::get_in_sum_expr() { return 0; }
+TABLE_LIST* st_select_lex_node::get_table_list() { return 0; }
+List<Item>* st_select_lex_node::get_item_list() { return 0; }
+List<String>* st_select_lex_node::get_use_index() { return 0; }
+List<String>* st_select_lex_node::get_ignore_index() { return 0; }
+TABLE_LIST *st_select_lex_node::add_table_to_list(Table_ident *table,
+ LEX_STRING *alias,
+ bool updating,
+ thr_lock_type flags,
+ List<String> *use_index,
+ List<String> *ignore_index)
+{
+ return 0;
+}
+
/*
This is used for UNION & subselect to create a new table list of all used
tables.
@@ -1118,3 +1157,78 @@ bool st_select_lex_unit::create_total_list_n_last_return(THD *thd, st_lex *lex,
*result= new_table_list;
return 0;
}
+
+st_select_lex_unit* st_select_lex_unit::master_unit()
+{
+ return this;
+}
+
+st_select_lex* st_select_lex_unit::outer_select()
+{
+ return (st_select_lex*) master;
+}
+
+
+bool st_select_lex::add_item_to_list(Item *item)
+{
+ return item_list.push_back(item);
+}
+
+bool st_select_lex::add_group_to_list(Item *item, bool asc)
+{
+ return add_to_list(group_list, item, asc);
+}
+
+bool st_select_lex::add_ftfunc_to_list(Item_func_match *func)
+{
+ return !func || ftfunc_list->push_back(func); // end of memory?
+}
+
+st_select_lex_unit* st_select_lex::master_unit()
+{
+ return (st_select_lex_unit*) master;
+}
+
+st_select_lex* st_select_lex::outer_select()
+{
+ return (st_select_lex*) master->get_master();
+}
+
+bool st_select_lex::set_braces(bool value)
+{
+ braces= value;
+ return 0;
+}
+
+bool st_select_lex::inc_in_sum_expr()
+{
+ in_sum_expr++;
+ return 0;
+}
+
+uint st_select_lex::get_in_sum_expr()
+{
+ return in_sum_expr;
+}
+
+TABLE_LIST* st_select_lex::get_table_list()
+{
+ return (TABLE_LIST*) table_list.first;
+}
+
+List<Item>* st_select_lex::get_item_list()
+{
+ return &item_list;
+}
+
+List<String>* st_select_lex::get_use_index()
+{
+ return use_index_ptr;
+}
+
+List<String>* st_select_lex::get_ignore_index()
+{
+ return ignore_index_ptr;
+}
+
+// There are st_select_lex::add_table_to_list in sql_parse.cc