Commit d4e7e9ac authored by unknown's avatar unknown

do not log certain commans in the slow log

parent d3efeb1b
......@@ -509,7 +509,7 @@ class THD :public ilink
PREP_STMT *last_prepared_stmt;
#ifndef DBUG_OFF
uint dbug_sentry; // watch out for memory corruption
#endif
#endif
struct st_my_thread_var *mysys_var;
enum enum_server_command command;
uint32 server_id;
......@@ -531,9 +531,9 @@ class THD :public ilink
THD_TRANS stmt; // Trans for current statement
uint bdb_lock_count;
/*
/*
Tables changed in transaction (that must be invalidated in query cache).
List contain only transactional tables, that not invalidated in query
List contain only transactional tables, that not invalidated in query
cache (instead of full list of changed in transaction tables).
*/
CHANGED_TABLE_LIST* changed_tables;
......@@ -551,7 +551,7 @@ class THD :public ilink
#endif
#ifdef SIGNAL_WITH_VIO_CLOSE
Vio* active_vio;
#endif
#endif
/*
next_insert_id is set on SET INSERT_ID= #. This is used as the next
generated auto_increment value in handler.cc
......@@ -573,9 +573,9 @@ class THD :public ilink
sent_row_count, examined_row_count;
table_map used_tables;
USER_CONN *user_connect;
CHARSET_INFO *db_charset;
CHARSET_INFO *db_charset;
List<TABLE> temporary_tables_should_be_free; // list of temporary tables
List <MYSQL_ERROR> warn_list;
List <MYSQL_ERROR> warn_list;
uint warn_count[(uint) MYSQL_ERROR::WARN_LEVEL_END];
uint total_warn_count;
ulong query_id, warn_id, version, options, thread_id, col_access;
......@@ -609,6 +609,7 @@ class THD :public ilink
bool prepare_command;
bool tmp_table_used;
bool charset_is_system_charset, charset_is_collation_connection;
bool slow_command;
/*
If we do a purge of binary logs, log index info of the threads
......
......@@ -1185,10 +1185,10 @@ bool dispatch_command(enum enum_server_command command, THD *thd,
Commands which will always take a long time should be marked with
this so that they will not get logged to the slow query log
*/
bool slow_command=FALSE;
DBUG_ENTER("dispatch_command");
thd->command=command;
thd->slow_command=FALSE;
thd->set_time();
VOID(pthread_mutex_lock(&LOCK_thread_count));
thd->query_id=query_id;
......@@ -1224,7 +1224,7 @@ bool dispatch_command(enum enum_server_command command, THD *thd,
uint tbl_len= *(uchar*) (packet + db_len + 1);
statistic_increment(com_other, &LOCK_status);
slow_command= TRUE;
thd->slow_command= TRUE;
db= thd->alloc(db_len + tbl_len + 2);
tbl_name= strmake(db, packet + 1, db_len)+1;
strmake(tbl_name, packet + db_len + 2, tbl_len);
......@@ -1345,14 +1345,14 @@ bool dispatch_command(enum enum_server_command command, THD *thd,
while (!thd->killed && !thd->is_fatal_error && thd->lex.found_colon)
{
char *packet= thd->lex.found_colon;
/*
/*
Multiple queries exits, execute them individually
*/
if (thd->lock || thd->open_tables || thd->derived_tables)
close_thread_tables(thd);
close_thread_tables(thd);
ulong length= thd->query_length-(ulong)(thd->lex.found_colon-thd->query);
/* Remove garbage at start of query */
while (my_isspace(thd->charset(), *packet) && length > 0)
{
......@@ -1463,7 +1463,7 @@ bool dispatch_command(enum enum_server_command command, THD *thd,
case COM_BINLOG_DUMP:
{
statistic_increment(com_other,&LOCK_status);
slow_command = TRUE;
thd->slow_command = TRUE;
if (check_global_access(thd, REPL_SLAVE_ACL))
break;
mysql_log.write(thd,command, 0);
......@@ -1606,7 +1606,7 @@ bool dispatch_command(enum enum_server_command command, THD *thd,
thd->end_time(); // Set start time
/* If not reading from backup and if the query took too long */
if (!slow_command && !thd->user_time) // do not log 'slow_command' queries
if (!thd->slow_command && !thd->user_time) // do not log 'slow_command' queries
{
thd->proc_info="logging slow query";
......@@ -1947,6 +1947,7 @@ mysql_execute_command(THD *thd)
check_table_access(thd,SELECT_ACL, tables,0) ||
check_global_access(thd, FILE_ACL))
goto error; /* purecov: inspected */
thd->slow_command=TRUE;
res = mysql_backup_table(thd, tables);
break;
......@@ -1957,6 +1958,7 @@ mysql_execute_command(THD *thd)
check_table_access(thd, INSERT_ACL, tables,0) ||
check_global_access(thd, FILE_ACL))
goto error; /* purecov: inspected */
thd->slow_command=TRUE;
res = mysql_restore_table(thd, tables);
break;
}
......@@ -1974,7 +1976,7 @@ mysql_execute_command(THD *thd)
if (check_db_used(thd, tables) ||
check_access(thd, INDEX_ACL, tables->db,
&tables->grant.privilege, 0, 0))
goto error;
goto error;
res = mysql_preload_keys(thd, tables);
break;
}
......@@ -2173,6 +2175,7 @@ mysql_execute_command(THD *thd)
if (grant_option && check_grant(thd,INDEX_ACL,tables))
goto error;
#endif
thd->slow_command=TRUE;
if (end_active_trans(thd))
res= -1;
else
......@@ -2263,6 +2266,7 @@ mysql_execute_command(THD *thd)
res= -1;
else
{
thd->slow_command=TRUE;
res= mysql_alter_table(thd, select_lex->db, lex->name,
&lex->create_info,
tables, lex->create_list,
......@@ -2352,6 +2356,7 @@ mysql_execute_command(THD *thd)
if (check_db_used(thd,tables) ||
check_table_access(thd,SELECT_ACL | INSERT_ACL, tables,0))
goto error; /* purecov: inspected */
thd->slow_command=TRUE;
res = mysql_repair_table(thd, tables, &lex->check_opt);
/* ! we write after unlocking the table */
if (!res && !lex->no_write_to_binlog)
......@@ -2368,8 +2373,9 @@ mysql_execute_command(THD *thd)
case SQLCOM_CHECK:
{
if (check_db_used(thd,tables) ||
check_table_access(thd, SELECT_ACL | EXTRA_ACL , tables,0))
check_table_access(thd, SELECT_ACL | EXTRA_ACL , tables,0))
goto error; /* purecov: inspected */
thd->slow_command=TRUE;
res = mysql_check_table(thd, tables, &lex->check_opt);
break;
}
......@@ -2378,6 +2384,7 @@ mysql_execute_command(THD *thd)
if (check_db_used(thd,tables) ||
check_table_access(thd,SELECT_ACL | INSERT_ACL, tables,0))
goto error; /* purecov: inspected */
thd->slow_command=TRUE;
res = mysql_analyze_table(thd, tables, &lex->check_opt);
/* ! we write after unlocking the table */
if (!res && !lex->no_write_to_binlog)
......@@ -2398,6 +2405,7 @@ mysql_execute_command(THD *thd)
if (check_db_used(thd,tables) ||
check_table_access(thd,SELECT_ACL | INSERT_ACL, tables,0))
goto error; /* purecov: inspected */
thd->slow_command=TRUE;
if (specialflag & (SPECIAL_SAFE_MODE | SPECIAL_NO_NEW_FUNC))
{
/* Use ALTER TABLE */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment