Silence bogus GCC 7 warnings -Wimplicit-fallthrough

Do not silence uncertain cases, or fix any bugs.

The only functional change should be that ha_federated::extra()
is not calling DBUG_PRINT to report an unhandled case for
HA_EXTRA_PREPARE_FOR_DROP.
This commit is contained in:
Marko Mäkelä 2017-05-16 20:08:47 +03:00
parent 03dca7a333
commit 71cd205956
64 changed files with 175 additions and 80 deletions

View File

@ -2168,6 +2168,7 @@ static void print_xml_comment(FILE *xml_file, size_t len,
case '-': case '-':
if (*(comment_string + 1) == '-') /* Only one hyphen allowed. */ if (*(comment_string + 1) == '-') /* Only one hyphen allowed. */
break; break;
/* fall through */
default: default:
fputc(*comment_string, xml_file); fputc(*comment_string, xml_file);
break; break;

View File

@ -174,6 +174,7 @@ register char **argv[];
break; break;
case 'V': case 'V':
version=1; version=1;
/* fall through */
case 'I': case 'I':
case '?': case '?':
help=1; /* Help text written */ help=1; /* Help text written */

View File

@ -1,5 +1,6 @@
/* /*
Copyright (c) 2005, 2013, Oracle and/or its affiliates. Copyright (c) 2005, 2013, Oracle and/or its affiliates.
Copyright (c) 2017, MariaDB Corporation.
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@ -242,6 +243,7 @@ common_1_lev_code:
break; break;
case INTERVAL_WEEK: case INTERVAL_WEEK:
expr/= 7; expr/= 7;
/* fall through */
default: default:
close_quote= FALSE; close_quote= FALSE;
break; break;

View File

@ -10126,7 +10126,7 @@ bool Create_field::check(THD *thd)
case MYSQL_TYPE_DATE: case MYSQL_TYPE_DATE:
/* We don't support creation of MYSQL_TYPE_DATE anymore */ /* We don't support creation of MYSQL_TYPE_DATE anymore */
sql_type= MYSQL_TYPE_NEWDATE; sql_type= MYSQL_TYPE_NEWDATE;
/* fall trough */ /* fall through */
case MYSQL_TYPE_NEWDATE: case MYSQL_TYPE_NEWDATE:
length= MAX_DATE_WIDTH; length= MAX_DATE_WIDTH;
break; break;

View File

@ -1,6 +1,6 @@
/* /*
Copyright (c) 2000, 2016, Oracle and/or its affiliates. Copyright (c) 2000, 2016, Oracle and/or its affiliates.
Copyright (c) 2010, 2016, MariaDB Copyright (c) 2010, 2017, MariaDB
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@ -5824,7 +5824,7 @@ Field *Item::tmp_table_field_from_field_type(TABLE *table,
Field_string(max_length, maybe_null, name, collation.collation); Field_string(max_length, maybe_null, name, collation.collation);
break; break;
} }
/* Fall through to make_string_field() */ /* Fall through */
case MYSQL_TYPE_ENUM: case MYSQL_TYPE_ENUM:
case MYSQL_TYPE_SET: case MYSQL_TYPE_SET:
case MYSQL_TYPE_VAR_STRING: case MYSQL_TYPE_VAR_STRING:

View File

@ -1,5 +1,5 @@
/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. /* Copyright (c) 2000, 2015, Oracle and/or its affiliates.
Copyright (c) 2009, 2015, MariaDB Copyright (c) 2009, 2017, MariaDB
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@ -1944,6 +1944,7 @@ my_decimal *Item_func_mod::decimal_op(my_decimal *decimal_value)
return decimal_value; return decimal_value;
case E_DEC_DIV_ZERO: case E_DEC_DIV_ZERO:
signal_divide_by_null(); signal_divide_by_null();
/* fall through */
default: default:
null_value= 1; null_value= 1;
return 0; return 0;

View File

@ -226,7 +226,7 @@ String *Item_func_sha2::val_str_ascii(String *str)
break; break;
case 0: // SHA-256 is the default case 0: // SHA-256 is the default
digest_length= 256; digest_length= 256;
/* fall trough */ /* fall through */
case 256: case 256:
my_sha256(digest_buf, input_ptr, input_len); my_sha256(digest_buf, input_ptr, input_len);
break; break;
@ -272,7 +272,7 @@ void Item_func_sha2::fix_length_and_dec()
switch (sha_variant) { switch (sha_variant) {
case 0: // SHA-256 is the default case 0: // SHA-256 is the default
sha_variant= 256; sha_variant= 256;
/* fall trough */ /* fall through */
case 512: case 512:
case 384: case 384:
case 256: case 256:
@ -5060,7 +5060,7 @@ bool Item_dyncol_get::get_date(MYSQL_TIME *ltime, ulonglong fuzzy_date)
goto null; goto null;
case DYN_COL_INT: case DYN_COL_INT:
signed_value= 1; // For error message signed_value= 1; // For error message
/* fall_trough */ /* fall through */
case DYN_COL_UINT: case DYN_COL_UINT:
if (signed_value || val.x.ulong_value <= LONGLONG_MAX) if (signed_value || val.x.ulong_value <= LONGLONG_MAX)
{ {
@ -5073,7 +5073,7 @@ bool Item_dyncol_get::get_date(MYSQL_TIME *ltime, ulonglong fuzzy_date)
} }
/* let double_to_datetime_with_warn() issue the warning message */ /* let double_to_datetime_with_warn() issue the warning message */
val.x.double_value= static_cast<double>(ULONGLONG_MAX); val.x.double_value= static_cast<double>(ULONGLONG_MAX);
/* fall_trough */ /* fall through */
case DYN_COL_DOUBLE: case DYN_COL_DOUBLE:
if (double_to_datetime_with_warn(val.x.double_value, ltime, fuzzy_date, if (double_to_datetime_with_warn(val.x.double_value, ltime, fuzzy_date,
0 /* TODO */)) 0 /* TODO */))

View File

@ -1,5 +1,5 @@
/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. /* Copyright (c) 2000, 2016, Oracle and/or its affiliates.
Copyright (c) 2009, 2016, MariaDB Copyright (c) 2009, 2017, MariaDB
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@ -9186,8 +9186,10 @@ void TC_LOG_MMAP::close()
mysql_cond_destroy(&COND_pool); mysql_cond_destroy(&COND_pool);
mysql_cond_destroy(&COND_active); mysql_cond_destroy(&COND_active);
mysql_cond_destroy(&COND_queue_busy); mysql_cond_destroy(&COND_queue_busy);
/* fall through */
case 5: case 5:
data[0]='A'; // garble the first (signature) byte, in case mysql_file_delete fails data[0]='A'; // garble the first (signature) byte, in case mysql_file_delete fails
/* fall through */
case 4: case 4:
for (i=0; i < npages; i++) for (i=0; i < npages; i++)
{ {
@ -9196,10 +9198,13 @@ void TC_LOG_MMAP::close()
mysql_mutex_destroy(&pages[i].lock); mysql_mutex_destroy(&pages[i].lock);
mysql_cond_destroy(&pages[i].cond); mysql_cond_destroy(&pages[i].cond);
} }
/* fall through */
case 3: case 3:
my_free(pages); my_free(pages);
/* fall through */
case 2: case 2:
my_munmap((char*)data, (size_t)file_length); my_munmap((char*)data, (size_t)file_length);
/* fall through */
case 1: case 1:
mysql_file_close(fd, MYF(0)); mysql_file_close(fd, MYF(0));
} }

View File

@ -9269,6 +9269,9 @@ mysql_getopt_value(const char *name, uint length,
return (uchar**) &key_cache->changed_blocks_hash_size; return (uchar**) &key_cache->changed_blocks_hash_size;
} }
} }
/* We return in all cases above. Let us silence -Wimplicit-fallthrough */
DBUG_ASSERT(0);
/* fall through */
#ifdef HAVE_REPLICATION #ifdef HAVE_REPLICATION
case OPT_REPLICATE_DO_DB: case OPT_REPLICATE_DO_DB:
case OPT_REPLICATE_DO_TABLE: case OPT_REPLICATE_DO_TABLE:

View File

@ -1,5 +1,5 @@
/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. /* Copyright (c) 2000, 2011, Oracle and/or its affiliates.
Copyright (c) 2008-2011 Monty Program Ab Copyright (c) 2008, 2017, MariaDB Corporation.
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@ -1042,6 +1042,7 @@ static int maxmin_in_range(bool max_fl, Field* field, COND *cond)
case Item_func::LT_FUNC: case Item_func::LT_FUNC:
case Item_func::LE_FUNC: case Item_func::LE_FUNC:
less_fl= 1; less_fl= 1;
/* fall through */
case Item_func::GT_FUNC: case Item_func::GT_FUNC:
case Item_func::GE_FUNC: case Item_func::GE_FUNC:
{ {

View File

@ -2046,7 +2046,7 @@ gtid_waiting::wait_for_pos(THD *thd, String *gtid_str, longlong timeout_us)
{ {
case -1: case -1:
status_var_increment(thd->status_var.master_gtid_wait_timeouts); status_var_increment(thd->status_var.master_gtid_wait_timeouts);
/* Deliberate fall through. */ /* fall through */
case 0: case 0:
status_var_add(thd->status_var.master_gtid_wait_time, status_var_add(thd->status_var.master_gtid_wait_time,
microsecond_interval_timer() - before); microsecond_interval_timer() - before);

View File

@ -1,5 +1,5 @@
/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. /* Copyright (c) 2000, 2016, Oracle and/or its affiliates.
Copyright (c) 2009, 2016, MariaDB Copyright (c) 2009, 2017, MariaDB
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@ -6072,9 +6072,8 @@ static int queue_event(Master_info* mi,const char* buf, ulong event_len)
mi->last_queued_gtid.seq_no == 1000) mi->last_queued_gtid.seq_no == 1000)
goto skip_relay_logging; goto skip_relay_logging;
}); });
/* Fall through to default case ... */
#endif #endif
/* fall through */
default: default:
default_action: default_action:
DBUG_EXECUTE_IF("kill_slave_io_after_2_events", DBUG_EXECUTE_IF("kill_slave_io_after_2_events",

View File

@ -1,6 +1,6 @@
/* /*
Copyright (c) 2002, 2016, Oracle and/or its affiliates. Copyright (c) 2002, 2016, Oracle and/or its affiliates.
Copyright (c) 2011, 2016, MariaDB Copyright (c) 2011, 2017, MariaDB
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@ -142,6 +142,7 @@ sp_get_item_value(THD *thd, Item *item, String *str)
if (item->field_type() != MYSQL_TYPE_BIT) if (item->field_type() != MYSQL_TYPE_BIT)
return item->val_str(str); return item->val_str(str);
else {/* Bit type is handled as binary string */} else {/* Bit type is handled as binary string */}
/* fall through */
case STRING_RESULT: case STRING_RESULT:
{ {
String *result= item->val_str(str); String *result= item->val_str(str);

View File

@ -5532,6 +5532,7 @@ bool xid_cache_insert(THD *thd, XID_STATE *xid_state)
break; break;
case 1: case 1:
my_error(ER_XAER_DUPID, MYF(0)); my_error(ER_XAER_DUPID, MYF(0));
/* fall through */
default: default:
xid_state->xid_cache_element= 0; xid_state->xid_cache_element= 0;
} }

View File

@ -1,4 +1,5 @@
/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved. /* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.
Copyright (c) 2017, MariaDB Corporation.
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@ -454,7 +455,8 @@ sql_digest_state* digest_add_token(sql_digest_state *state,
} }
} while (found_unary); } while (found_unary);
} }
/* fall through, for case NULL_SYM below */ /* for case NULL_SYM below */
/* fall through */
case LEX_HOSTNAME: case LEX_HOSTNAME:
case TEXT_STRING: case TEXT_STRING:
case NCHAR_STRING: case NCHAR_STRING:

View File

@ -1,5 +1,5 @@
/* Copyright (c) 2000, 2014, Oracle and/or its affiliates. /* Copyright (c) 2000, 2014, Oracle and/or its affiliates.
Copyright (c) 2009, 2016, MariaDB Copyright (c) 2009, 2017, MariaDB
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@ -1395,12 +1395,14 @@ static int lex_one_token(YYSTYPE *yylval, THD *thd)
state= MY_LEX_HEX_NUMBER; state= MY_LEX_HEX_NUMBER;
break; break;
} }
/* fall through */
case MY_LEX_IDENT_OR_BIN: case MY_LEX_IDENT_OR_BIN:
if (lip->yyPeek() == '\'') if (lip->yyPeek() == '\'')
{ // Found b'bin-number' { // Found b'bin-number'
state= MY_LEX_BIN_NUMBER; state= MY_LEX_BIN_NUMBER;
break; break;
} }
/* fall through */
case MY_LEX_IDENT: case MY_LEX_IDENT:
const char *start; const char *start;
#if defined(USE_MB) && defined(USE_MB_IDENT) #if defined(USE_MB) && defined(USE_MB_IDENT)
@ -1745,6 +1747,7 @@ static int lex_one_token(YYSTYPE *yylval, THD *thd)
break; break;
} }
/* " used for strings */ /* " used for strings */
/* fall through */
case MY_LEX_STRING: // Incomplete text string case MY_LEX_STRING: // Incomplete text string
{ {
uint sep; uint sep;

View File

@ -2932,8 +2932,8 @@ mysql_execute_command(THD *thd)
MYF(0)); MYF(0));
goto error; goto error;
} }
/* no break; fall through */
} }
/* fall through */
case SQLCOM_SHOW_STATUS_PROC: case SQLCOM_SHOW_STATUS_PROC:
case SQLCOM_SHOW_STATUS_FUNC: case SQLCOM_SHOW_STATUS_FUNC:
case SQLCOM_SHOW_DATABASES: case SQLCOM_SHOW_DATABASES:
@ -2947,7 +2947,7 @@ mysql_execute_command(THD *thd)
case SQLCOM_SELECT: case SQLCOM_SELECT:
if (WSREP_CLIENT(thd) && wsrep_sync_wait(thd)) if (WSREP_CLIENT(thd) && wsrep_sync_wait(thd))
goto error; goto error;
/* fall through */
case SQLCOM_SHOW_PLUGINS: case SQLCOM_SHOW_PLUGINS:
case SQLCOM_SHOW_VARIABLES: case SQLCOM_SHOW_VARIABLES:
case SQLCOM_SHOW_CHARSETS: case SQLCOM_SHOW_CHARSETS:
@ -3776,8 +3776,8 @@ end_with_restore_list:
/* mysql_update return 2 if we need to switch to multi-update */ /* mysql_update return 2 if we need to switch to multi-update */
if (up_result != 2) if (up_result != 2)
break; break;
/* Fall through */
} }
/* Fall through */
case SQLCOM_UPDATE_MULTI: case SQLCOM_UPDATE_MULTI:
{ {
DBUG_ASSERT(first_table == all_tables && first_table != 0); DBUG_ASSERT(first_table == all_tables && first_table != 0);
@ -3895,6 +3895,7 @@ end_with_restore_list:
} }
#endif #endif
} }
/* fall through */
case SQLCOM_INSERT: case SQLCOM_INSERT:
{ {
DBUG_ASSERT(first_table == all_tables && first_table != 0); DBUG_ASSERT(first_table == all_tables && first_table != 0);
@ -4809,6 +4810,7 @@ end_with_restore_list:
initialize this variable because RESET shares the same code as FLUSH initialize this variable because RESET shares the same code as FLUSH
*/ */
lex->no_write_to_binlog= 1; lex->no_write_to_binlog= 1;
/* fall through */
case SQLCOM_FLUSH: case SQLCOM_FLUSH:
{ {
int write_to_binlog; int write_to_binlog;

View File

@ -1,6 +1,6 @@
/* /*
Copyright (c) 2005, 2013, Oracle and/or its affiliates. Copyright (c) 2005, 2013, Oracle and/or its affiliates.
Copyright (c) 2010, 2014, SkySQL Ab. Copyright (c) 2010, 2017, MariaDB Corporation.
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@ -1848,8 +1848,8 @@ static bool plugin_load_list(MEM_ROOT *tmp_root, const char *list)
switch ((*(p++)= *(list++))) { switch ((*(p++)= *(list++))) {
case '\0': case '\0':
list= NULL; /* terminate the loop */ list= NULL; /* terminate the loop */
/* fall through */
#ifndef __WIN__ #ifndef __WIN__
/* fall through */
case ':': /* can't use this as delimiter as it may be drive letter */ case ':': /* can't use this as delimiter as it may be drive letter */
#endif #endif
case ';': case ';':
@ -1890,6 +1890,7 @@ static bool plugin_load_list(MEM_ROOT *tmp_root, const char *list)
str->str= p; str->str= p;
continue; continue;
} }
/* fall through */
default: default:
str->length++; str->length++;
continue; continue;

View File

@ -1,5 +1,5 @@
/* Copyright (c) 2002, 2015, Oracle and/or its affiliates. /* Copyright (c) 2002, 2015, Oracle and/or its affiliates.
Copyright (c) 2008, 2015, MariaDB Copyright (c) 2008, 2017, MariaDB
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@ -2298,7 +2298,7 @@ static bool check_prepared_statement(Prepared_statement *stmt)
/* mysql_test_update returns 2 if we need to switch to multi-update */ /* mysql_test_update returns 2 if we need to switch to multi-update */
if (res != 2) if (res != 2)
break; break;
/* fall through */
case SQLCOM_UPDATE_MULTI: case SQLCOM_UPDATE_MULTI:
res= mysql_test_multiupdate(stmt, tables, res == 2); res= mysql_test_multiupdate(stmt, tables, res == 2);
break; break;

View File

@ -1,5 +1,5 @@
/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. /* Copyright (c) 2000, 2015, Oracle and/or its affiliates.
Copyright (c) 2009, 2016, MariaDB Copyright (c) 2009, 2017, MariaDB
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@ -1079,6 +1079,7 @@ public:
is_handled= FALSE; is_handled= FALSE;
break; break;
} }
/* fall through */
case ER_COLUMNACCESS_DENIED_ERROR: case ER_COLUMNACCESS_DENIED_ERROR:
case ER_VIEW_NO_EXPLAIN: /* Error was anonymized, ignore all the same. */ case ER_VIEW_NO_EXPLAIN: /* Error was anonymized, ignore all the same. */
case ER_PROCACCESS_DENIED_ERROR: case ER_PROCACCESS_DENIED_ERROR:

View File

@ -6880,7 +6880,8 @@ bool alter_table_manage_keys(TABLE *table, int indexes_were_disabled,
case Alter_info::LEAVE_AS_IS: case Alter_info::LEAVE_AS_IS:
if (!indexes_were_disabled) if (!indexes_were_disabled)
break; break;
/* fall-through: disabled indexes */ /* disabled indexes */
/* fall through */
case Alter_info::DISABLE: case Alter_info::DISABLE:
error= table->file->ha_disable_indexes(HA_KEY_SWITCH_NONUNIQ_SAVE); error= table->file->ha_disable_indexes(HA_KEY_SWITCH_NONUNIQ_SAVE);
} }

View File

@ -4680,9 +4680,11 @@ size_number:
case 'g': case 'g':
case 'G': case 'G':
text_shift_number+=10; text_shift_number+=10;
/* fall through */
case 'm': case 'm':
case 'M': case 'M':
text_shift_number+=10; text_shift_number+=10;
/* fall through */
case 'k': case 'k':
case 'K': case 'K':
text_shift_number+=10; text_shift_number+=10;

View File

@ -382,7 +382,8 @@ static void wsrep_replication_process(THD *thd)
case WSREP_TRX_MISSING: case WSREP_TRX_MISSING:
/* these suggests a bug in provider code */ /* these suggests a bug in provider code */
WSREP_WARN("bad return from recv() call: %d", rcode); WSREP_WARN("bad return from recv() call: %d", rcode);
/* fall through to node shutdown */ /* Shut down this node. */
/* fall through */
case WSREP_FATAL: case WSREP_FATAL:
/* Cluster connectivity is lost. /* Cluster connectivity is lost.
* *

View File

@ -155,6 +155,7 @@ ARRAY::ARRAY(PGLOBAL g, int type, int size, int length, int prec)
switch (type) { switch (type) {
case TYPE_STRING: case TYPE_STRING:
Len = length; Len = length;
/* fall through */
case TYPE_SHORT: case TYPE_SHORT:
case TYPE_INT: case TYPE_INT:
case TYPE_DOUBLE: case TYPE_DOUBLE:
@ -592,6 +593,7 @@ int ARRAY::Convert(PGLOBAL g, int k, PVAL vp)
switch (Type) { switch (Type) {
case TYPE_DOUBLE: case TYPE_DOUBLE:
prec = 2; prec = 2;
/* fall through */
case TYPE_SHORT: case TYPE_SHORT:
case TYPE_INT: case TYPE_INT:
case TYPE_DATE: case TYPE_DATE:

View File

@ -503,7 +503,8 @@ bool DBFFAM::OpenTableFile(PGLOBAL g)
break; break;
} // endif } // endif
// Selective delete, pass thru // Selective delete
/* fall through */
case MODE_UPDATE: case MODE_UPDATE:
UseTemp = Tdbp->IsUsingTemp(g); UseTemp = Tdbp->IsUsingTemp(g);
strcpy(opmode, (UseTemp) ? "rb" : "r+b"); strcpy(opmode, (UseTemp) ? "rb" : "r+b");
@ -623,6 +624,7 @@ bool DBFFAM::AllocateBuffer(PGLOBAL g)
case 'L': // Large (big) integer case 'L': // Large (big) integer
case 'T': // Tiny integer case 'T': // Tiny integer
c = 'N'; // Numeric c = 'N'; // Numeric
/* fall through */
case 'N': // Numeric (integer) case 'N': // Numeric (integer)
case 'F': // Float (double) case 'F': // Float (double)
descp->Decimals = (uchar)cdp->F.Prec; descp->Decimals = (uchar)cdp->F.Prec;

View File

@ -919,7 +919,8 @@ bool BGXFAM::OpenTableFile(PGLOBAL g)
break; break;
} // endif } // endif
// Selective delete, pass thru // Selective delete
/* fall through */
case MODE_UPDATE: case MODE_UPDATE:
UseTemp = Tdbp->IsUsingTemp(g); UseTemp = Tdbp->IsUsingTemp(g);
oflag |= (UseTemp) ? O_RDONLY : O_RDWR; oflag |= (UseTemp) ? O_RDONLY : O_RDWR;

View File

@ -561,6 +561,7 @@ bool DOSFAM::OpenTableFile(PGLOBAL g)
// Selective delete, pass thru // Selective delete, pass thru
Bin = true; Bin = true;
/* fall through */
case MODE_UPDATE: case MODE_UPDATE:
if ((UseTemp = Tdbp->IsUsingTemp(g))) { if ((UseTemp = Tdbp->IsUsingTemp(g))) {
strcpy(opmode, "r"); strcpy(opmode, "r");

View File

@ -440,6 +440,7 @@ bool VCTFAM::OpenTableFile(PGLOBAL g)
} // endif } // endif
// Selective delete, pass thru // Selective delete, pass thru
/* fall through */
case MODE_UPDATE: case MODE_UPDATE:
UseTemp = Tdbp->IsUsingTemp(g); UseTemp = Tdbp->IsUsingTemp(g);
strcpy(opmode, (UseTemp) ? "rb" : "r+b"); strcpy(opmode, (UseTemp) ? "rb" : "r+b");
@ -1918,6 +1919,7 @@ bool VECFAM::OpenTableFile(PGLOBAL g)
} // endif filter } // endif filter
// Selective delete, pass thru // Selective delete, pass thru
/* fall through */
case MODE_UPDATE: case MODE_UPDATE:
UseTemp = Tdbp->IsUsingTemp(g); UseTemp = Tdbp->IsUsingTemp(g);
strcpy(opmode, (UseTemp) ? "rb": "r+b"); strcpy(opmode, (UseTemp) ? "rb": "r+b");
@ -3584,6 +3586,7 @@ bool BGVFAM::OpenTableFile(PGLOBAL g)
} // endif } // endif
// Selective delete, pass thru // Selective delete, pass thru
/* fall through */
case MODE_UPDATE: case MODE_UPDATE:
UseTemp = Tdbp->IsUsingTemp(g); UseTemp = Tdbp->IsUsingTemp(g);
oflag = (UseTemp) ? O_RDONLY : O_RDWR; oflag = (UseTemp) ? O_RDONLY : O_RDWR;

