1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-01 03:47:19 +03:00

Fix for a bug record #307.

Very nasty bug.
It was caused by double free()-ing memory of join->select and 
join->quick. 

I was able to pinpoint it only after using Valgrind.

Plus better fix for bug with TMP_TABLE_PARAM.

Plus new constructor for SELECT_LEX.


mysql-test/r/innodb.result:
  Fix for a bug record #307.
  
  Very nasty bug.
  It was caused by double free()-ing memory of join->select and 
  join->quick. 
  
  I was able to pinpoint it only after using Valgrind.
mysql-test/t/innodb.test:
  Fix for a bug record #307.
  
  Very nasty bug.
  It was caused by double free()-ing memory of join->select and 
  join->quick. 
  
  I was able to pinpoint it only after using Valgrind.
sql/sql_lex.cc:
  Adding a usefull constructor
sql/sql_lex.h:
  Adding a usefull constructor which additionally required few more
  definitions.
sql/sql_select.cc:
  Fix for a bug record #307.
  
  Very nasty bug.
  It was caused by double free()-ing memory of join->select and 
  join->quick. 
  
  I was able to pinpoint it only after using Valgrind.
sql/sql_union.cc:
  Fixing bug #307.
  
  Also, a better fix for TMP_TABLE_PARAM bug.
  
  Also, use of the new constructor for SELECT_LEX.
This commit is contained in:
unknown
2003-04-21 21:03:32 +03:00
parent fa741bbc03
commit 8078280c76
6 changed files with 64 additions and 16 deletions

View File

@ -396,6 +396,8 @@ public:
}
friend void mysql_init_query(THD *thd);
st_select_lex(struct st_lex *lex);
st_select_lex() {;}
void make_empty_select(st_select_lex *last_select)
{
select_number=INT_MAX;
@ -478,7 +480,7 @@ typedef struct st_lex
CHARSET_INFO *charset;
char *help_arg;
SQL_LIST *gorder_list;
st_lex() {;}
inline void uncacheable()
{
safe_to_cache_query= 0;