summaryrefslogtreecommitdiff
path: root/sql/sql_parse.cc
diff options
context:
space:
mode:
authorbell@sanja.is.com.ua <>2002-11-28 19:29:26 +0200
committerbell@sanja.is.com.ua <>2002-11-28 19:29:26 +0200
commitb8b7d0b03bbdb4ca54c2cdefd9677ab13a43dbaf (patch)
tree00a9de3df37ec79df37b41b63cb2971efe86b0a1 /sql/sql_parse.cc
parentd2e5a5ddd242a46e700e3409c738997ac0dfe45b (diff)
downloadmariadb-git-b8b7d0b03bbdb4ca54c2cdefd9677ab13a43dbaf.tar.gz
fixed * without tables in IN bug
fixed sunction-test select in IN bug fixed unions in subselect bug
Diffstat (limited to 'sql/sql_parse.cc')
-rw-r--r--sql/sql_parse.cc12
1 files changed, 9 insertions, 3 deletions
diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc
index a410a9f2d7e..26817bc30ac 100644
--- a/sql/sql_parse.cc
+++ b/sql/sql_parse.cc
@@ -1329,7 +1329,6 @@ mysql_execute_command(THD *thd)
*/
thd->old_total_warn_count= thd->total_warn_count;
- thd->net.report_error= 0;
if (thd->slave_thread)
{
/*
@@ -2957,6 +2956,8 @@ mysql_parse(THD *thd, char *inBuf, uint length)
mysql_init_query(thd);
thd->query_length = length;
+ thd->net.report_error= 0;
+
if (query_cache_send_result_to_client(thd, inBuf, length) <= 0)
{
LEX *lex=lex_start(thd, (uchar*) inBuf, length);
@@ -2969,8 +2970,13 @@ mysql_parse(THD *thd, char *inBuf, uint length)
}
else
{
- mysql_execute_command(thd);
- query_cache_end_of_result(&thd->net);
+ if (thd->net.report_error)
+ send_error(thd, 0, NullS);
+ else
+ {
+ mysql_execute_command(thd);
+ query_cache_end_of_result(&thd->net);
+ }
}
}
else