View File

@ -1193,7 +1193,7 @@ bool FILTER::Convert(PGLOBAL g, bool having)
Arg(0) = pXVOID; Arg(0) = pXVOID;
} // endif void } // endif void
// pass thru // fall through
case OP_IN: case OP_IN:
// For IN operator do optimize if operand is an array // For IN operator do optimize if operand is an array
if (GetArgType(1) != TYPE_ARRAY) if (GetArgType(1) != TYPE_ARRAY)
@ -1260,6 +1260,7 @@ bool FILTER::Eval(PGLOBAL g)
} // endif Opm } // endif Opm
// For modified operators, pass thru // For modified operators, pass thru
/* fall through */
case OP_IN: case OP_IN:
case OP_EXIST: case OP_EXIST:
// For IN operations, special processing is done here // For IN operations, special processing is done here

View File

@ -1427,7 +1427,7 @@ void *ha_connect::GetColumnOption(PGLOBAL g, void *field, PCOLINFO pcf)
case MYSQL_TYPE_VARCHAR: case MYSQL_TYPE_VARCHAR:
case MYSQL_TYPE_VAR_STRING: case MYSQL_TYPE_VAR_STRING:
pcf->Flags |= U_VAR; pcf->Flags |= U_VAR;
/* no break */ /* fall through */
default: default:
pcf->Type= MYSQLtoPLG(fp->type(), &v); pcf->Type= MYSQLtoPLG(fp->type(), &v);
break; break;
@ -2801,6 +2801,7 @@ PCFIL ha_connect::CheckCond(PGLOBAL g, PCFIL filp, const Item *cond)
case Item_func::LIKE_FUNC: vop= OP_LIKE; break; case Item_func::LIKE_FUNC: vop= OP_LIKE; break;
case Item_func::ISNOTNULL_FUNC: case Item_func::ISNOTNULL_FUNC:
neg = true; neg = true;
/* fall through */
case Item_func::ISNULL_FUNC: vop= OP_NULL; break; case Item_func::ISNULL_FUNC: vop= OP_NULL; break;
case Item_func::IN_FUNC: vop= OP_IN; case Item_func::IN_FUNC: vop= OP_IN;
case Item_func::BETWEEN: case Item_func::BETWEEN:
@ -4220,7 +4221,8 @@ bool ha_connect::check_privileges(THD *thd, PTOS options, char *dbn, bool quick)
} else } else
return false; return false;
/* Fall through to check FILE_ACL */ /* check FILE_ACL */
/* fall through */
case TAB_ODBC: case TAB_ODBC:
case TAB_JDBC: case TAB_JDBC:
case TAB_MYSQL: case TAB_MYSQL:
@ -5454,7 +5456,7 @@ static int connect_assisted_discovery(handlerton *, THD* thd,
#endif // JDBC_SUPPORT #endif // JDBC_SUPPORT
case TAB_DBF: case TAB_DBF:
dbf= true; dbf= true;
// Passthru // fall through
case TAB_CSV: case TAB_CSV:
if (!fn && fnc != FNC_NO) if (!fn && fnc != FNC_NO)
sprintf(g->Message, "Missing %s file name", topt->type); sprintf(g->Message, "Missing %s file name", topt->type);

View File

@ -533,7 +533,7 @@ PVAL ParseNumeric(PGLOBAL g, int& i, STRG& src)
if (!has_e) if (!has_e)
goto err; goto err;
// passthru // fall through
case '-': case '-':
if (found_digit) if (found_digit)
goto err; goto err;
@ -826,7 +826,7 @@ bool JOUTSTR::Escape(const char *s)
case '\r': case '\r':
case '\b': case '\b':
case '\f': WriteChr('\\'); case '\f': WriteChr('\\');
// passthru // fall through
default: default:
WriteChr(s[i]); WriteChr(s[i]);
break; break;

View File

@ -917,7 +917,7 @@ int PlugCloseFile(PGLOBAL g __attribute__((unused)), PFBLOCK fp, bool all)
fp->Memory = NULL; fp->Memory = NULL;
fp->Mode = MODE_ANY; fp->Mode = MODE_ANY;
// Passthru // fall through
case TYPE_FB_HANDLE: case TYPE_FB_HANDLE:
if (fp->Handle && fp->Handle != INVALID_HANDLE_VALUE) if (fp->Handle && fp->Handle != INVALID_HANDLE_VALUE)
if (CloseFileHandle(fp->Handle)) if (CloseFileHandle(fp->Handle))

View File

@ -128,6 +128,7 @@ int RELDEF::GetSizeCatInfo(PSZ what, PSZ sdef)
switch (toupper(c)) { switch (toupper(c)) {
case 'M': case 'M':
n *= 1024; n *= 1024;
// fall through
case 'K': case 'K':
n *= 1024; n *= 1024;
} // endswitch c } // endswitch c

View File

@ -1307,6 +1307,7 @@ PBF TDBDOS::InitBlockFilter(PGLOBAL g, PFIL filp)
} // endif !opm } // endif !opm
// if opm, pass thru // if opm, pass thru
/* fall through */
case OP_IN: case OP_IN:
if (filp->GetArgType(0) == TYPE_COLBLK && if (filp->GetArgType(0) == TYPE_COLBLK &&
filp->GetArgType(1) == TYPE_ARRAY) { filp->GetArgType(1) == TYPE_ARRAY) {

View File

@ -1530,7 +1530,7 @@ void JSONCOL::WriteColumn(PGLOBAL g)
break; break;
} // endif Op } // endif Op
// Passthru // fall through
case TYPE_DATE: case TYPE_DATE:
case TYPE_INT: case TYPE_INT:
case TYPE_SHORT: case TYPE_SHORT:

View File

@ -118,7 +118,7 @@ ulonglong CharToNumber(char *p, int n, ulonglong maxval,
maxval++; maxval++;
if (minus) *minus = true; if (minus) *minus = true;
} // endif Unsigned } // endif Unsigned
/* fall through */
case '+': case '+':
p++; p++;
break; break;

View File

@ -464,7 +464,7 @@ bool XINDEX::Make(PGLOBAL g, PIXDEF sxp)
if (ApplyFilter(g, filp)) if (ApplyFilter(g, filp))
break; break;
// passthru // fall through
case RC_NF: case RC_NF:
continue; continue;
case RC_EF: case RC_EF:

View File

@ -405,7 +405,7 @@ bool STRING::Append_quoted(PSZ s)
case '\r': case '\r':
case '\b': case '\b':
case '\f': b |= Append('\\'); case '\f': b |= Append('\\');
// passthru // fall through
default: default:
b |= Append(*p); b |= Append(*p);
break; break;

View File

@ -1,4 +1,5 @@
/* Copyright (c) 2004, 2015, Oracle and/or its affiliates. /* Copyright (c) 2004, 2015, Oracle and/or its affiliates.
Copyright (c) 2017, MariaDB Corporation.
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@ -2945,6 +2946,7 @@ int ha_federated::extra(ha_extra_function operation)
break; break;
case HA_EXTRA_PREPARE_FOR_DROP: case HA_EXTRA_PREPARE_FOR_DROP:
table_will_be_deleted = TRUE; table_will_be_deleted = TRUE;
break;
default: default:
/* do nothing */ /* do nothing */
DBUG_PRINT("info",("unhandled operation: %d", (uint) operation)); DBUG_PRINT("info",("unhandled operation: %d", (uint) operation));

View File

@ -1,5 +1,5 @@
/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. /* Copyright (c) 2000, 2011, Oracle and/or its affiliates.
Copyright (c) 2010, 2014, SkySQL Ab. Copyright (c) 2010, 2017, MariaDB Corporation.
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@ -94,7 +94,7 @@ int heap_create(const char *name, HP_CREATE_INFO *create_info,
case HA_KEYTYPE_VARBINARY1: case HA_KEYTYPE_VARBINARY1:
/* Case-insensitiveness is handled in coll->hash_sort */ /* Case-insensitiveness is handled in coll->hash_sort */
keyinfo->seg[j].type= HA_KEYTYPE_VARTEXT1; keyinfo->seg[j].type= HA_KEYTYPE_VARTEXT1;
/* fall_through */ /* fall through */
case HA_KEYTYPE_VARTEXT1: case HA_KEYTYPE_VARTEXT1:
keyinfo->flag|= HA_VAR_LENGTH_KEY; keyinfo->flag|= HA_VAR_LENGTH_KEY;
length+= 2; length+= 2;

View File

@ -7988,8 +7988,8 @@ ha_innobase::innobase_lock_autoinc(void)
break; break;
} }
} }
/* Fall through to old style locking. */ /* Use old style locking. */
/* fall through */
case AUTOINC_OLD_STYLE_LOCKING: case AUTOINC_OLD_STYLE_LOCKING:
DBUG_EXECUTE_IF("die_if_autoinc_old_lock_style_used", DBUG_EXECUTE_IF("die_if_autoinc_old_lock_style_used",
ut_ad(0);); ut_ad(0););
@ -11304,7 +11304,8 @@ create_options_are_invalid(
case ROW_TYPE_DYNAMIC: case ROW_TYPE_DYNAMIC:
CHECK_ERROR_ROW_TYPE_NEEDS_FILE_PER_TABLE(use_tablespace); CHECK_ERROR_ROW_TYPE_NEEDS_FILE_PER_TABLE(use_tablespace);
CHECK_ERROR_ROW_TYPE_NEEDS_GT_ANTELOPE; CHECK_ERROR_ROW_TYPE_NEEDS_GT_ANTELOPE;
/* fall through since dynamic also shuns KBS */ /* ROW_FORMAT=DYNAMIC also shuns KEY_BLOCK_SIZE */
/* fall through */
case ROW_TYPE_COMPACT: case ROW_TYPE_COMPACT:
case ROW_TYPE_REDUNDANT: case ROW_TYPE_REDUNDANT:
if (kbs_specified) { if (kbs_specified) {
@ -11717,7 +11718,8 @@ index_bad:
break; /* Correct row_format */ break; /* Correct row_format */
} }
zip_allowed = FALSE; zip_allowed = FALSE;
/* fall through to set row_format = COMPACT */ /* Set ROW_FORMAT = COMPACT */
/* fall through */
case ROW_TYPE_NOT_USED: case ROW_TYPE_NOT_USED:
case ROW_TYPE_FIXED: case ROW_TYPE_FIXED:
case ROW_TYPE_PAGE: case ROW_TYPE_PAGE:
@ -11725,6 +11727,7 @@ index_bad:
thd, Sql_condition::WARN_LEVEL_WARN, thd, Sql_condition::WARN_LEVEL_WARN,
ER_ILLEGAL_HA_CREATE_OPTION, ER_ILLEGAL_HA_CREATE_OPTION,
"InnoDB: assuming ROW_FORMAT=COMPACT."); "InnoDB: assuming ROW_FORMAT=COMPACT.");
/* fall through */
case ROW_TYPE_DEFAULT: case ROW_TYPE_DEFAULT:
/* If we fell through, set row format to Compact. */ /* If we fell through, set row format to Compact. */
row_format = ROW_TYPE_COMPACT; row_format = ROW_TYPE_COMPACT;

