403Webshell
Server IP : 104.21.38.3  /  Your IP : 172.68.164.25
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/parts/inc/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /www/server/mysql/src/mysql-test/suite/parts/inc/partition_trigg1.inc
################################################################################
# inc/partition_trigg1.inc                                                     #
#                                                                              #
# Purpose:                                                                     #
#   Auxiliary script, only useful when sourced by inc/partition_check.inc. #
#   One trigger uses new values (--> event UPDATE, INSERT only)                #
#   One trigger uses old values (--> event UPDATE, DELETE only)                #
#                                                                              #
# 1. Create a trigger                                                          #
# 2. Execute a statement, which activates the trigger                          #
# 3. Check the results of the trigger activity                                 #
# 4. Revert the modifications                                                  #
#                                                                              #
#------------------------------------------------------------------------------#
# Original Author: mleich                                                      #
# Original Date: 2006-03-05                                                    #
# Change Author:                                                               #
# Change Date:                                                                 #
# Change:                                                                      #
################################################################################

# Test for operations, which have new values (INSERT+UPDATE, but not DELETE)
if ($no_debug)
{
  --disable_query_log
}
eval SELECT INSTR('$statement','DELETE') = 0 INTO @aux;
let $run1= `SELECT @aux`;
--enable_query_log
if ($run1)
{
   # Insert three records which are only needed for UPDATE TRIGGER test
   eval INSERT INTO $tab_has_trigg(f_int1,f_int2,f_char1,f_char2,f_charbig)
   SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
         'just inserted' FROM t0_template
   WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
   delimiter |;
   eval CREATE TRIGGER trg_1 $event ON $tab_has_trigg FOR EACH ROW
   BEGIN
      UPDATE $tab_in_trigg SET f_int1 = -f_int1, f_int2 = -f_int2,
                    f_charbig = 'updated by trigger'
      WHERE f_int1 = new.f_int1;
   END|
   delimiter ;|

   eval $statement;

   #      Check of preceding statement via Select
   if ($no_debug)
   {
     --disable_query_log
   }
   eval SELECT '# check trigger-$num success: ' AS "", COUNT(*) = 3 AS ""
   FROM $tab_in_trigg
   WHERE f_int1 = f_int2 AND CAST(f_char1 AS SIGNED INT) = -f_int1;
   --enable_query_log

   DROP TRIGGER trg_1;

   # Revert the changes
   eval UPDATE $tab_in_trigg SET f_int1 = CAST(f_char1 AS SIGNED INT),
              f_int2 = CAST(f_char1 AS SIGNED INT),
              f_charbig = 'just inserted'
   WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
   eval DELETE FROM $tab_has_trigg
   WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
   inc $num;
}

# Test for operations, which have old values (UPDATE+DELETE, but not INSERT)
if ($no_debug)
{
  --disable_query_log
}
eval SELECT INSTR('$statement','INSERT') = 0 INTO @aux;
let $run1= `SELECT @aux`;
--enable_query_log
if ($run1)
{
   # Insert three records which are only needed for UPDATE/DELETE TRIGGER test
   eval INSERT INTO $tab_has_trigg(f_int1,f_int2,f_char1,f_char2,f_charbig)
   SELECT -f_int1,-f_int1,CAST(-f_int1 AS CHAR),CAST(-f_int1 AS CHAR),
          'just inserted' FROM t0_template
   WHERE f_int1 BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;

   delimiter |;
   eval CREATE TRIGGER trg_1 $event ON $tab_has_trigg FOR EACH ROW
   BEGIN
      UPDATE $tab_in_trigg SET f_int1 = -f_int1, f_int2 = -f_int2,
                    f_charbig = 'updated by trigger'
      WHERE f_int1 = - old.f_int1;
   END|
   delimiter ;|

   eval $statement;

   #      Check of preceding statement via Select
   if ($no_debug)
   {
     --disable_query_log
   }
   eval SELECT '# check trigger-$num success: ' AS "", COUNT(*) = 3 AS ""
   FROM $tab_in_trigg
   WHERE f_int1 = f_int2 AND CAST(f_char1 AS SIGNED INT) = -f_int1;
   --enable_query_log
   DROP TRIGGER trg_1;
   # Revert the changes
   eval UPDATE $tab_in_trigg SET f_int1 = CAST(f_char1 AS SIGNED INT),
                 f_int2 = CAST(f_char1 AS SIGNED INT),
                 f_charbig = 'just inserted'
   WHERE f_int1 <> CAST(f_char1 AS SIGNED INT);
   eval DELETE FROM $tab_has_trigg
   WHERE ABS(f_int1) BETWEEN @max_row_div2 - 1 AND @max_row_div2 + 1;
   inc $num;
}

Youez - 2016 - github.com/yon3zu
LinuXploit