diff options
author | Andrew McDonnell <bugs@andrewmcdonnell.net> | 2013-08-09 20:22:05 +0930 |
---|---|---|
committer | Andrew McDonnell <bugs@andrewmcdonnell.net> | 2013-08-09 20:22:05 +0930 |
commit | 863cfb7e7cb4cc198093a0ac5009139b4ed3ac6a (patch) | |
tree | 838229ffc7cd4f63a6fa731732d0eaa9d4515ae7 /mysql-test/suite/oqgraph | |
parent | 89c88529f79de1835209eee91eaf6a4a8256e16d (diff) | |
download | mariadb-git-863cfb7e7cb4cc198093a0ac5009139b4ed3ac6a.tar.gz |
Regression test for #1196020
Diffstat (limited to 'mysql-test/suite/oqgraph')
-rw-r--r-- | mysql-test/suite/oqgraph/basic.test | 90 | ||||
-rw-r--r-- | mysql-test/suite/oqgraph/regression_1196020.result | 68 | ||||
-rw-r--r-- | mysql-test/suite/oqgraph/regression_1196020.test | 71 |
3 files changed, 171 insertions, 58 deletions
diff --git a/mysql-test/suite/oqgraph/basic.test b/mysql-test/suite/oqgraph/basic.test index b38c68cd52f..e25a79b773c 100644 --- a/mysql-test/suite/oqgraph/basic.test +++ b/mysql-test/suite/oqgraph/basic.test @@ -1,4 +1,4 @@ ---disable_warnings +1--disable_warnings DROP TABLE IF EXISTS graph_base; DROP TABLE IF EXISTS graph; DROP TABLE IF EXISTS graph2; @@ -67,10 +67,8 @@ SELECT * FROM graph; --echo # Currently count should be 13 SELECT count(*) FROM graph; -# FIXME - this is currently returning empty instead of all edges -#--echo # Return all edges - in v2, NULL latch should do this, but v3 now returns nothing... -#--https://bugs.launchpad.net/oqgraph/+bug/1196021 -#SELECT * FROM graph where latch=NULL; +--echo # Return all edges when latch is NULL +SELECT * FROM graph where latch is NULL; --echo # Return all vertices, and subsets of vertices SELECT * FROM graph where latch=''; @@ -139,16 +137,12 @@ SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 4; SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 5; SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 6; SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 7; -#-- FIXME This is returning one result set, suspect this is a bug...? -#-- https://bugs.launchpad.net/oqgraph/+bug/1196020 -SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 8; +SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 8; # <-- note, should return nothing SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 9; SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 10; SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 11; SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 12; -#-- FIXME This is returning one result set, suspect this is a bug...? -#-- https://bugs.launchpad.net/oqgraph/+bug/1196020 -SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 666; +SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 666; # <-- note, should return nothing #-- The above results can then be filtered by weight, so the results should be a subset for the corresponding origid above #-- so effectively, `AND weight=1` returns the neighbours of origid in linkid #<----- orig test harness - still returns (breadth_first 1 NULL 1 3 3), (breadth_first 1 NULL 1 2 2) @@ -159,7 +153,7 @@ SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 4 AND weight = 1; SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 5 AND weight = 1; SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 6 AND weight = 1; SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 7 AND weight = 1; -SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 8 AND weight = 1; +SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 8 AND weight = 1; # <-- note, should return nothing SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 9 AND weight = 1; SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 10 AND weight = 1; SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 11 AND weight = 1; @@ -173,7 +167,7 @@ SELECT count(*) FROM graph WHERE latch = 'breadth_first' AND origid = 4 AND weig SELECT count(*) FROM graph WHERE latch = 'breadth_first' AND origid = 5 AND weight = 1; SELECT count(*) FROM graph WHERE latch = 'breadth_first' AND origid = 6 AND weight = 1; SELECT count(*) FROM graph WHERE latch = 'breadth_first' AND origid = 7 AND weight = 1; -SELECT count(*) FROM graph WHERE latch = 'breadth_first' AND origid = 8 AND weight = 1; +SELECT count(*) FROM graph WHERE latch = 'breadth_first' AND origid = 8 AND weight = 1; # <-- note, should return nothing SELECT count(*) FROM graph WHERE latch = 'breadth_first' AND origid = 9 AND weight = 1; SELECT count(*) FROM graph WHERE latch = 'breadth_first' AND origid = 10 AND weight = 1; SELECT count(*) FROM graph WHERE latch = 'breadth_first' AND origid = 11 AND weight = 1; @@ -186,7 +180,7 @@ SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 4 AND weight = 2; SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 5 AND weight = 2; SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 6 AND weight = 2; SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 7 AND weight = 2; -SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 8 AND weight = 2; +SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 8 AND weight = 2; # <-- note, should return nothing SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 9 AND weight = 2; SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 10 AND weight = 2; SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 11 AND weight = 2; @@ -198,7 +192,7 @@ SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 4 AND weight = 3; SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 5 AND weight = 3; SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 6 AND weight = 3; SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 7 AND weight = 3; -SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 8 AND weight = 3; +SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 8 AND weight = 3; # <-- note, should return nothing SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 9 AND weight = 3; SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 10 AND weight = 3; SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 11 AND weight = 3; @@ -211,7 +205,7 @@ SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 4 AND (weight = 1 SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 5 AND (weight = 1 or weight = 2); SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 6 AND (weight = 1 or weight = 2); SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 7 AND (weight = 1 or weight = 2); -SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 8 AND (weight = 1 or weight = 2); +SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 8 AND (weight = 1 or weight = 2); # <-- note, should return nothing SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 9 AND (weight = 1 or weight = 2); SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 10 AND (weight = 1 or weight = 2); SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 11 AND (weight = 1 or weight = 2); @@ -227,9 +221,7 @@ SELECT * FROM graph WHERE latch = 'breadth_first' AND destid = 4; SELECT * FROM graph WHERE latch = 'breadth_first' AND destid = 5; SELECT * FROM graph WHERE latch = 'breadth_first' AND destid = 6; SELECT * FROM graph WHERE latch = 'breadth_first' AND destid = 7; -#-- FIXME This is returning one result set, suspect this is a bug...? -#-- https://bugs.launchpad.net/oqgraph/+bug/1196020 -SELECT * FROM graph WHERE latch = 'breadth_first' AND destid = 8; +SELECT * FROM graph WHERE latch = 'breadth_first' AND destid = 8; # <-- note, should return nothing SELECT * FROM graph WHERE latch = 'breadth_first' AND destid = 9; SELECT * FROM graph WHERE latch = 'breadth_first' AND destid = 10; SELECT * FROM graph WHERE latch = 'breadth_first' AND destid = 11; @@ -241,7 +233,7 @@ SELECT * FROM graph WHERE latch = 'breadth_first' AND destid = 4 and weight = 1; SELECT * FROM graph WHERE latch = 'breadth_first' AND destid = 5 and weight = 1; SELECT * FROM graph WHERE latch = 'breadth_first' AND destid = 6 and weight = 1; SELECT * FROM graph WHERE latch = 'breadth_first' AND destid = 7 and weight = 1; -SELECT * FROM graph WHERE latch = 'breadth_first' AND destid = 8 and weight = 1; +SELECT * FROM graph WHERE latch = 'breadth_first' AND destid = 8 and weight = 1; # <-- note, should return nothing SELECT * FROM graph WHERE latch = 'breadth_first' AND destid = 9 and weight = 1; SELECT * FROM graph WHERE latch = 'breadth_first' AND destid = 10 and weight = 1; SELECT * FROM graph WHERE latch = 'breadth_first' AND destid = 11 and weight = 1; @@ -253,7 +245,7 @@ SELECT * FROM graph WHERE latch = 'breadth_first' AND destid = 4 and weight = 2; SELECT * FROM graph WHERE latch = 'breadth_first' AND destid = 5 and weight = 2; SELECT * FROM graph WHERE latch = 'breadth_first' AND destid = 6 and weight = 2; SELECT * FROM graph WHERE latch = 'breadth_first' AND destid = 7 and weight = 2; -SELECT * FROM graph WHERE latch = 'breadth_first' AND destid = 8 and weight = 2; +SELECT * FROM graph WHERE latch = 'breadth_first' AND destid = 8 and weight = 2; # <-- note, should return nothing SELECT * FROM graph WHERE latch = 'breadth_first' AND destid = 9 and weight = 2; SELECT * FROM graph WHERE latch = 'breadth_first' AND destid = 10 and weight = 2; SELECT * FROM graph WHERE latch = 'breadth_first' AND destid = 11 and weight = 2; @@ -265,7 +257,7 @@ SELECT * FROM graph WHERE latch = 'breadth_first' AND destid = 4 and weight = 3; SELECT * FROM graph WHERE latch = 'breadth_first' AND destid = 5 and weight = 3; SELECT * FROM graph WHERE latch = 'breadth_first' AND destid = 6 and weight = 3; SELECT * FROM graph WHERE latch = 'breadth_first' AND destid = 7 and weight = 3; -SELECT * FROM graph WHERE latch = 'breadth_first' AND destid = 8 and weight = 3; +SELECT * FROM graph WHERE latch = 'breadth_first' AND destid = 8 and weight = 3; # <-- note, should return nothing SELECT * FROM graph WHERE latch = 'breadth_first' AND destid = 9 and weight = 3; SELECT * FROM graph WHERE latch = 'breadth_first' AND destid = 10 and weight = 3; SELECT * FROM graph WHERE latch = 'breadth_first' AND destid = 11 and weight = 3; @@ -285,16 +277,12 @@ SELECT * FROM graph WHERE latch = '2' AND origid = 4; SELECT * FROM graph WHERE latch = '2' AND origid = 5; SELECT * FROM graph WHERE latch = '2' AND origid = 6; SELECT * FROM graph WHERE latch = '2' AND origid = 7; -#-- FIXME This is returning one result set, suspect this is a bug...? -#-- https://bugs.launchpad.net/oqgraph/+bug/1196020 -SELECT * FROM graph WHERE latch = '2' AND origid = 8; +SELECT * FROM graph WHERE latch = '2' AND origid = 8; # <-- note, should return nothing SELECT * FROM graph WHERE latch = '2' AND origid = 9; SELECT * FROM graph WHERE latch = '2' AND origid = 10; SELECT * FROM graph WHERE latch = '2' AND origid = 11; SELECT * FROM graph WHERE latch = '2' AND origid = 12; -#-- FIXME This is returning one result set, suspect this is a bug...? -#-- https://bugs.launchpad.net/oqgraph/+bug/1196020 -SELECT * FROM graph WHERE latch = '2' AND origid = 666; +SELECT * FROM graph WHERE latch = '2' AND origid = 666; # <-- note, should return nothing SELECT * FROM graph WHERE latch = '2' AND origid = 1 AND weight = 1; SELECT * FROM graph WHERE latch = '2' AND origid = 2 AND weight = 1; SELECT * FROM graph WHERE latch = '2' AND origid = 3 AND weight = 1; @@ -302,7 +290,7 @@ SELECT * FROM graph WHERE latch = '2' AND origid = 4 AND weight = 1; SELECT * FROM graph WHERE latch = '2' AND origid = 5 AND weight = 1; SELECT * FROM graph WHERE latch = '2' AND origid = 6 AND weight = 1; SELECT * FROM graph WHERE latch = '2' AND origid = 7 AND weight = 1; -SELECT * FROM graph WHERE latch = '2' AND origid = 8 AND weight = 1; +SELECT * FROM graph WHERE latch = '2' AND origid = 8 AND weight = 1; # <-- note, should return nothing SELECT * FROM graph WHERE latch = '2' AND origid = 9 AND weight = 1; SELECT * FROM graph WHERE latch = '2' AND origid = 10 AND weight = 1; SELECT * FROM graph WHERE latch = '2' AND origid = 11 AND weight = 1; @@ -314,7 +302,7 @@ SELECT count(*) FROM graph WHERE latch = '2' AND origid = 4 AND weight = 1; SELECT count(*) FROM graph WHERE latch = '2' AND origid = 5 AND weight = 1; SELECT count(*) FROM graph WHERE latch = '2' AND origid = 6 AND weight = 1; SELECT count(*) FROM graph WHERE latch = '2' AND origid = 7 AND weight = 1; -SELECT count(*) FROM graph WHERE latch = '2' AND origid = 8 AND weight = 1; +SELECT count(*) FROM graph WHERE latch = '2' AND origid = 8 AND weight = 1; # <-- note, should return nothing SELECT count(*) FROM graph WHERE latch = '2' AND origid = 9 AND weight = 1; SELECT count(*) FROM graph WHERE latch = '2' AND origid = 10 AND weight = 1; SELECT count(*) FROM graph WHERE latch = '2' AND origid = 11 AND weight = 1; @@ -326,7 +314,7 @@ SELECT * FROM graph WHERE latch = '2' AND origid = 4 AND weight = 2; SELECT * FROM graph WHERE latch = '2' AND origid = 5 AND weight = 2; SELECT * FROM graph WHERE latch = '2' AND origid = 6 AND weight = 2; SELECT * FROM graph WHERE latch = '2' AND origid = 7 AND weight = 2; -SELECT * FROM graph WHERE latch = '2' AND origid = 8 AND weight = 2; +SELECT * FROM graph WHERE latch = '2' AND origid = 8 AND weight = 2; # <-- note, should return nothing SELECT * FROM graph WHERE latch = '2' AND origid = 9 AND weight = 2; SELECT * FROM graph WHERE latch = '2' AND origid = 10 AND weight = 2; SELECT * FROM graph WHERE latch = '2' AND origid = 11 AND weight = 2; @@ -338,7 +326,7 @@ SELECT * FROM graph WHERE latch = '2' AND origid = 4 AND weight = 3; SELECT * FROM graph WHERE latch = '2' AND origid = 5 AND weight = 3; SELECT * FROM graph WHERE latch = '2' AND origid = 6 AND weight = 3; SELECT * FROM graph WHERE latch = '2' AND origid = 7 AND weight = 3; -SELECT * FROM graph WHERE latch = '2' AND origid = 8 AND weight = 3; +SELECT * FROM graph WHERE latch = '2' AND origid = 8 AND weight = 3; # <-- note, should return nothing SELECT * FROM graph WHERE latch = '2' AND origid = 9 AND weight = 3; SELECT * FROM graph WHERE latch = '2' AND origid = 10 AND weight = 3; SELECT * FROM graph WHERE latch = '2' AND origid = 11 AND weight = 3; @@ -351,7 +339,7 @@ SELECT * FROM graph WHERE latch = '2' AND origid = 4 AND (weight = 1 or weight = SELECT * FROM graph WHERE latch = '2' AND origid = 5 AND (weight = 1 or weight = 2); SELECT * FROM graph WHERE latch = '2' AND origid = 6 AND (weight = 1 or weight = 2); SELECT * FROM graph WHERE latch = '2' AND origid = 7 AND (weight = 1 or weight = 2); -SELECT * FROM graph WHERE latch = '2' AND origid = 8 AND (weight = 1 or weight = 2); +SELECT * FROM graph WHERE latch = '2' AND origid = 8 AND (weight = 1 or weight = 2); # <-- note, should return nothing SELECT * FROM graph WHERE latch = '2' AND origid = 9 AND (weight = 1 or weight = 2); SELECT * FROM graph WHERE latch = '2' AND origid = 10 AND (weight = 1 or weight = 2); SELECT * FROM graph WHERE latch = '2' AND origid = 11 AND (weight = 1 or weight = 2); @@ -364,9 +352,7 @@ SELECT * FROM graph WHERE latch = '2' AND destid = 4; SELECT * FROM graph WHERE latch = '2' AND destid = 5; SELECT * FROM graph WHERE latch = '2' AND destid = 6; SELECT * FROM graph WHERE latch = '2' AND destid = 7; -#-- FIXME This is returning one result set, suspect this is a bug...? -#-- https://bugs.launchpad.net/oqgraph/+bug/1196020 -SELECT * FROM graph WHERE latch = '2' AND destid = 8; +SELECT * FROM graph WHERE latch = '2' AND destid = 8; # <-- note, should return nothing SELECT * FROM graph WHERE latch = '2' AND destid = 9; SELECT * FROM graph WHERE latch = '2' AND destid = 10; SELECT * FROM graph WHERE latch = '2' AND destid = 11; @@ -378,7 +364,7 @@ SELECT * FROM graph WHERE latch = '2' AND destid = 4 and weight = 1; SELECT * FROM graph WHERE latch = '2' AND destid = 5 and weight = 1; SELECT * FROM graph WHERE latch = '2' AND destid = 6 and weight = 1; SELECT * FROM graph WHERE latch = '2' AND destid = 7 and weight = 1; -SELECT * FROM graph WHERE latch = '2' AND destid = 8 and weight = 1; +SELECT * FROM graph WHERE latch = '2' AND destid = 8 and weight = 1; # <-- note, should return nothing SELECT * FROM graph WHERE latch = '2' AND destid = 9 and weight = 1; SELECT * FROM graph WHERE latch = '2' AND destid = 10 and weight = 1; SELECT * FROM graph WHERE latch = '2' AND destid = 11 and weight = 1; @@ -390,7 +376,7 @@ SELECT * FROM graph WHERE latch = '2' AND destid = 4 and weight = 2; SELECT * FROM graph WHERE latch = '2' AND destid = 5 and weight = 2; SELECT * FROM graph WHERE latch = '2' AND destid = 6 and weight = 2; SELECT * FROM graph WHERE latch = '2' AND destid = 7 and weight = 2; -SELECT * FROM graph WHERE latch = '2' AND destid = 8 and weight = 2; +SELECT * FROM graph WHERE latch = '2' AND destid = 8 and weight = 2; # <-- note, should return nothing SELECT * FROM graph WHERE latch = '2' AND destid = 9 and weight = 2; SELECT * FROM graph WHERE latch = '2' AND destid = 10 and weight = 2; SELECT * FROM graph WHERE latch = '2' AND destid = 11 and weight = 2; @@ -402,7 +388,7 @@ SELECT * FROM graph WHERE latch = '2' AND destid = 4 and weight = 3; SELECT * FROM graph WHERE latch = '2' AND destid = 5 and weight = 3; SELECT * FROM graph WHERE latch = '2' AND destid = 6 and weight = 3; SELECT * FROM graph WHERE latch = '2' AND destid = 7 and weight = 3; -SELECT * FROM graph WHERE latch = '2' AND destid = 8 and weight = 3; +SELECT * FROM graph WHERE latch = '2' AND destid = 8 and weight = 3; # <-- note, should return nothing SELECT * FROM graph WHERE latch = '2' AND destid = 9 and weight = 3; SELECT * FROM graph WHERE latch = '2' AND destid = 10 and weight = 3; SELECT * FROM graph WHERE latch = '2' AND destid = 11 and weight = 3; @@ -458,16 +444,12 @@ SELECT * FROM graph WHERE latch='dijkstras' AND origid=4; SELECT * FROM graph WHERE latch='dijkstras' AND origid=5; SELECT * FROM graph WHERE latch='dijkstras' AND origid=6; SELECT * FROM graph WHERE latch='dijkstras' AND origid=7; -#-- FIXME This is returning one result set, suspect this is a bug...? -#-- https://bugs.launchpad.net/oqgraph/+bug/1196020 -SELECT * FROM graph WHERE latch='dijkstras' AND origid=8; +SELECT * FROM graph WHERE latch='dijkstras' AND origid=8; # <-- note, should return nothing SELECT * FROM graph WHERE latch='dijkstras' AND origid=9; SELECT * FROM graph WHERE latch='dijkstras' AND origid=10; SELECT * FROM graph WHERE latch='dijkstras' AND origid=11; SELECT * FROM graph WHERE latch='dijkstras' AND origid=12; -#-- FIXME This is returning one result set, suspect this is a bug...? -#-- https://bugs.launchpad.net/oqgraph/+bug/1196020 -SELECT * FROM graph WHERE latch='dijkstras' AND origid=666; +SELECT * FROM graph WHERE latch='dijkstras' AND origid=666; # <-- note, should return nothing #-- originating vertices SELECT * FROM graph WHERE latch='dijkstras' AND destid=1; @@ -477,9 +459,7 @@ SELECT * FROM graph WHERE latch='dijkstras' AND destid=4; SELECT * FROM graph WHERE latch='dijkstras' AND destid=5; SELECT * FROM graph WHERE latch='dijkstras' AND destid=6; SELECT * FROM graph WHERE latch='dijkstras' AND destid=7; -#-- FIXME This is returning one result set, suspect this is a bug...? -#-- https://bugs.launchpad.net/oqgraph/+bug/1196020 -SELECT * FROM graph WHERE latch='dijkstras' AND destid=8; +SELECT * FROM graph WHERE latch='dijkstras' AND destid=8; # <-- note, should return nothing SELECT * FROM graph WHERE latch='dijkstras' AND destid=9; SELECT * FROM graph WHERE latch='dijkstras' AND destid=10; SELECT * FROM graph WHERE latch='dijkstras' AND destid=11; @@ -492,7 +472,7 @@ SELECT * FROM graph WHERE latch='1' AND origid=2 AND destid=1; SELECT * FROM graph WHERE latch='1' AND origid=1 AND destid=4; SELECT * FROM graph WHERE latch='1' AND origid=4 AND destid=1; SELECT * FROM graph WHERE latch='1' AND origid=1 AND destid=5; -SELECT * FROM graph WHERE latch='1' AND origid=1 AND destid=666; +SELECT * FROM graph WHERE latch='1' AND origid=1 AND destid=666; # <-- note, should return nothing SELECT * FROM graph WHERE latch='1' AND origid=5 AND destid=7; SELECT * FROM graph WHERE latch='1' AND origid=7 AND destid=5; SELECT * FROM graph WHERE latch='1' AND origid=10 AND destid=11; @@ -508,16 +488,12 @@ SELECT * FROM graph WHERE latch='1' AND origid=4; SELECT * FROM graph WHERE latch='1' AND origid=5; SELECT * FROM graph WHERE latch='1' AND origid=6; SELECT * FROM graph WHERE latch='1' AND origid=7; -#-- FIXME This is returning one result set, suspect this is a bug...? -#-- https://bugs.launchpad.net/oqgraph/+bug/1196020 -SELECT * FROM graph WHERE latch='1' AND origid=8; +SELECT * FROM graph WHERE latch='1' AND origid=8; # <-- note, should return nothing SELECT * FROM graph WHERE latch='1' AND origid=9; SELECT * FROM graph WHERE latch='1' AND origid=10; SELECT * FROM graph WHERE latch='1' AND origid=11; SELECT * FROM graph WHERE latch='1' AND origid=12; -#-- FIXME This is returning one result set, suspect this is a bug...? -#-- https://bugs.launchpad.net/oqgraph/+bug/1196020 -SELECT * FROM graph WHERE latch='1' AND origid=666; +SELECT * FROM graph WHERE latch='1' AND origid=666; # <-- note, should return nothing SELECT * FROM graph WHERE latch='1' AND destid=1; SELECT * FROM graph WHERE latch='1' AND destid=2; SELECT * FROM graph WHERE latch='1' AND destid=3; @@ -525,9 +501,7 @@ SELECT * FROM graph WHERE latch='1' AND destid=4; SELECT * FROM graph WHERE latch='1' AND destid=5; SELECT * FROM graph WHERE latch='1' AND destid=6; SELECT * FROM graph WHERE latch='1' AND destid=7; -#-- FIXME This is returning one result set, suspect this is a bug...? -#-- https://bugs.launchpad.net/oqgraph/+bug/1196020 -SELECT * FROM graph WHERE latch='1' AND destid=8; +SELECT * FROM graph WHERE latch='1' AND destid=8; # <-- note, should return nothing SELECT * FROM graph WHERE latch='1' AND destid=9; SELECT * FROM graph WHERE latch='1' AND destid=10; SELECT * FROM graph WHERE latch='1' AND destid=11; diff --git a/mysql-test/suite/oqgraph/regression_1196020.result b/mysql-test/suite/oqgraph/regression_1196020.result new file mode 100644 index 00000000000..3ffc5a0ecb6 --- /dev/null +++ b/mysql-test/suite/oqgraph/regression_1196020.result @@ -0,0 +1,68 @@ +DROP TABLE IF EXISTS graph_base; +DROP TABLE IF EXISTS graph; +CREATE TABLE graph_base ( +from_id INT UNSIGNED NOT NULL, +to_id INT UNSIGNED NOT NULL, +PRIMARY KEY (from_id,to_id), +INDEX (to_id) +) ENGINE=MyISAM; +CREATE TABLE graph ( +latch VARCHAR(32) NULL, +origid BIGINT UNSIGNED NULL, +destid BIGINT UNSIGNED NULL, +weight DOUBLE NULL, +seq BIGINT UNSIGNED NULL, +linkid BIGINT UNSIGNED NULL, +KEY (latch, origid, destid) USING HASH, +KEY (latch, destid, origid) USING HASH +) ENGINE=OQGRAPH DATA_TABLE='graph_base' ORIGID='from_id', DESTID='to_id'; +INSERT INTO graph_base(from_id, to_id) VALUES (1,2), (2,1); +SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 666; +latch origid destid weight seq linkid +SELECT * FROM graph WHERE latch = '2' AND origid = 666; +latch origid destid weight seq linkid +SELECT * FROM graph WHERE latch = 'dijkstras' AND origid = 666; +latch origid destid weight seq linkid +SELECT * FROM graph WHERE latch = '1' AND origid = 666; +latch origid destid weight seq linkid +SELECT * FROM graph WHERE latch = 'breadth_first' AND destid = 666; +latch origid destid weight seq linkid +SELECT * FROM graph WHERE latch = '2' AND destid = 666; +latch origid destid weight seq linkid +SELECT * FROM graph WHERE latch = 'dijkstras' AND destid = 666; +latch origid destid weight seq linkid +SELECT * FROM graph WHERE latch = '1' AND destid = 666; +latch origid destid weight seq linkid +SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 666 and weight = 1; +latch origid destid weight seq linkid +SELECT * FROM graph WHERE latch = '2' AND origid = 666 and weight = 1; +latch origid destid weight seq linkid +SELECT * FROM graph WHERE latch = 'dijkstras' AND origid = 666 and weight = 1; +latch origid destid weight seq linkid +SELECT * FROM graph WHERE latch = '1' AND origid = 666 and weight = 1; +latch origid destid weight seq linkid +SELECT * FROM graph WHERE latch = 'breadth_first' AND destid = 666 and weight = 1; +latch origid destid weight seq linkid +SELECT * FROM graph WHERE latch = '2' AND destid = 666 and weight = 1; +latch origid destid weight seq linkid +SELECT * FROM graph WHERE latch = 'dijkstras' AND destid = 666 and weight = 1; +latch origid destid weight seq linkid +SELECT * FROM graph WHERE latch = '1' AND destid = 666 and weight = 1; +latch origid destid weight seq linkid +SELECT * FROM graph WHERE latch = '' AND origid = 666; +latch origid destid weight seq linkid +SELECT * FROM graph WHERE latch = '0' AND origid = 666; +latch origid destid weight seq linkid +SELECT * FROM graph WHERE latch is NULL AND origid = 666; +latch origid destid weight seq linkid +SELECT * FROM graph WHERE latch = '' AND destid = 666; +latch origid destid weight seq linkid +SELECT * FROM graph WHERE latch = '0' AND destid = 666; +latch origid destid weight seq linkid +SELECT * FROM graph WHERE latch is NULL AND destid = 666; +latch origid destid weight seq linkid +DELETE FROM graph_base; +FLUSH TABLES; +TRUNCATE TABLE graph_base; +DROP TABLE graph_base; +DROP TABLE graph; diff --git a/mysql-test/suite/oqgraph/regression_1196020.test b/mysql-test/suite/oqgraph/regression_1196020.test new file mode 100644 index 00000000000..a4df1790b4d --- /dev/null +++ b/mysql-test/suite/oqgraph/regression_1196020.test @@ -0,0 +1,71 @@ +# Regression test for https://bugs.launchpad.net/oqgraph/+bug/1196020 +#-- bug where select blah with origid = X where X does not exist, returns a row +#-- bug where select blah with destid = X where X does not exist, returns a row +--disable_warnings +DROP TABLE IF EXISTS graph_base; +DROP TABLE IF EXISTS graph; +--enable_warnings + +# Create the backing store +CREATE TABLE graph_base ( + from_id INT UNSIGNED NOT NULL, + to_id INT UNSIGNED NOT NULL, + PRIMARY KEY (from_id,to_id), + INDEX (to_id) + ) ENGINE=MyISAM; + + +CREATE TABLE graph ( + latch VARCHAR(32) NULL, + origid BIGINT UNSIGNED NULL, + destid BIGINT UNSIGNED NULL, + weight DOUBLE NULL, + seq BIGINT UNSIGNED NULL, + linkid BIGINT UNSIGNED NULL, + KEY (latch, origid, destid) USING HASH, + KEY (latch, destid, origid) USING HASH + ) ENGINE=OQGRAPH DATA_TABLE='graph_base' ORIGID='from_id', DESTID='to_id'; + + +INSERT INTO graph_base(from_id, to_id) VALUES (1,2), (2,1); + +# All the following should return no result because no vertex 666 exists in the graph + +SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 666; +SELECT * FROM graph WHERE latch = '2' AND origid = 666; +SELECT * FROM graph WHERE latch = 'dijkstras' AND origid = 666; +SELECT * FROM graph WHERE latch = '1' AND origid = 666; + +SELECT * FROM graph WHERE latch = 'breadth_first' AND destid = 666; +SELECT * FROM graph WHERE latch = '2' AND destid = 666; +SELECT * FROM graph WHERE latch = 'dijkstras' AND destid = 666; +SELECT * FROM graph WHERE latch = '1' AND destid = 666; + +SELECT * FROM graph WHERE latch = 'breadth_first' AND origid = 666 and weight = 1; +SELECT * FROM graph WHERE latch = '2' AND origid = 666 and weight = 1; +SELECT * FROM graph WHERE latch = 'dijkstras' AND origid = 666 and weight = 1; +SELECT * FROM graph WHERE latch = '1' AND origid = 666 and weight = 1; + +SELECT * FROM graph WHERE latch = 'breadth_first' AND destid = 666 and weight = 1; +SELECT * FROM graph WHERE latch = '2' AND destid = 666 and weight = 1; +SELECT * FROM graph WHERE latch = 'dijkstras' AND destid = 666 and weight = 1; +SELECT * FROM graph WHERE latch = '1' AND destid = 666 and weight = 1; + +# Sanity check for no-search +SELECT * FROM graph WHERE latch = '' AND origid = 666; +SELECT * FROM graph WHERE latch = '0' AND origid = 666; +SELECT * FROM graph WHERE latch is NULL AND origid = 666; + +SELECT * FROM graph WHERE latch = '' AND destid = 666; +SELECT * FROM graph WHERE latch = '0' AND destid = 666; +SELECT * FROM graph WHERE latch is NULL AND destid = 666; + + + +DELETE FROM graph_base; +FLUSH TABLES; +TRUNCATE TABLE graph_base; + +DROP TABLE graph_base; +DROP TABLE graph; + |