View File

@ -1,6 +1,7 @@
/***************************************************************************** /*****************************************************************************
Copyright (c) 1996, 2012, Oracle and/or its affiliates. All Rights Reserved. Copyright (c) 1996, 2012, Oracle and/or its affiliates. All Rights Reserved.
Copyright (c) 2017, MariaDB Corporation.
This program is free software; you can redistribute it and/or modify it under This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software the terms of the GNU General Public License as published by the Free Software
@ -574,7 +575,8 @@ dtype_get_fixed_size_low(
#else /* !UNIV_HOTBACKUP */ #else /* !UNIV_HOTBACKUP */
return(len); return(len);
#endif /* !UNIV_HOTBACKUP */ #endif /* !UNIV_HOTBACKUP */
/* fall through for variable-length charsets */ /* Treat as variable-length. */
/* Fall through */
case DATA_VARCHAR: case DATA_VARCHAR:
case DATA_BINARY: case DATA_BINARY:
case DATA_DECIMAL: case DATA_DECIMAL:

View File

@ -1,6 +1,7 @@
/***************************************************************************** /*****************************************************************************
Copyright (c) 1995, 2009, Oracle and/or its affiliates. All Rights Reserved. Copyright (c) 1995, 2009, Oracle and/or its affiliates. All Rights Reserved.
Copyright (c) 2017, MariaDB Corporation.
This program is free software; you can redistribute it and/or modify it under This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software the terms of the GNU General Public License as published by the Free Software
@ -786,13 +787,13 @@ mach_swap_byte_order(
dest += len; dest += len;
switch (len & 0x7) { switch (len & 0x7) {
case 0: *--dest = *from++; case 0: *--dest = *from++; /* fall through */
case 7: *--dest = *from++; case 7: *--dest = *from++; /* fall through */
case 6: *--dest = *from++; case 6: *--dest = *from++; /* fall through */
case 5: *--dest = *from++; case 5: *--dest = *from++; /* fall through */
case 4: *--dest = *from++; case 4: *--dest = *from++; /* fall through */
case 3: *--dest = *from++; case 3: *--dest = *from++; /* fall through */
case 2: *--dest = *from++; case 2: *--dest = *from++; /* fall through */
case 1: *--dest = *from; case 1: *--dest = *from;
} }
} }

