403Webshell
Server IP : 172.67.216.182  /  Your IP : 172.70.147.119
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/engines/iuds/t/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /www/server/mysql/src/mysql-test/suite/engines/iuds/t/update_year.test
--disable_warnings
DROP TABLE IF EXISTS t1,t2,t3,t4;
--enable_warnings
SET sql_mode='NO_ENGINE_SUBSTITUTION';
# Create tables
CREATE TABLE t1(c1 YEAR NOT NULL,c2 YEAR, PRIMARY KEY(c1));
CREATE TABLE t2(c1 YEAR NOT NULL, c2 YEAR, UNIQUE INDEX idx(c1,c2));
CREATE TABLE t3(c1 YEAR(4) NOT NULL,c2 YEAR(4), PRIMARY KEY(c1));
CREATE TABLE t4(c1 YEAR(4), c2 YEAR(4), UNIQUE INDEX idx(c1,c2));
#Insert as 4-digit number format in the range '1901' to '2155'
INSERT INTO t1 VALUES (1901,1901),(1970,1970),(1999,1999),(2000,2000),(2155,2155);
INSERT INTO t2 VALUES (1901,1901),(1970,1970),(1999,1999),(2000,2000),(2155,2155);
INSERT INTO t3 VALUES (1901,1901),(1970,1970),(1999,1999),(2000,2000),(2155,2155);
INSERT INTO t4 VALUES (1901,1901),(1970,1970),(1999,1999),(2000,2000),(2155,2155);
#Insert as 4-digit string format in the range '1901' to '2155'
INSERT INTO t1 VALUES ('1902','1902'),('1971','1971'),('1998','1998'),('2001','2001'),('2154','2154');
INSERT INTO t2 VALUES ('1902','1902'),('1971','1971'),('1998','1998'),('2001','2001'),('2154','2154');
INSERT INTO t3 VALUES ('1902','1902'),('1971','1971'),('1998','1998'),('2001','2001'),('2154','2154');
INSERT INTO t4 VALUES ('1902','1902'),('1971','1971'),('1998','1998'),('2001','2001'),('2154','2154');
#Insert as 2-digit number format
INSERT INTO t1 VALUES (04,04),(64,64),(69,69),(97,97);
INSERT INTO t2 VALUES (04,04),(64,64),(69,69),(97,97);
INSERT INTO t3 VALUES (04,04),(64,64),(69,69),(97,97);
INSERT INTO t4 VALUES (04,04),(64,64),(69,69),(97,97);
#Insert as 2-digit string format
INSERT INTO t1 VALUES ('05','05'),('65','65'),('75','75'),('95','95');
INSERT INTO t2 VALUES ('05','05'),('65','65'),('75','75'),('95','95');
INSERT INTO t3 VALUES ('05','05'),('65','65'),('75','75'),('95','95');
INSERT INTO t4 VALUES ('05','05'),('65','65'),('75','75'),('95','95');
#Insert permissible NULLs
INSERT INTO t1 VALUES ('09',null),('61',null),('79',null),('96',null);
INSERT INTO t2 VALUES ('09',null),('61',null),('79',null),('96',null);
INSERT INTO t3 VALUES ('09',null),('61',null),('79',null),('96',null);
INSERT INTO t4 VALUES ('09',null),('61',null),('79',null),('96',null);
--sorted_result
SELECT * FROM t1;
--sorted_result
SELECT * FROM t2;
--sorted_result
SELECT * FROM t3;
--sorted_result
SELECT * FROM t4;
#Updating the tables
--sorted_result
SELECT c1 FROM t1 WHERE c1='2005';
UPDATE t1 SET c1='2003' WHERE c1='2005';
--sorted_result
SELECT c1 FROM t1;

# Update with NULL ( NULL to number & number to NULL)
--sorted_result
SELECT c2 FROM t2 WHERE c2=null;
UPDATE t2 SET c2='2070' WHERE c2=null AND c1='1996';
--sorted_result
SELECT c2 FROM t2;
--sorted_result
SELECT c2 FROM t3 WHERE c2 < '64';
UPDATE t3 SET c2=null WHERE c2 < '64' ORDER BY c2 LIMIT 3;
--sorted_result
SELECT c2 FROM t3;

#Update order by limit
--sorted_result
SELECT c1 FROM t4 WHERE c1 < '55';
UPDATE t4 SET c1='00' WHERE c1 < '65' ORDER BY c1 LIMIT 5;
--sorted_result
SELECT c1 FROM t4;

