summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mysql-test/r/having.result17
-rw-r--r--sql/sql_prepare.cc103
-rw-r--r--sql/sql_select.cc4
3 files changed, 7 insertions, 117 deletions
diff --git a/mysql-test/r/having.result b/mysql-test/r/having.result
index 981813c5c0d..e54f6d7f2a4 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 bd5dd4234fe..efe73dbe275 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 6d3c32b1239..9160c023576 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);