diff options
author | bell@sanja.is.com.ua <> | 2002-11-28 19:29:26 +0200 |
---|---|---|
committer | bell@sanja.is.com.ua <> | 2002-11-28 19:29:26 +0200 |
commit | b8b7d0b03bbdb4ca54c2cdefd9677ab13a43dbaf (patch) | |
tree | 00a9de3df37ec79df37b41b63cb2971efe86b0a1 /sql/sql_parse.cc | |
parent | d2e5a5ddd242a46e700e3409c738997ac0dfe45b (diff) | |
download | mariadb-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.cc | 12 |
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 |