mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 03:52:35 +01:00
Avoid DBUG_ASSERT in mysqlcheck when working with views
Remove some DBUG_ASSERT that can happen if mysqlcheck is called with a view as argument
This commit is contained in:
parent
a05a610d60
commit
a30c225e53
1 changed files with 17 additions and 2 deletions
|
@ -581,6 +581,7 @@ static int process_selected_tables(char *db, char **table_names, int tables)
|
|||
my_free(table_names_comma_sep);
|
||||
}
|
||||
else
|
||||
{
|
||||
for (; tables > 0; tables--, table_names++)
|
||||
{
|
||||
table= *table_names;
|
||||
|
@ -590,6 +591,7 @@ static int process_selected_tables(char *db, char **table_names, int tables)
|
|||
continue;
|
||||
handle_request_for_tables(table, table_len, view == 1, opt_all_in_1);
|
||||
}
|
||||
}
|
||||
DBUG_RETURN(0);
|
||||
} /* process_selected_tables */
|
||||
|
||||
|
@ -909,16 +911,29 @@ static int handle_request_for_tables(char *tables, size_t length,
|
|||
}
|
||||
break;
|
||||
case DO_ANALYZE:
|
||||
if (view)
|
||||
{
|
||||
printf("%-50s %s\n", tables, "Can't run anaylyze on a view");
|
||||
DBUG_RETURN(1);
|
||||
}
|
||||
DBUG_ASSERT(!view);
|
||||
op= (opt_write_binlog) ? "ANALYZE" : "ANALYZE NO_WRITE_TO_BINLOG";
|
||||
if (opt_persistent_all) end = strmov(end, " PERSISTENT FOR ALL");
|
||||
break;
|
||||
case DO_OPTIMIZE:
|
||||
DBUG_ASSERT(!view);
|
||||
if (view)
|
||||
{
|
||||
printf("%-50s %s\n", tables, "Can't run optimize on a view");
|
||||
DBUG_RETURN(1);
|
||||
}
|
||||
op= (opt_write_binlog) ? "OPTIMIZE" : "OPTIMIZE NO_WRITE_TO_BINLOG";
|
||||
break;
|
||||
case DO_FIX_NAMES:
|
||||
DBUG_ASSERT(!view);
|
||||
if (view)
|
||||
{
|
||||
printf("%-50s %s\n", tables, "Can't run fix names on a view");
|
||||
DBUG_RETURN(1);
|
||||
}
|
||||
DBUG_RETURN(fix_table_storage_name(tables));
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue