Description:
INTO OUTFILE/DUMPFILE should not be cached
How to repeat:
Select *
INTO OUTFILE "YourFileName"
FIELDS TERMINATED BY ',' ENCLOSED BY '"'
From AnyTable;
twice with switched on query cache
Suggested fix:
diff -Nrc a/sql/sql_yacc.yy b/sql/sql_yacc.yy
*** a/sql/sql_yacc.yy Thu Mar 6 17:37:39 2003
--- b/sql/sql_yacc.yy Thu Mar 6 17:37:39 2003
***************
*** 2448,2460 ****
opt_into:
INTO OUTFILE TEXT_STRING
{
! if (!(Lex->exchange= new sql_exchange($3.str,0)))
YYABORT;
}
opt_field_term opt_line_term
| INTO DUMPFILE TEXT_STRING
{
! if (!(Lex->exchange= new sql_exchange($3.str,1)))
YYABORT;
};
--- 2448,2464 ----
opt_into:
INTO OUTFILE TEXT_STRING
{
! THD *thd= current_thd;
! thd->safe_to_cache_query= 0;
! if (!(thd->lex.exchange= new sql_exchange($3.str,0)))
YYABORT;
}
opt_field_term opt_line_term
| INTO DUMPFILE TEXT_STRING
{
! THD *thd= current_thd;
! thd->safe_to_cache_query= 0;
! if (!(thd->lex.exchange= new sql_exchange($3.str,1)))
YYABORT;
};