summaryrefslogtreecommitdiffstats
path: root/storage/oqgraph/mysql-test/oqgraph/regression_1195735.test
diff options
context:
space:
mode:
Diffstat (limited to 'storage/oqgraph/mysql-test/oqgraph/regression_1195735.test')
-rw-r--r--storage/oqgraph/mysql-test/oqgraph/regression_1195735.test44
1 files changed, 44 insertions, 0 deletions
diff --git a/storage/oqgraph/mysql-test/oqgraph/regression_1195735.test b/storage/oqgraph/mysql-test/oqgraph/regression_1195735.test
new file mode 100644
index 00000000..12ab7ecb
--- /dev/null
+++ b/storage/oqgraph/mysql-test/oqgraph/regression_1195735.test
@@ -0,0 +1,44 @@
+# Regression test for https://bugs.launchpad.net/oqgraph/+bug/1195735
+#--reproduce bug where select * from graph after delete from graph_base hangs the server
+--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);
+
+--echo One select of any clauses at all on graph here caused a hang on the select after the DELETE FROM
+#-- even this if it is the only one - but it doesnt hang here ... SELECT * FROM graph;
+SELECT * FROM graph WHERE destid=2 and origid=1;
+
+DELETE FROM graph_base;
+#-- Bug 1195735 hangs on the next line
+SELECT * from graph;
+FLUSH TABLES;
+TRUNCATE TABLE graph_base;
+DROP TABLE graph_base;
+--error S42S02
+SELECT * FROM graph WHERE latch='dijkstras' AND origid=1 AND destid=6;
+DROP TABLE graph;
+