diff options
author | unknown <bell@sanja.is.com.ua> | 2003-05-17 10:05:07 +0300 |
---|---|---|
committer | unknown <bell@sanja.is.com.ua> | 2003-05-17 10:05:07 +0300 |
commit | acda3d79b6f16441375171dfc58a78b85d313eff (patch) | |
tree | c9fa69ab2da8ee1dc3cc3ea759cd3fa02bef9aca /sql/sql_lex.cc | |
parent | ddabd51c5738bf3bd9f0f40d7368bd3eee92e966 (diff) | |
download | mariadb-git-acda3d79b6f16441375171dfc58a78b85d313eff.tar.gz |
fixed memory overrun (bug 380)
mysql-test/r/func_group.result:
new tests
mysql-test/t/func_group.test:
new tests
sql/item.cc:
count items in select list
sql/item_subselect.cc:
use number of item in select list for array creation
sql/item_sum.cc:
with_sum_func now is boolean
sql/sql_derived.cc:
use number of item in select list for array creation
sql/sql_lex.cc:
create_refs changed with parsing_place enum variable
sql/sql_lex.h:
added items in select list counter
create_refs changed with parsing_place enum variable
with_sum_func now is boolean
sql/sql_select.cc:
use number of item in select list for array creation
sql/sql_union.cc:
use number of item in select list for array creation
sql/sql_yacc.yy:
create_refs changed with parsing_place enum variable
Diffstat (limited to 'sql/sql_lex.cc')
-rw-r--r-- | sql/sql_lex.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sql/sql_lex.cc b/sql/sql_lex.cc index 9bc4dfc74e7..c61149b8313 100644 --- a/sql/sql_lex.cc +++ b/sql/sql_lex.cc @@ -111,7 +111,8 @@ LEX *lex_start(THD *thd, uchar *buf,uint length) lex->next_state=MY_LEX_START; lex->end_of_query=(lex->ptr=buf)+length; lex->yylineno = 1; - lex->select_lex.create_refs=lex->in_comment=0; + lex->select_lex.parsing_place= SELECT_LEX_NODE::NO_MATTER; + lex->in_comment=0; lex->length=0; lex->select_lex.in_sum_expr=0; lex->select_lex.expr_list.empty(); @@ -973,8 +974,9 @@ void st_select_lex_node::init_select() order_list.next= (byte**) &order_list.first; select_limit= HA_POS_ERROR; offset_limit= 0; + select_items= 0; with_sum_func= 0; - create_refs= 0; + parsing_place= SELECT_LEX_NODE::NO_MATTER; } void st_select_lex_unit::init_query() |