diff options
author | Sergei Golubchik <serg@mariadb.org> | 2016-02-22 19:55:43 +0100 |
---|---|---|
committer | Sergei Golubchik <serg@mariadb.org> | 2016-02-23 10:54:36 +0100 |
commit | 20c4dfd4a9e7c5f2f570488a7ead0b7c74e61817 (patch) | |
tree | 33e73afca64b9a387bf77a7ac5d5ad57b146b0da /sql | |
parent | 216b5cc9b6434d501f9aaee9716f5b2983ba38c8 (diff) | |
download | mariadb-git-20c4dfd4a9e7c5f2f570488a7ead0b7c74e61817.tar.gz |
MDEV-9576 syntax error on view with nullif and count
don't transform Item_func_nullif if it's context_analysis_only
Diffstat (limited to 'sql')
-rw-r--r-- | sql/item_cmpfunc.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sql/item_cmpfunc.cc b/sql/item_cmpfunc.cc index b4de622f00a..1c831d39837 100644 --- a/sql/item_cmpfunc.cc +++ b/sql/item_cmpfunc.cc @@ -2584,7 +2584,7 @@ Item_func_nullif::fix_length_and_dec() args[0] and args[2] should still point to the same original l_expr. */ DBUG_ASSERT(args[0] == args[2] || thd->stmt_arena->is_stmt_execute()); - if (args[0]->type() == SUM_FUNC_ITEM) + if (args[0]->type() == SUM_FUNC_ITEM && !thd->lex->context_analysis_only) { /* NULLIF(l_expr, r_expr) @@ -2757,7 +2757,7 @@ void Item_func_nullif::print(String *str, enum_query_type query_type) Note, the EXPLAIN EXTENDED and EXPLAIN FORMAT=JSON routines do pass QT_ITEM_FUNC_NULLIF_TO_CASE to print(). */ - DBUG_ASSERT(args[0] == args[2]); + DBUG_ASSERT(args[0] == args[2] || current_thd->lex->context_analysis_only); str->append(func_name()); str->append('('); args[2]->print(str, query_type); |