Skip to content

Commit 535b514

Browse files
committed
MDEV-8123 mysqlcheck: new --process-views option conflicts with --quick, --extended and such
1 parent 64569fa commit 535b514

File tree

3 files changed

+48
-5
lines changed

3 files changed

+48
-5
lines changed

client/mysqlcheck.c

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -861,11 +861,19 @@ static int handle_request_for_tables(char *tables, size_t length, my_bool view)
861861
switch (what_to_do) {
862862
case DO_CHECK:
863863
op = "CHECK";
864-
if (opt_quick) end = strmov(end, " QUICK");
865-
if (opt_fast) end = strmov(end, " FAST");
866-
if (opt_medium_check) end = strmov(end, " MEDIUM"); /* Default */
867-
if (opt_extended) end = strmov(end, " EXTENDED");
868-
if (opt_check_only_changed) end = strmov(end, " CHANGED");
864+
if (view)
865+
{
866+
if (opt_fast || opt_check_only_changed)
867+
DBUG_RETURN(0);
868+
}
869+
else
870+
{
871+
if (opt_quick) end = strmov(end, " QUICK");
872+
if (opt_fast) end = strmov(end, " FAST");
873+
if (opt_extended) end = strmov(end, " EXTENDED");
874+
if (opt_medium_check) end = strmov(end, " MEDIUM"); /* Default */
875+
if (opt_check_only_changed) end = strmov(end, " CHANGED");
876+
}
869877
if (opt_upgrade) end = strmov(end, " FOR UPGRADE");
870878
break;
871879
case DO_REPAIR:

mysql-test/r/mysqlcheck.result

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -316,3 +316,17 @@ CREATE TABLE test.`t.1` (id int);
316316
mysqlcheck test t.1
317317
test.t.1 OK
318318
drop table test.`t.1`;
319+
create view v1 as select 1;
320+
mysqlcheck --process-views test
321+
test.v1 OK
322+
mysqlcheck --process-views --extended test
323+
test.v1 OK
324+
mysqlcheck --process-views --fast test
325+
mysqlcheck --process-views --quick test
326+
test.v1 OK
327+
mysqlcheck --process-views --check-only-changed test
328+
mysqlcheck --process-views --medium-check test
329+
test.v1 OK
330+
mysqlcheck --process-views --check-upgrade test
331+
test.v1 OK
332+
drop view v1;

mysql-test/t/mysqlcheck.test

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -323,3 +323,24 @@ CREATE TABLE test.`t.1` (id int);
323323
--exec $MYSQL_CHECK test t.1
324324

325325
drop table test.`t.1`;
326+
327+
#
328+
# MDEV-8123 mysqlcheck: new --process-views option conflicts with --quick, --extended and such
329+
#
330+
create view v1 as select 1;
331+
--echo mysqlcheck --process-views test
332+
--exec $MYSQL_CHECK --process-views test
333+
--echo mysqlcheck --process-views --extended test
334+
--exec $MYSQL_CHECK --process-views --extended test
335+
--echo mysqlcheck --process-views --fast test
336+
--exec $MYSQL_CHECK --process-views --fast test
337+
--echo mysqlcheck --process-views --quick test
338+
--exec $MYSQL_CHECK --process-views --quick test
339+
--echo mysqlcheck --process-views --check-only-changed test
340+
--exec $MYSQL_CHECK --process-views --check-only-changed test
341+
--echo mysqlcheck --process-views --medium-check test
342+
--exec $MYSQL_CHECK --process-views --medium-check test
343+
--echo mysqlcheck --process-views --check-upgrade test
344+
--exec $MYSQL_CHECK --process-views --check-upgrade test
345+
drop view v1;
346+

0 commit comments

Comments
 (0)