diff --git a/mysql-test/r/having.result b/mysql-test/r/having.result index 981813c5c0dd21dde88b8d3f1529a01d5f15d401..e54f6d7f2a4467a295eaf57e53fa02399e3e591c 100644 --- a/mysql-test/r/having.result +++ b/mysql-test/r/having.result @@ -141,23 +141,6 @@ SUM(a) 6 4 DROP TABLE t1; - - - - - - - - - - - - - - - - - CREATE TABLE t1 (a int); INSERT INTO t1 VALUES (1), (2), (1), (3), (2), (1); SELECT a FROM t1 GROUP BY a HAVING a > 1; diff --git a/sql/sql_prepare.cc b/sql/sql_prepare.cc index bd5dd4234fe1b5b694a3d30764d7905338ade73f..efe73dbe2750045b499272494cc44de3dfc98d67 100644 --- a/sql/sql_prepare.cc +++ b/sql/sql_prepare.cc @@ -1862,96 +1862,6 @@ void mysql_stmt_prepare(THD *thd, const char *packet, uint packet_length) { /* Statement map deletes statement on erase */ thd->stmt_map.erase(stmt); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - } else mysql_log.write(thd, COM_STMT_PREPARE, "[%lu] %s", stmt->id, packet); @@ -2045,14 +1955,11 @@ static const char *get_dynamic_sql_string(LEX *lex, uint *query_len) } else { - stmt->setup_set_params(); - SELECT_LEX *sl= stmt->lex->all_selects_list; - for (; sl; sl= sl->next_select_in_list()) - { - /* - during query optimisation. - */ - sl->prep_where= sl->where; + query_str= lex->prepared_stmt_code.str; + *query_len= lex->prepared_stmt_code.length; + } +end: + return query_str; } diff --git a/sql/sql_select.cc b/sql/sql_select.cc index 6d3c32b123920e9a0ae1d580214aabeb085ddf73..9160c0235760127d540be6e3e375d72edec12111 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -628,7 +628,7 @@ JOIN::optimize() { Item::cond_result having_value; - having= optimize_cond(thd, having, &having_value); + having= optimize_cond(this, having, join_list, &having_value); if (thd->net.report_error) { error= 1; @@ -641,7 +641,7 @@ JOIN::optimize() { /* Impossible cond */ DBUG_PRINT("info", (having_value == Item::COND_FALSE ? "Impossible HAVING" : "Impossible WHERE")); - zero_result_cause= ? + zero_result_cause= having_value == Item::COND_FALSE ? "Impossible HAVING" : "Impossible WHERE"; error= 0; DBUG_RETURN(0);