mirror of
https://github.com/MariaDB/server.git
synced 2025-11-17 03:06:27 +01:00
99 lines
3.5 KiB
Text
99 lines
3.5 KiB
Text
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;
|
|
The next error 140 + 1005 is expected
|
|
CREATE TABLE graph (
|
|
latch SMALLINT UNSIGNED 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';
|
|
ERROR HY000: Can't create table `test`.`graph` (errno: 140 "Wrong create options")
|
|
SET GLOBAL oqgraph_allow_create_integer_latch=true;
|
|
The next warning 1287 is expected
|
|
CREATE TABLE graph (
|
|
latch SMALLINT UNSIGNED 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';
|
|
Warnings:
|
|
Warning 1287 'latch SMALLINT UNSIGNED NULL' is deprecated and will be removed in a future release. Please use 'latch VARCHAR(32) NULL' instead
|
|
SET GLOBAL oqgraph_allow_create_integer_latch=false;
|
|
The next error 140 + 1005 is expected
|
|
CREATE TABLE graph_again (
|
|
latch SMALLINT UNSIGNED 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';
|
|
ERROR HY000: Can't create table `test`.`graph_again` (errno: 140 "Wrong create options")
|
|
# Populating base table
|
|
INSERT INTO graph_base(from_id, to_id) VALUES (1,2), (2,1);
|
|
INSERT INTO graph_base(from_id, to_id) VALUES (1,3), (3,1);
|
|
INSERT INTO graph_base(from_id, to_id) VALUES (3,4), (4,3);
|
|
INSERT INTO graph_base(from_id, to_id) VALUES (5,6), (6,5);
|
|
# Exercising latch==2
|
|
SELECT * FROM graph WHERE latch = 2 AND origid = 1 AND weight = 1;
|
|
latch origid destid weight seq linkid
|
|
2 1 NULL 1 3 3
|
|
2 1 NULL 1 2 2
|
|
SELECT * FROM graph WHERE latch = 2 AND origid = 1 AND weight = 2;
|
|
latch origid destid weight seq linkid
|
|
2 1 NULL 2 4 4
|
|
SELECT * FROM graph WHERE latch = 2 AND origid = 1 AND (weight = 1 OR weight = 2);
|
|
latch origid destid weight seq linkid
|
|
2 1 NULL 2 4 4
|
|
2 1 NULL 1 3 3
|
|
2 1 NULL 1 2 2
|
|
# Exercising latch==1
|
|
SELECT * FROM graph WHERE latch=1 AND origid=1 AND destid=6;
|
|
latch origid destid weight seq linkid
|
|
SELECT * FROM graph WHERE latch=1 AND origid=1 AND destid=4;
|
|
latch origid destid weight seq linkid
|
|
1 1 4 NULL 0 1
|
|
1 1 4 1 1 3
|
|
1 1 4 1 2 4
|
|
SELECT * FROM graph WHERE latch=1 AND origid=4 AND destid=1;
|
|
latch origid destid weight seq linkid
|
|
1 4 1 NULL 0 4
|
|
1 4 1 1 1 3
|
|
1 4 1 1 2 1
|
|
SELECT * FROM graph WHERE latch=0 and destid=2 and origid=1;
|
|
latch origid destid weight seq linkid
|
|
0 1 2 1 3 1
|
|
0 1 2 1 2 3
|
|
0 1 2 1 1 2
|
|
# Adding new row to base table
|
|
INSERT INTO graph_base (from_id,to_id) VALUES (4,6);
|
|
# Deleting rows from base table
|
|
DELETE FROM graph_base WHERE from_id=5;
|
|
DELETE FROM graph_base WHERE from_id=3 AND to_id=5;
|
|
# Execising latch==1 on new data
|
|
SELECT * FROM graph WHERE latch=1 AND origid=1 AND destid=6;
|
|
latch origid destid weight seq linkid
|
|
1 1 6 NULL 0 1
|
|
1 1 6 1 1 3
|
|
1 1 6 1 2 4
|
|
1 1 6 1 3 6
|
|
SELECT * FROM graph WHERE latch=1 AND origid=6 AND destid=1;
|
|
latch origid destid weight seq linkid
|
|
DROP TABLE IF EXISTS graph;
|
|
DROP TABLE IF EXISTS graph_base;
|