View File

@ -1,6 +1,7 @@
/***************************************************************************** /*****************************************************************************
Copyright (c) 1994, 2009, Oracle and/or its affiliates. All Rights Reserved. Copyright (c) 1994, 2009, Oracle and/or its affiliates. All Rights Reserved.
Copyright (c) 2017, MariaDB Corporation.
This program is free software; you can redistribute it and/or modify it under This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software the terms of the GNU General Public License as published by the Free Software
@ -237,16 +238,22 @@ ut_fold_binary(
switch (len & 0x7) { switch (len & 0x7) {
case 7: case 7:
fold = ut_fold_ulint_pair(fold, (ulint)(*str++)); fold = ut_fold_ulint_pair(fold, (ulint)(*str++));
/* fall through */
case 6: case 6:
fold = ut_fold_ulint_pair(fold, (ulint)(*str++)); fold = ut_fold_ulint_pair(fold, (ulint)(*str++));
/* fall through */
case 5: case 5:
fold = ut_fold_ulint_pair(fold, (ulint)(*str++)); fold = ut_fold_ulint_pair(fold, (ulint)(*str++));
/* fall through */
case 4: case 4:
fold = ut_fold_ulint_pair(fold, (ulint)(*str++)); fold = ut_fold_ulint_pair(fold, (ulint)(*str++));
/* fall through */
case 3: case 3:
fold = ut_fold_ulint_pair(fold, (ulint)(*str++)); fold = ut_fold_ulint_pair(fold, (ulint)(*str++));
/* fall through */
case 2: case 2:
fold = ut_fold_ulint_pair(fold, (ulint)(*str++)); fold = ut_fold_ulint_pair(fold, (ulint)(*str++));
/* fall through */
case 1: case 1:
fold = ut_fold_ulint_pair(fold, (ulint)(*str++)); fold = ut_fold_ulint_pair(fold, (ulint)(*str++));
} }

