summaryrefslogtreecommitdiffstats
path: root/src/test/regress/sql/macaddr.sql
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 12:17:33 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 12:17:33 +0000
commit5e45211a64149b3c659b90ff2de6fa982a5a93ed (patch)
tree739caf8c461053357daa9f162bef34516c7bf452 /src/test/regress/sql/macaddr.sql
parentInitial commit. (diff)
downloadpostgresql-15-5e45211a64149b3c659b90ff2de6fa982a5a93ed.tar.xz
postgresql-15-5e45211a64149b3c659b90ff2de6fa982a5a93ed.zip
Adding upstream version 15.5.upstream/15.5
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/test/regress/sql/macaddr.sql')
-rw-r--r--src/test/regress/sql/macaddr.sql43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/test/regress/sql/macaddr.sql b/src/test/regress/sql/macaddr.sql
new file mode 100644
index 0000000..7bad8f5
--- /dev/null
+++ b/src/test/regress/sql/macaddr.sql
@@ -0,0 +1,43 @@
+--
+-- macaddr
+--
+
+CREATE TABLE macaddr_data (a int, b macaddr);
+
+INSERT INTO macaddr_data VALUES (1, '08:00:2b:01:02:03');
+INSERT INTO macaddr_data VALUES (2, '08-00-2b-01-02-03');
+INSERT INTO macaddr_data VALUES (3, '08002b:010203');
+INSERT INTO macaddr_data VALUES (4, '08002b-010203');
+INSERT INTO macaddr_data VALUES (5, '0800.2b01.0203');
+INSERT INTO macaddr_data VALUES (6, '0800-2b01-0203');
+INSERT INTO macaddr_data VALUES (7, '08002b010203');
+INSERT INTO macaddr_data VALUES (8, '0800:2b01:0203'); -- invalid
+INSERT INTO macaddr_data VALUES (9, 'not even close'); -- invalid
+
+INSERT INTO macaddr_data VALUES (10, '08:00:2b:01:02:04');
+INSERT INTO macaddr_data VALUES (11, '08:00:2b:01:02:02');
+INSERT INTO macaddr_data VALUES (12, '08:00:2a:01:02:03');
+INSERT INTO macaddr_data VALUES (13, '08:00:2c:01:02:03');
+INSERT INTO macaddr_data VALUES (14, '08:00:2a:01:02:04');
+
+SELECT * FROM macaddr_data;
+
+CREATE INDEX macaddr_data_btree ON macaddr_data USING btree (b);
+CREATE INDEX macaddr_data_hash ON macaddr_data USING hash (b);
+
+SELECT a, b, trunc(b) FROM macaddr_data ORDER BY 2, 1;
+
+SELECT b < '08:00:2b:01:02:04' FROM macaddr_data WHERE a = 1; -- true
+SELECT b > '08:00:2b:01:02:04' FROM macaddr_data WHERE a = 1; -- false
+SELECT b > '08:00:2b:01:02:03' FROM macaddr_data WHERE a = 1; -- false
+SELECT b <= '08:00:2b:01:02:04' FROM macaddr_data WHERE a = 1; -- true
+SELECT b >= '08:00:2b:01:02:04' FROM macaddr_data WHERE a = 1; -- false
+SELECT b = '08:00:2b:01:02:03' FROM macaddr_data WHERE a = 1; -- true
+SELECT b <> '08:00:2b:01:02:04' FROM macaddr_data WHERE a = 1; -- true
+SELECT b <> '08:00:2b:01:02:03' FROM macaddr_data WHERE a = 1; -- false
+
+SELECT ~b FROM macaddr_data;
+SELECT b & '00:00:00:ff:ff:ff' FROM macaddr_data;
+SELECT b | '01:02:03:04:05:06' FROM macaddr_data;
+
+DROP TABLE macaddr_data;