#Update with Arithmetic operations
#
#Updating 'YY' values
--sorted_result
SELECT c1 FROM t3 WHERE c1='05';
UPDATE t3 SET c1=c1+c2 WHERE c1='05';
--sorted_result
SELECT c1 FROM t3;
--sorted_result
SELECT c1 FROM t4 WHERE c2=4;
UPDATE t4 SET c1=c1 + 04 WHERE c2=04;
--sorted_result
SELECT c1 FROM t4;
--sorted_result
SELECT c2 FROM t3 WHERE c2=75;
--replace_regex /(Out of range value for column 'c2' at row) [0-9]+/\1 XX/
UPDATE t3 SET c2=c2 + 1902 WHERE c2='75';
--sorted_result
SELECT c2 FROM t3;
--sorted_result
SELECT c1 FROM t4 WHERE c1=09;
UPDATE t4 SET c1=c1 - c2 WHERE c1='09';
--sorted_result
SELECT c1 FROM t4;
--sorted_result
SELECT c1 FROM t3 WHERE c1=75;
UPDATE t3 SET c1=c1 - 01 WHERE c1='75';
--sorted_result
SELECT c1 FROM t3;
--sorted_result
SELECT c1 FROM t4 WHERE c1=98;
UPDATE t4 SET c1=c1 / 2 WHERE c1='98';
--sorted_result
SELECT c1 FROM t4;
--sorted_result
SELECT c2 FROM t3 WHERE c2=03;
UPDATE t3 SET c2=c2 * 03 WHERE c2='03';
--sorted_result
SELECT c2 FROM t3;
#
#Updating 'YYYY' values
--sorted_result
SELECT c1 FROM t1 WHERE c1 > 2060 AND c1 < 2070;
UPDATE t1 SET c1=c1 + 10 WHERE c1 > 2060 AND c1 < 2070;
--sorted_result
SELECT c1 FROM t1;
--sorted_result
SELECT c1 FROM t2 WHERE c1 > 1969 AND c1 < 1980;
UPDATE t2 SET c1=c1 - 10 WHERE c1 > 1969 AND c1 < 1980 ORDER BY c1 LIMIT 2;
--sorted_result
SELECT c1 FROM t2;

#Update range values
UPDATE t2 SET c2=2009 WHERE c1=2009 AND c2=null;
--sorted_result
SELECT c2 FROM t2;
UPDATE t1 SET c2=2155 WHERE c1=1979 OR c1=2154;
--sorted_result
SELECT c2 FROM t1;
UPDATE t4 SET c1=99 WHERE c2 IN (01,54,65,69,null);
--sorted_result
SELECT c1 FROM t4;

# Update outside range would be clipped to closest endpoints
UPDATE t1 SET c2=-1 WHERE c1=2071;
--sorted_result
SELECT c2 FROM t1;
UPDATE t1 SET c2=0 WHERE c1=2003;
--sorted_result
SELECT c2 FROM t1;
UPDATE t1 SET c2=2156 WHERE c1=2001;
--sorted_result
SELECT c2 FROM t1;
UPDATE t4 SET c2=-1 WHERE c1=71;
--sorted_result
SELECT c2 FROM t4;
UPDATE t4 SET c2=0 WHERE c1=70;
--sorted_result
SELECT c2 FROM t4;
UPDATE t4 SET c2=100 WHERE c1=79;
--sorted_result
SELECT c2 FROM t4;

# Update ignore on bad null error
--sorted_result
SELECT c1 FROM t1 WHERE c2 < 1975;
SET SQL_MODE=STRICT_ALL_TABLES;
--error ER_BAD_NULL_ERROR
UPDATE t1 SET c1=NULL WHERE c2 < 1975;
UPDATE IGNORE t1 SET c1=NULL WHERE c2 < 1975;
--sorted_result
SELECT c1 from t1 WHERE c2 < 1975;
SET sql_mode='NO_ENGINE_SUBSTITUTION';

#Update with invalid values
#UPDATE t2 SET c1='def' WHERE c2=2064;
#--sorted_result
#SELECT c1 FROM t2;
UPDATE t4 SET c1=-70 WHERE c2=75;
--sorted_result
SELECT c1 FROM t4;

#Update duplicate key
--error ER_DUP_ENTRY
UPDATE t1 SET c1=1971 WHERE c2=1995;

#Multi table update
--error ER_DUP_ENTRY
UPDATE t1,t2,t3,t4 SET t3.c1=t4.c1+t4.c2 WHERE t3.c1=61 AND t4.c2=4;

# Update using various access methods

# Update using Const
# EXPLAIN SELECT * FROM t1 WHERE c1=2074 AND c2=2064;
UPDATE t1 SET t1.c1=2073 WHERE c1=2074 AND c2=2064;
--sorted_result
SELECT * FROM t1;

# Update using range
# EXPLAIN SELECT * FROM t1 WHERE c1 BETWEEN 2000 AND 2010;
UPDATE t1 SET t1.c2=0000 WHERE c1 BETWEEN 2000 AND 2010; 
--sorted_result
SELECT * FROM t1;
# EXPLAIN SELECT * FROM t1 WHERE c1 IN (2154,2009,1979);
UPDATE t1 SET c1=c1-1,c2=c2+1 WHERE c1 IN (2154,2009,1979);
--sorted_result
SELECT * FROM t1;

# Update using eq_ref
# EXPLAIN SELECT * FROM t1,t2 WHERE t1.c1=t2.c1 AND t1.c2=t2.c2;
UPDATE t1,t2 SET t1.c2='2155' WHERE t1.c1=t2.c1 AND t1.c2=t2.c2;

#BUG49910
--disable_result_log
--sorted_result
SELECT * FROM t1;
--enable_result_log
--sorted_result
SELECT * FROM t2;
--sorted_result
SELECT * FROM t3;
--sorted_result
SELECT * FROM t4;

#Drop tables
DROP TABLE IF EXISTS t1,t2,t3,t4;
SET sql_mode=default;

Youez - 2016 - github.com/yon3zu
LinuXploit