uuid.out
来自「postgresql8.3.4源码,开源数据库」· OUT 代码 · 共 137 行
OUT
137 行
-- regression test for the uuid datatype-- creating test tablesCREATE TABLE guid1( guid_field UUID, text_field TEXT DEFAULT(now()));CREATE TABLE guid2( guid_field UUID, text_field TEXT DEFAULT(now()));-- inserting invalid data tests-- too longINSERT INTO guid1(guid_field) VALUES('11111111-1111-1111-1111-111111111111F');ERROR: invalid input syntax for uuid: "11111111-1111-1111-1111-111111111111F"-- too shortINSERT INTO guid1(guid_field) VALUES('{11111111-1111-1111-1111-11111111111}');ERROR: invalid input syntax for uuid: "{11111111-1111-1111-1111-11111111111}"-- valid data but invalid formatINSERT INTO guid1(guid_field) VALUES('111-11111-1111-1111-1111-111111111111');ERROR: invalid input syntax for uuid: "111-11111-1111-1111-1111-111111111111"INSERT INTO guid1(guid_field) VALUES('{22222222-2222-2222-2222-222222222222 ');ERROR: invalid input syntax for uuid: "{22222222-2222-2222-2222-222222222222 "-- invalid dataINSERT INTO guid1(guid_field) VALUES('11111111-1111-1111-G111-111111111111');ERROR: invalid input syntax for uuid: "11111111-1111-1111-G111-111111111111"INSERT INTO guid1(guid_field) VALUES('11+11111-1111-1111-1111-111111111111');ERROR: invalid input syntax for uuid: "11+11111-1111-1111-1111-111111111111"--inserting three input formatsINSERT INTO guid1(guid_field) VALUES('11111111-1111-1111-1111-111111111111');INSERT INTO guid1(guid_field) VALUES('{22222222-2222-2222-2222-222222222222}');INSERT INTO guid1(guid_field) VALUES('3f3e3c3b3a3039383736353433a2313e');-- retrieving the inserted dataSELECT guid_field FROM guid1; guid_field -------------------------------------- 11111111-1111-1111-1111-111111111111 22222222-2222-2222-2222-222222222222 3f3e3c3b-3a30-3938-3736-353433a2313e(3 rows)-- ordering testSELECT guid_field FROM guid1 ORDER BY guid_field ASC; guid_field -------------------------------------- 11111111-1111-1111-1111-111111111111 22222222-2222-2222-2222-222222222222 3f3e3c3b-3a30-3938-3736-353433a2313e(3 rows)SELECT guid_field FROM guid1 ORDER BY guid_field DESC; guid_field -------------------------------------- 3f3e3c3b-3a30-3938-3736-353433a2313e 22222222-2222-2222-2222-222222222222 11111111-1111-1111-1111-111111111111(3 rows)-- = operator testSELECT COUNT(*) FROM guid1 WHERE guid_field = '3f3e3c3b-3a30-3938-3736-353433a2313e'; count ------- 1(1 row)-- <> operator testSELECT COUNT(*) FROM guid1 WHERE guid_field <> '11111111111111111111111111111111'; count ------- 2(1 row)-- < operator testSELECT COUNT(*) FROM guid1 WHERE guid_field < '22222222-2222-2222-2222-222222222222'; count ------- 1(1 row)-- <= operator testSELECT COUNT(*) FROM guid1 WHERE guid_field <= '22222222-2222-2222-2222-222222222222'; count ------- 2(1 row)-- > operator testSELECT COUNT(*) FROM guid1 WHERE guid_field > '22222222-2222-2222-2222-222222222222'; count ------- 1(1 row)-- >= operator testSELECT COUNT(*) FROM guid1 WHERE guid_field >= '22222222-2222-2222-2222-222222222222'; count ------- 2(1 row)-- btree and hash index creation testCREATE INDEX guid1_btree ON guid1 USING BTREE (guid_field);CREATE INDEX guid1_hash ON guid1 USING HASH (guid_field);-- unique index testCREATE UNIQUE INDEX guid1_unique_BTREE ON guid1 USING BTREE (guid_field);-- should failINSERT INTO guid1(guid_field) VALUES('11111111-1111-1111-1111-111111111111');ERROR: duplicate key value violates unique constraint "guid1_unique_btree"-- check to see whether the new indexes are actually thereSELECT count(*) FROM pg_class WHERE relkind='i' AND relname LIKE 'guid%'; count ------- 3(1 row)-- populating the test tables with additional recordsINSERT INTO guid1(guid_field) VALUES('44444444-4444-4444-4444-444444444444');INSERT INTO guid2(guid_field) VALUES('11111111-1111-1111-1111-111111111111');INSERT INTO guid2(guid_field) VALUES('{22222222-2222-2222-2222-222222222222}');INSERT INTO guid2(guid_field) VALUES('3f3e3c3b3a3039383736353433a2313e');-- join testSELECT COUNT(*) FROM guid1 g1 INNER JOIN guid2 g2 ON g1.guid_field = g2.guid_field; count ------- 3(1 row)SELECT COUNT(*) FROM guid1 g1 LEFT JOIN guid2 g2 ON g1.guid_field = g2.guid_field WHERE g2.guid_field IS NULL; count ------- 1(1 row)-- clean upDROP TABLE guid1, guid2 CASCADE;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?