diff --git a/.bzrignore b/.bzrignore index e07aa0cf86af623da1ffe6b082908189601e9650..c90b5c651abe8ceabccbecd6bd67220f2de4e2d3 100644 --- a/.bzrignore +++ b/.bzrignore @@ -7,6 +7,8 @@ *.d *.da *.exe +*.gcda +*.gcno *.gcov *.idb *.la diff --git a/BUILD/compile-pentium-gcov b/BUILD/compile-pentium-gcov index b024bba49bf36af1930d8a4830614626b6c3d212..ca37f78e2839e7d743b91660efdcd0484e105199 100755 --- a/BUILD/compile-pentium-gcov +++ b/BUILD/compile-pentium-gcov @@ -14,7 +14,7 @@ export LDFLAGS="-fprofile-arcs -ftest-coverage" # The -fprofile-arcs and -ftest-coverage options cause GCC to instrument the # code with profiling information used by gcov. # the -DDISABLE_TAO_ASM is needed to avoid build failures in Yassl. -extra_flags="$pentium_cflags -fprofile-arcs -ftest-coverage -DDISABLE_TAO_ASM" +extra_flags="$pentium_cflags -fprofile-arcs -ftest-coverage -DDISABLE_TAO_ASM -DHAVE_MUTEX_THREAD_ONLY" extra_configs="$pentium_configs $debug_configs --disable-shared $static_link" extra_configs="$extra_configs $max_configs" diff --git a/mysql-test/r/show_check.result b/mysql-test/r/show_check.result index bb6c2c3beeead69ed6add1afc9474aee3cfd1fc9..7237cf11fc07473744d935f7c4b51639cf2542df 100644 --- a/mysql-test/r/show_check.result +++ b/mysql-test/r/show_check.result @@ -623,4 +623,10 @@ delete from mysql.db where user='mysqltest_4'; delete from mysql.tables_priv where user='mysqltest_4'; flush privileges; drop database mysqltest; +show full plugin; +show warnings; +Level Code Message +Warning 1541 The syntax 'SHOW PLUGIN' is deprecated and will be removed in MySQL 5.2. Please use 'SHOW PLUGINS' instead. +show plugin; +show plugins; End of 5.1 tests diff --git a/mysql-test/t/show_check.test b/mysql-test/t/show_check.test index 2f44f4e97c5fe94f6ab4287e4d3e1e693eb4df82..94894ef50de4499c65488ef22340d3e855ebba66 100644 --- a/mysql-test/t/show_check.test +++ b/mysql-test/t/show_check.test @@ -445,4 +445,17 @@ delete from mysql.tables_priv where user='mysqltest_4'; flush privileges; drop database mysqltest; +# +# Ensure that show plugin code is tested +# + +--disable_result_log +show full plugin; +--enable_result_log +show warnings; +--disable_result_log +show plugin; +show plugins; +--enable_result_log + --echo End of 5.1 tests diff --git a/mysys/my_handler.c b/mysys/my_handler.c index da619a49ffd6fc28033797d43c145942c9d8871b..bfec44d57a4ed6f737c977fa1aa83b7244ad5acd 100644 --- a/mysys/my_handler.c +++ b/mysys/my_handler.c @@ -548,7 +548,8 @@ HA_KEYSEG *ha_find_null(HA_KEYSEG *keyseg, uchar *a) case HA_KEYTYPE_DOUBLE: a= end; break; - case HA_KEYTYPE_END: + case HA_KEYTYPE_END: /* purecov: inspected */ + /* keep compiler happy */ DBUG_ASSERT(0); break; } diff --git a/sql/filesort.cc b/sql/filesort.cc index e712bed9e13743e7d353f94a7904a30cd6381c08..f41d72ac07a5b902fccb24e4dabc8bc10d66a88d 100644 --- a/sql/filesort.cc +++ b/sql/filesort.cc @@ -688,9 +688,17 @@ static void make_sortkey(register SORTPARAM *param, bzero((char*) to-1,sort_field->length+1); else { + /* purecov: begin deadcode */ + /* + This should only happen during extreme conditions if we run out + of memory or have an item marked not null when it can be null. + This code is here mainly to avoid a hard crash in this case. + */ + DBUG_ASSERT(0); DBUG_PRINT("warning", ("Got null on something that shouldn't be null")); bzero((char*) to,sort_field->length); // Avoid crash + /* purecov: end */ } break; } @@ -699,7 +707,7 @@ static void make_sortkey(register SORTPARAM *param, diff=(int) (sort_field_length - length); if (diff < 0) { - diff=0; /* purecov: inspected */ + diff=0; length= sort_field_length; } if (sort_field->suffix_length) diff --git a/sql/ha_ndbcluster_binlog.cc b/sql/ha_ndbcluster_binlog.cc index b18fa8ec931fe02437edd10f8c6078dbaca581ac..b88002b8529f7c2e1528f1b0339e4f44dec9455e 100644 --- a/sql/ha_ndbcluster_binlog.cc +++ b/sql/ha_ndbcluster_binlog.cc @@ -125,6 +125,7 @@ static TABLE_LIST binlog_tables; */ #ifndef DBUG_OFF +/* purecov: begin deadcode */ static void print_records(TABLE *table, const char *record) { for (uint j= 0; j < table->s->fields; j++) @@ -144,6 +145,7 @@ static void print_records(TABLE *table, const char *record) DBUG_PRINT("info",("[%u]field_ptr[0->%d]: %s", j, n, buf)); } } +/* purecov: end */ #else #define print_records(a,b) #endif diff --git a/sql/log_event.cc b/sql/log_event.cc index 7cffa5529548c85b63cbc040001a62e316179e2a..36805e0043d18a23a94fc9347ae01636bcdab313 100644 --- a/sql/log_event.cc +++ b/sql/log_event.cc @@ -5918,6 +5918,7 @@ int Table_map_log_event::exec_event(st_relay_log_info *rli) if (col <= tsh->fields) { + /* purecov: begin inspected */ /* If we get here, the number of columns in the event didn't match the number of columns in the table on the slave, *or* @@ -5950,6 +5951,7 @@ int Table_map_log_event::exec_event(st_relay_log_info *rli) thd->query_error= 1; error= ERR_BAD_TABLE_DEF; goto err; + /* purecov: end */ } /* diff --git a/sql/mysqld.cc b/sql/mysqld.cc index 4ab1b365f736dee5b3863f84cc163f62969e5a8f..6e57993a61acb281dd637ef373f4c9ba59b64acb 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -3223,9 +3223,11 @@ server."); /* fall back to the log files if tables are not present */ if (have_csv_db == SHOW_OPTION_NO) { + /* purecov: begin inspected */ sql_print_error("CSV engine is not present, falling back to the " "log files"); log_output_options= (log_output_options & ~LOG_TABLE) | LOG_FILE; + /* purecov: end */ } logger.set_handlers(LOG_FILE, opt_slow_log ? log_output_options:LOG_NONE, diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc index d82fc5eb3a2b9eacb13ad75651afdb6e58110768..232df095816228b380f0adee5e58079ee517d634 100644 --- a/sql/sql_parse.cc +++ b/sql/sql_parse.cc @@ -5209,7 +5209,7 @@ static bool execute_sqlcom_select(THD *thd, TABLE_LIST *all_tables) even if the query itself redirects the output. */ if (!(result= new select_send())) - return 1; + return 1; /* purecov: inspected */ thd->send_explain_fields(result); res= mysql_explain_union(thd, &thd->lex->unit, result); if (lex->describe & DESCRIBE_EXTENDED) @@ -5228,7 +5228,7 @@ static bool execute_sqlcom_select(THD *thd, TABLE_LIST *all_tables) else { if (!result && !(result= new select_send())) - return 1; + return 1; /* purecov: inspected */ query_cache_store_query(thd, all_tables); res= handle_select(thd, lex, result, 0); if (result != lex->result)