mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
MDEV-9641 MDEV-9644 NULLIF assertions
* only copy args[0] to args[2] after fix_fields (when all item substitutions have already happened) * change QT_ITEM_FUNC_NULLIF_TO_CASE (that allows to print NULLIF as CASE) to QT_ITEM_ORIGINAL_FUNC_NULLIF (that prohibits it). So that NULLIF-to-CASE is allowed by default and only disabled explicitly for SHOW VIEW|FUNCTION|PROCEDURE and mysql_make_view. By default it is allowed (in particular in error messages and debug output, that can happen anytime before or after optimizer).
This commit is contained in:
@ -2352,7 +2352,8 @@ static int show_create_view(THD *thd, TABLE_LIST *table, String *buff)
|
||||
We can't just use table->query, because our SQL_MODE may trigger
|
||||
a different syntax, like when ANSI_QUOTES is defined.
|
||||
*/
|
||||
table->view->unit.print(buff, QT_ORDINARY);
|
||||
table->view->unit.print(buff, enum_query_type(QT_ORDINARY |
|
||||
QT_ITEM_ORIGINAL_FUNC_NULLIF));
|
||||
|
||||
if (table->with_check != VIEW_CHECK_NONE)
|
||||
{
|
||||
|
Reference in New Issue
Block a user