View File

@ -1994,6 +1994,7 @@ PageConverter::update_page(
case FIL_PAGE_TYPE_XDES: case FIL_PAGE_TYPE_XDES:
err = set_current_xdes( err = set_current_xdes(
buf_block_get_page_no(block), get_frame(block)); buf_block_get_page_no(block), get_frame(block));
/* fall through */
case FIL_PAGE_INODE: case FIL_PAGE_INODE:
case FIL_PAGE_TYPE_TRX_SYS: case FIL_PAGE_TYPE_TRX_SYS:
case FIL_PAGE_IBUF_FREE_LIST: case FIL_PAGE_IBUF_FREE_LIST:

View File

@ -1,6 +1,7 @@
/***************************************************************************** /*****************************************************************************
Copyright (c) 2011, 2016, Oracle and/or its affiliates. All Rights Reserved. Copyright (c) 2011, 2016, Oracle and/or its affiliates. All Rights Reserved.
Copyright (c) 2017, MariaDB Corporation.
This program is free software; you can redistribute it and/or modify it under This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software the terms of the GNU General Public License as published by the Free Software
@ -1880,6 +1881,7 @@ row_log_table_apply_update(
When applying the subsequent ROW_T_DELETE, no matching When applying the subsequent ROW_T_DELETE, no matching
record will be found. */ record will be found. */
/* fall through */
case DB_SUCCESS: case DB_SUCCESS:
ut_ad(row != NULL); ut_ad(row != NULL);
break; break;

View File

@ -5511,7 +5511,8 @@ loop:
fputs(" InnoDB: Warning: CHECK TABLE on ", stderr); fputs(" InnoDB: Warning: CHECK TABLE on ", stderr);
dict_index_name_print(stderr, prebuilt->trx, index); dict_index_name_print(stderr, prebuilt->trx, index);
fprintf(stderr, " returned %lu\n", ret); fprintf(stderr, " returned %lu\n", ret);
/* fall through (this error is ignored by CHECK TABLE) */ /* (this error is ignored by CHECK TABLE) */
/* fall through */
case DB_END_OF_INDEX: case DB_END_OF_INDEX:
func_exit: func_exit:
mem_free(buf); mem_free(buf);

View File

@ -1,6 +1,7 @@
/***************************************************************************** /*****************************************************************************
Copyright (c) 1997, 2016, Oracle and/or its affiliates. All Rights Reserved. Copyright (c) 1997, 2016, Oracle and/or its affiliates. All Rights Reserved.
Copyright (c) 2017, MariaDB Corporation.
This program is free software; you can redistribute it and/or modify it under This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software the terms of the GNU General Public License as published by the Free Software
@ -488,8 +489,9 @@ row_purge_remove_sec_if_poss_leaf(
success = false; success = false;
} }
} }
/* fall through (the index entry is still needed, /* (The index entry is still needed,
or the deletion succeeded) */ or the deletion succeeded) */
/* fall through */
case ROW_NOT_DELETED_REF: case ROW_NOT_DELETED_REF:
/* The index entry is still needed. */ /* The index entry is still needed. */
case ROW_BUFFERED: case ROW_BUFFERED:

View File

@ -1144,6 +1144,7 @@ sync_thread_add_level(
upgrading in innobase_start_or_create_for_mysql(). */ upgrading in innobase_start_or_create_for_mysql(). */
break; break;
} }
/* fall through */
case SYNC_MEM_POOL: case SYNC_MEM_POOL:
case SYNC_MEM_HASH: case SYNC_MEM_HASH:
case SYNC_RECV: case SYNC_RECV:

View File

@ -157,6 +157,7 @@ int maria_extra(MARIA_HA *info, enum ha_extra_function function,
if (info->s->data_file_type != DYNAMIC_RECORD) if (info->s->data_file_type != DYNAMIC_RECORD)
break; break;
/* Remove read/write cache if dynamic rows */ /* Remove read/write cache if dynamic rows */
/* fall through */
case HA_EXTRA_NO_CACHE: case HA_EXTRA_NO_CACHE:
if (info->opt_flag & (READ_CACHE_USED | WRITE_CACHE_USED)) if (info->opt_flag & (READ_CACHE_USED | WRITE_CACHE_USED))
{ {
@ -313,7 +314,7 @@ int maria_extra(MARIA_HA *info, enum ha_extra_function function,
share->state.open_count= 1; share->state.open_count= 1;
share->changed= 1; share->changed= 1;
_ma_mark_file_changed_now(share); _ma_mark_file_changed_now(share);
/* Fall trough */ /* Fall through */
case HA_EXTRA_PREPARE_FOR_RENAME: case HA_EXTRA_PREPARE_FOR_RENAME:
{ {
my_bool do_flush= MY_TEST(function != HA_EXTRA_PREPARE_FOR_DROP); my_bool do_flush= MY_TEST(function != HA_EXTRA_PREPARE_FOR_DROP);

View File

@ -3061,7 +3061,7 @@ static MARIA_HA *get_MARIA_HA_from_REDO_record(const
case LOGREC_REDO_INDEX: case LOGREC_REDO_INDEX:
case LOGREC_REDO_INDEX_FREE_PAGE: case LOGREC_REDO_INDEX_FREE_PAGE:
index_page_redo_entry= 1; index_page_redo_entry= 1;
/* Fall trough*/ /* Fall through */
case LOGREC_REDO_INSERT_ROW_HEAD: case LOGREC_REDO_INSERT_ROW_HEAD:
case LOGREC_REDO_INSERT_ROW_TAIL: case LOGREC_REDO_INSERT_ROW_TAIL:
case LOGREC_REDO_PURGE_ROW_HEAD: case LOGREC_REDO_PURGE_ROW_HEAD:

View File

@ -150,6 +150,7 @@ int mi_extra(MI_INFO *info, enum ha_extra_function function, void *extra_arg)
if (info->s->data_file_type != DYNAMIC_RECORD) if (info->s->data_file_type != DYNAMIC_RECORD)
break; break;
/* Remove read/write cache if dynamic rows */ /* Remove read/write cache if dynamic rows */
/* fall through */
case HA_EXTRA_NO_CACHE: case HA_EXTRA_NO_CACHE:
if (info->opt_flag & (READ_CACHE_USED | WRITE_CACHE_USED)) if (info->opt_flag & (READ_CACHE_USED | WRITE_CACHE_USED))
{ {
@ -262,7 +263,7 @@ int mi_extra(MI_INFO *info, enum ha_extra_function function, void *extra_arg)
//share->deleting= TRUE; //share->deleting= TRUE;
share->global_changed= FALSE; /* force writing changed flag */ share->global_changed= FALSE; /* force writing changed flag */
_mi_mark_file_changed(info); _mi_mark_file_changed(info);
/* Fall trough */ /* Fall through */
case HA_EXTRA_PREPARE_FOR_RENAME: case HA_EXTRA_PREPARE_FOR_RENAME:
mysql_mutex_lock(&THR_LOCK_myisam); mysql_mutex_lock(&THR_LOCK_myisam);
share->last_version= 0L; /* Impossible version */ share->last_version= 0L; /* Impossible version */

View File

@ -1844,8 +1844,8 @@ int spider_db_append_key_where_internal(
#if defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID >= 100000 #if defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID >= 100000
case HA_READ_PREFIX_LAST: case HA_READ_PREFIX_LAST:
result_list->desc_flg = TRUE; result_list->desc_flg = TRUE;
/* fall through */
#endif #endif
/* fall through */
case HA_READ_KEY_EXACT: case HA_READ_KEY_EXACT:
if (sql_kind == SPIDER_SQL_KIND_SQL) if (sql_kind == SPIDER_SQL_KIND_SQL)
{ {

View File

@ -8567,8 +8567,8 @@ ha_innobase::innobase_lock_autoinc(void)
break; break;
} }
} }
/* Fall through to old style locking. */ /* Use old style locking. */
/* fall through */
case AUTOINC_OLD_STYLE_LOCKING: case AUTOINC_OLD_STYLE_LOCKING:
DBUG_EXECUTE_IF("die_if_autoinc_old_lock_style_used", DBUG_EXECUTE_IF("die_if_autoinc_old_lock_style_used",
ut_ad(0);); ut_ad(0););
@ -11870,7 +11870,8 @@ create_options_are_invalid(
case ROW_TYPE_DYNAMIC: case ROW_TYPE_DYNAMIC:
CHECK_ERROR_ROW_TYPE_NEEDS_FILE_PER_TABLE(use_tablespace); CHECK_ERROR_ROW_TYPE_NEEDS_FILE_PER_TABLE(use_tablespace);
CHECK_ERROR_ROW_TYPE_NEEDS_GT_ANTELOPE; CHECK_ERROR_ROW_TYPE_NEEDS_GT_ANTELOPE;
/* fall through since dynamic also shuns KBS */ /* ROW_FORMAT=DYNAMIC also shuns KEY_BLOCK_SIZE */
/* fall through */
case ROW_TYPE_COMPACT: case ROW_TYPE_COMPACT:
case ROW_TYPE_REDUNDANT: case ROW_TYPE_REDUNDANT:
if (kbs_specified) { if (kbs_specified) {
@ -12280,7 +12281,8 @@ index_bad:
break; /* Correct row_format */ break; /* Correct row_format */
} }
zip_allowed = FALSE; zip_allowed = FALSE;
/* fall through to set row_format = COMPACT */ /* Set ROW_FORMAT = COMPACT */
/* fall through */
case ROW_TYPE_NOT_USED: case ROW_TYPE_NOT_USED:
case ROW_TYPE_FIXED: case ROW_TYPE_FIXED:
case ROW_TYPE_PAGE: case ROW_TYPE_PAGE:
@ -12289,6 +12291,7 @@ index_bad:
thd, Sql_condition::WARN_LEVEL_WARN, thd, Sql_condition::WARN_LEVEL_WARN,
ER_ILLEGAL_HA_CREATE_OPTION, ER_ILLEGAL_HA_CREATE_OPTION,
"InnoDB: assuming ROW_FORMAT=COMPACT."); "InnoDB: assuming ROW_FORMAT=COMPACT.");
/* fall through */
case ROW_TYPE_DEFAULT: case ROW_TYPE_DEFAULT:
/* If we fell through, set row format to Compact. */ /* If we fell through, set row format to Compact. */
row_format = ROW_TYPE_COMPACT; row_format = ROW_TYPE_COMPACT;

View File

@ -576,7 +576,8 @@ dtype_get_fixed_size_low(
#else /* !UNIV_HOTBACKUP */ #else /* !UNIV_HOTBACKUP */
return(len); return(len);
#endif /* !UNIV_HOTBACKUP */ #endif /* !UNIV_HOTBACKUP */
/* fall through for variable-length charsets */ /* Treat as variable-length. */
/* Fall through */
case DATA_VARCHAR: case DATA_VARCHAR:
case DATA_BINARY: case DATA_BINARY:
case DATA_DECIMAL: case DATA_DECIMAL:

View File

@ -1,6 +1,7 @@
/***************************************************************************** /*****************************************************************************
Copyright (c) 1995, 2009, Oracle and/or its affiliates. All Rights Reserved. Copyright (c) 1995, 2009, Oracle and/or its affiliates. All Rights Reserved.
Copyright (c) 2017, MariaDB Corporation.
This program is free software; you can redistribute it and/or modify it under This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software the terms of the GNU General Public License as published by the Free Software
@ -779,13 +780,13 @@ mach_swap_byte_order(
dest += len; dest += len;
switch (len & 0x7) { switch (len & 0x7) {
case 0: *--dest = *from++; case 0: *--dest = *from++; /* fall through */
case 7: *--dest = *from++; case 7: *--dest = *from++; /* fall through */
case 6: *--dest = *from++; case 6: *--dest = *from++; /* fall through */
case 5: *--dest = *from++; case 5: *--dest = *from++; /* fall through */
case 4: *--dest = *from++; case 4: *--dest = *from++; /* fall through */
case 3: *--dest = *from++; case 3: *--dest = *from++; /* fall through */
case 2: *--dest = *from++; case 2: *--dest = *from++; /* fall through */
case 1: *--dest = *from; case 1: *--dest = *from;
} }
} }

View File

@ -1,6 +1,7 @@
/***************************************************************************** /*****************************************************************************
Copyright (c) 1994, 2009, Oracle and/or its affiliates. All Rights Reserved. Copyright (c) 1994, 2009, Oracle and/or its affiliates. All Rights Reserved.
Copyright (c) 2017, MariaDB Corporation.
This program is free software; you can redistribute it and/or modify it under This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software the terms of the GNU General Public License as published by the Free Software
@ -237,16 +238,22 @@ ut_fold_binary(
switch (len & 0x7) { switch (len & 0x7) {
case 7: case 7:
fold = ut_fold_ulint_pair(fold, (ulint)(*str++)); fold = ut_fold_ulint_pair(fold, (ulint)(*str++));
/* fall through */
case 6: case 6:
fold = ut_fold_ulint_pair(fold, (ulint)(*str++)); fold = ut_fold_ulint_pair(fold, (ulint)(*str++));
/* fall through */
case 5: case 5:
fold = ut_fold_ulint_pair(fold, (ulint)(*str++)); fold = ut_fold_ulint_pair(fold, (ulint)(*str++));
/* fall through */
case 4: case 4:
fold = ut_fold_ulint_pair(fold, (ulint)(*str++)); fold = ut_fold_ulint_pair(fold, (ulint)(*str++));
/* fall through */
case 3: case 3:
fold = ut_fold_ulint_pair(fold, (ulint)(*str++)); fold = ut_fold_ulint_pair(fold, (ulint)(*str++));
/* fall through */
case 2: case 2:
fold = ut_fold_ulint_pair(fold, (ulint)(*str++)); fold = ut_fold_ulint_pair(fold, (ulint)(*str++));
/* fall through */
case 1: case 1:
fold = ut_fold_ulint_pair(fold, (ulint)(*str++)); fold = ut_fold_ulint_pair(fold, (ulint)(*str++));
} }

View File

@ -1995,6 +1995,7 @@ PageConverter::update_page(
case FIL_PAGE_TYPE_XDES: case FIL_PAGE_TYPE_XDES:
err = set_current_xdes( err = set_current_xdes(
buf_block_get_page_no(block), get_frame(block)); buf_block_get_page_no(block), get_frame(block));
/* fall through */
case FIL_PAGE_INODE: case FIL_PAGE_INODE:
case FIL_PAGE_TYPE_TRX_SYS: case FIL_PAGE_TYPE_TRX_SYS:
case FIL_PAGE_IBUF_FREE_LIST: case FIL_PAGE_IBUF_FREE_LIST:

View File

@ -1,6 +1,7 @@
/***************************************************************************** /*****************************************************************************
Copyright (c) 2011, 2016, Oracle and/or its affiliates. All Rights Reserved. Copyright (c) 2011, 2016, Oracle and/or its affiliates. All Rights Reserved.
Copyright (c) 2017, MariaDB Corporation.
This program is free software; you can redistribute it and/or modify it under This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software the terms of the GNU General Public License as published by the Free Software
@ -1880,6 +1881,7 @@ row_log_table_apply_update(
When applying the subsequent ROW_T_DELETE, no matching When applying the subsequent ROW_T_DELETE, no matching
record will be found. */ record will be found. */
/* fall through */
case DB_SUCCESS: case DB_SUCCESS:
ut_ad(row != NULL); ut_ad(row != NULL);
break; break;

View File

@ -5542,7 +5542,8 @@ loop:
fputs(" InnoDB: Warning: CHECK TABLE on ", stderr); fputs(" InnoDB: Warning: CHECK TABLE on ", stderr);
dict_index_name_print(stderr, prebuilt->trx, index); dict_index_name_print(stderr, prebuilt->trx, index);
fprintf(stderr, " returned %lu\n", ret); fprintf(stderr, " returned %lu\n", ret);
/* fall through (this error is ignored by CHECK TABLE) */ /* (this error is ignored by CHECK TABLE) */
/* fall through */
case DB_END_OF_INDEX: case DB_END_OF_INDEX:
func_exit: func_exit:
mem_free(buf); mem_free(buf);

View File

@ -1,6 +1,7 @@
/***************************************************************************** /*****************************************************************************
Copyright (c) 1997, 2016, Oracle and/or its affiliates. All Rights Reserved. Copyright (c) 1997, 2016, Oracle and/or its affiliates. All Rights Reserved.
Copyright (c) 2017, MariaDB Corporation.
This program is free software; you can redistribute it and/or modify it under This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software the terms of the GNU General Public License as published by the Free Software
@ -488,8 +489,9 @@ row_purge_remove_sec_if_poss_leaf(
success = false; success = false;
} }
} }
/* fall through (the index entry is still needed, /* (The index entry is still needed,
or the deletion succeeded) */ or the deletion succeeded) */
/* fall through */
case ROW_NOT_DELETED_REF: case ROW_NOT_DELETED_REF:
/* The index entry is still needed. */ /* The index entry is still needed. */
case ROW_BUFFERED: case ROW_BUFFERED:

View File

@ -1236,6 +1236,7 @@ sync_thread_add_level(
upgrading in innobase_start_or_create_for_mysql(). */ upgrading in innobase_start_or_create_for_mysql(). */
break; break;
} }
/* fall through */
case SYNC_MEM_POOL: case SYNC_MEM_POOL:
case SYNC_MEM_HASH: case SYNC_MEM_HASH:
case SYNC_RECV: case SYNC_RECV:
@ -1299,9 +1300,9 @@ sync_thread_add_level(
} }
} }
ut_ad(found_current); ut_ad(found_current);
/* fallthrough */
} }
/* fall through */
case SYNC_BUF_FLUSH_LIST: case SYNC_BUF_FLUSH_LIST:
case SYNC_BUF_LRU_LIST: case SYNC_BUF_LRU_LIST:
case SYNC_BUF_FREE_LIST: case SYNC_BUF_FREE_LIST:

