403Webshell
Server IP : 45.40.142.9  /  Your IP : 216.73.216.250
Web Server : Apache
System : Linux s45-40-142-9.secureserver.net 2.6.32-754.35.1.el6.x86_64 #1 SMP Sat Nov 7 12:42:14 UTC 2020 x86_64
User : bayspec ( 506)
PHP Version : 5.6.40
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/share/mysql-test/t/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/share/mysql-test/t/subquery_bugs.test
--echo #
--echo # Bug#27182010 SUBQUERY INCORRECTLY SHOWS DUPLICATE VALUES ON SUBQUERIES
--echo #

CREATE TABLE p (Id INT,PRIMARY KEY (Id));
INSERT INTO p VALUES (1);

--echo # Test UNIQUE KEY with NULL values
CREATE TABLE s (Id INT, u INT, UNIQUE KEY o(Id, u) );
INSERT INTO s VALUES (1, NULL),(1, NULL);

let query1= SELECT p.Id FROM (p) WHERE p.Id IN (
            SELECT s.Id FROM s WHERE Id=1 AND u IS NULL)ORDER BY Id DESC;
let query2= SELECT p.Id FROM (p) WHERE p.Id IN (
            SELECT s.Id FROM s WHERE Id=1 AND u IS NOT NULL) ORDER BY Id DESC;

eval EXPLAIN $query1;
eval EXPLAIN $query2;

eval $query1;
eval $query2;

--echo # UNIQUE KEY without NULL values
CREATE TABLE s1 (Id INT, u INT, UNIQUE KEY o(Id, u) );
INSERT INTO s1 VALUES (1, 2),(1, 3);

let query3= SELECT p.Id FROM (p) WHERE p.Id IN (
            SELECT s1.Id FROM s1 WHERE Id=1 AND u IS NOT NULL) ORDER BY Id DESC;
let query4= SELECT p.Id FROM (p) WHERE p.Id IN (
            SELECT s1.Id FROM s1 WHERE Id=1 AND u != 1) ORDER BY Id DESC;

eval EXPLAIN $query3;
eval EXPLAIN $query4;

eval $query3;
eval $query4;

--echo # NON UNIQUE KEY Scenario
CREATE TABLE s2 (Id INT, u INT, KEY o(Id, u) );
INSERT INTO s2 VALUES (1, NULL),(1, NULL);

let query5= SELECT p.Id FROM (p) WHERE p.Id IN (
            SELECT s.Id FROM s2 s WHERE Id=1 AND u IS NULL) ORDER BY Id DESC;

--echo #UNIQUE KEY with NON NULL FIELDS
CREATE TABLE s3 (Id INT NOT NULL, u INT NOT NULL, UNIQUE KEY o(Id, u));
INSERT INTO s3 VALUES (1, 2),(1, 3);

let query6= SELECT p.Id FROM (p) WHERE p.Id IN (
            SELECT s.Id FROM s3 s WHERE Id=1 AND u IS NOT NULL)
            ORDER BY Id DESC;

eval EXPLAIN $query5;
eval EXPLAIN $query6;

eval $query5;
eval $query6;

DROP TABLE p, s, s1, s2, s3;

Youez - 2016 - github.com/yon3zu
LinuXploit