diff options
author | Andrew McDonnell <bugs@andrewmcdonnell.net> | 2013-08-16 23:56:19 +0930 |
---|---|---|
committer | Andrew McDonnell <bugs@andrewmcdonnell.net> | 2013-08-16 23:56:19 +0930 |
commit | 007ff24cd4fd162eb4bb01c81022db85b4d23d22 (patch) | |
tree | 40131ba09603211f8d7c35d190e949fd0e91bc61 /mysql-test/suite/oqgraph | |
parent | da87bf53c79ef07cd19c34c2820ce37abf627c12 (diff) | |
download | mariadb-git-007ff24cd4fd162eb4bb01c81022db85b4d23d22.tar.gz |
Another variant of 796647
Diffstat (limited to 'mysql-test/suite/oqgraph')
-rw-r--r-- | mysql-test/suite/oqgraph/regression_796647c.test | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/mysql-test/suite/oqgraph/regression_796647c.test b/mysql-test/suite/oqgraph/regression_796647c.test new file mode 100644 index 00000000000..c45083ade32 --- /dev/null +++ b/mysql-test/suite/oqgraph/regression_796647c.test @@ -0,0 +1,79 @@ +--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); + +SELECT count(*) FROM graph; +SELECT count(*) FROM graph_base; + +INSERT INTO graph_base(from_id, to_id) VALUES (12,10); + +SELECT count(*) FROM graph; +SELECT count(*) FROM graph_base; + +INSERT INTO graph_base(from_id, to_id) VALUES (14,13); + +SELECT count(*) FROM graph; +SELECT count(*) FROM graph_base; + +DELETE FROM graph_base where from_id=10 and to_id=11; +INSERT INTO graph_base(from_id, to_id) VALUES (10,15); +INSERT INTO graph_base(from_id, to_id) VALUES (15,13); +INSERT INTO graph_base(from_id, to_id) VALUES (10,11); + +SELECT count(*) FROM graph; +SELECT count(*) FROM graph_base; + +INSERT INTO graph_base(from_id, to_id) VALUES (21,22); +INSERT INTO graph_base (from_id,to_id) VALUES (4,6); + +#-- Without this when the line immediately after gets executed +#-- we get a segfault +SELECT count(*) FROM graph; +SELECT count(*) FROM graph_base; + +--echo # And delete all references to node 5 +DELETE FROM graph_base WHERE from_id=5; +DELETE FROM graph_base WHERE from_id=3 AND to_id=5; + +#-- The following queries would currently return incorrect results +#-- 6 rows instead of 21 +#-- Maybe manifestation of https://bugs.launchpad.net/oqgraph/+bug/796647 +--echo # This is currently bogus: +SELECT count(*) FROM graph; +SELECT count(*) FROM graph_base; + +DELETE FROM graph_base; + +#-- The following line would hang mysqld currently, see bug https://bugs.launchpad.net/oqgraph/+bug/1195735 +#-- SELECT * FROM graph; + +FLUSH TABLES; +TRUNCATE TABLE graph_base; + +DROP TABLE graph_base; +DROP TABLE graph; + + |