View File

@ -1,5 +1,5 @@
/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. /* Copyright (c) 2000, 2013, Oracle and/or its affiliates.
Copyright (c) 2009, 2016, MariaDB Copyright (c) 2009, 2017, MariaDB
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public modify it under the terms of the GNU Library General Public
@ -5037,7 +5037,9 @@ static int my_uni_utf8_no_range(CHARSET_INFO *cs __attribute__((unused)),
{ {
/* Fall through all cases!!! */ /* Fall through all cases!!! */
case 3: r[2]= (uchar) (0x80 | (wc & 0x3f)); wc= wc >> 6; wc |= 0x800; case 3: r[2]= (uchar) (0x80 | (wc & 0x3f)); wc= wc >> 6; wc |= 0x800;
/* fall through */
case 2: r[1]= (uchar) (0x80 | (wc & 0x3f)); wc= wc >> 6; wc |= 0xc0; case 2: r[1]= (uchar) (0x80 | (wc & 0x3f)); wc= wc >> 6; wc |= 0xc0;
/* fall through */
case 1: r[0]= (uchar) wc; case 1: r[0]= (uchar) wc;
} }
return count; return count;
@ -7443,8 +7445,11 @@ my_wc_mb_utf8mb4(CHARSET_INFO *cs __attribute__((unused)),
switch (count) { switch (count) {
/* Fall through all cases!!! */ /* Fall through all cases!!! */
case 4: r[3] = (uchar) (0x80 | (wc & 0x3f)); wc = wc >> 6; wc |= 0x10000; case 4: r[3] = (uchar) (0x80 | (wc & 0x3f)); wc = wc >> 6; wc |= 0x10000;
/* fall through */
case 3: r[2] = (uchar) (0x80 | (wc & 0x3f)); wc = wc >> 6; wc |= 0x800; case 3: r[2] = (uchar) (0x80 | (wc & 0x3f)); wc = wc >> 6; wc |= 0x800;
/* fall through */
case 2: r[1] = (uchar) (0x80 | (wc & 0x3f)); wc = wc >> 6; wc |= 0xc0; case 2: r[1] = (uchar) (0x80 | (wc & 0x3f)); wc = wc >> 6; wc |= 0xc0;
/* fall through */
case 1: r[0] = (uchar) wc; case 1: r[0] = (uchar) wc;
} }
return count; return count;
@ -7475,8 +7480,11 @@ my_wc_mb_utf8mb4_no_range(CHARSET_INFO *cs __attribute__((unused)),
{ {
/* Fall through all cases!!! */ /* Fall through all cases!!! */
case 4: r[3]= (uchar) (0x80 | (wc & 0x3f)); wc= wc >> 6; wc |= 0x10000; case 4: r[3]= (uchar) (0x80 | (wc & 0x3f)); wc= wc >> 6; wc |= 0x10000;
/* fall through */
case 3: r[2]= (uchar) (0x80 | (wc & 0x3f)); wc= wc >> 6; wc |= 0x800; case 3: r[2]= (uchar) (0x80 | (wc & 0x3f)); wc= wc >> 6; wc |= 0x800;
/* fall through */
case 2: r[1]= (uchar) (0x80 | (wc & 0x3f)); wc= wc >> 6; wc |= 0xc0; case 2: r[1]= (uchar) (0x80 | (wc & 0x3f)); wc= wc >> 6; wc |= 0xc0;
/* fall through */
case 1: r[0]= (uchar) wc; case 1: r[0]= (uchar) wc;
} }
return count; return count;

View File

@ -1,4 +1,5 @@
/* Copyright (c) 2007, 2012, Oracle and/or its affiliates. All rights reserved. /* Copyright (c) 2007, 2012, Oracle and/or its affiliates. All rights reserved.
Copyright (c) 2017, MariaDB Corporation.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public modify it under the terms of the GNU Library General Public
@ -1377,7 +1378,7 @@ static double my_strtod_int(const char *s00, char **se, int *error, char *buf, s
switch (*s) { switch (*s) {
case '-': case '-':
sign= 1; sign= 1;
/* no break */ /* fall through */
case '+': case '+':
s++; s++;
goto break2; goto break2;
@ -1467,6 +1468,7 @@ static double my_strtod_int(const char *s00, char **se, int *error, char *buf, s
switch (c= *s) { switch (c= *s) {
case '-': case '-':
esign= 1; esign= 1;
/* fall through */
case '+': case '+':
c= *++s; c= *++s;
} }
@ -2360,7 +2362,7 @@ static char *dtoa(double dd, int mode, int ndigits, int *decpt, int *sign,
break; break;
case 2: case 2:
leftright= 0; leftright= 0;
/* no break */ /* fall through */
case 4: case 4:
if (ndigits <= 0) if (ndigits <= 0)
ndigits= 1; ndigits= 1;
@ -2368,7 +2370,7 @@ static char *dtoa(double dd, int mode, int ndigits, int *decpt, int *sign,
break; break;
case 3: case 3:
leftright= 0; leftright= 0;
/* no break */ /* fall through */
case 5: case 5:
i= ndigits + k + 1; i= ndigits + k + 1;
ilim= i; ilim= i;