summaryrefslogtreecommitdiff
path: root/plugin/type_inet/mysql-test/type_inet/type_inet4_engines.inc
diff options
context:
space:
mode:
Diffstat (limited to 'plugin/type_inet/mysql-test/type_inet/type_inet4_engines.inc')
-rw-r--r--plugin/type_inet/mysql-test/type_inet/type_inet4_engines.inc38
1 files changed, 38 insertions, 0 deletions
diff --git a/plugin/type_inet/mysql-test/type_inet/type_inet4_engines.inc b/plugin/type_inet/mysql-test/type_inet/type_inet4_engines.inc
new file mode 100644
index 00000000000..62a5c80a920
--- /dev/null
+++ b/plugin/type_inet/mysql-test/type_inet/type_inet4_engines.inc
@@ -0,0 +1,38 @@
+--echo #
+--echo # Range optimizer
+--echo #
+
+CREATE TABLE t1 (a INET4, INDEX(a));
+SHOW CREATE TABLE t1;
+
+DELIMITER $$;
+FOR i IN 0..255
+DO
+ INSERT INTO t1 VALUES (CONCAT('0.0.0.', i));
+END FOR
+$$
+DELIMITER ;$$
+SELECT * FROM t1 WHERE a='0.0.0.255';
+EXPLAIN SELECT * FROM t1 WHERE a='0.0.0.255';
+SELECT * FROM t1 WHERE a='garbage';
+EXPLAIN SELECT * FROM t1 WHERE a='garbage';
+
+SELECT * FROM t1 WHERE a>='0.0.0.254';
+EXPLAIN SELECT * FROM t1 WHERE a>='0.0.0.254';
+SELECT * FROM t1 WHERE a>='garbage';
+EXPLAIN SELECT * FROM t1 WHERE a>='garbage';
+
+SELECT * FROM t1 WHERE a IN ('0.0.0.128','0.0.0.160','0.0.0.240');
+EXPLAIN SELECT * FROM t1 WHERE a IN ('0.0.0.128','0.0.0.160','0.0.0.240');
+SELECT * FROM t1 WHERE a IN ('0.0.0.128','0.0.0.160','garbage');
+EXPLAIN SELECT * FROM t1 WHERE a IN ('0.0.0.128','0.0.0.160','garbage');
+
+SELECT * FROM t1 WHERE a BETWEEN '0.0.0.128' AND '0.0.0.129';
+EXPLAIN SELECT * FROM t1 WHERE a BETWEEN '0.0.0.128' AND '0.0.0.129';
+SELECT * FROM t1 WHERE a BETWEEN '0.0.0.128' AND 'garbage';
+EXPLAIN SELECT * FROM t1 WHERE a BETWEEN '0.0.0.128' AND 'garbage';
+
+SELECT * FROM t1 WHERE a=CAST('0.0.0.255' AS INET4);
+EXPLAIN EXTENDED SELECT * FROM t1 WHERE a=CAST('0.0.0.255' AS INET4);
+
+DROP TABLE t1;