123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209 |
- <sql-statement>
- -- regression test for the uuid datatype
- -- creating test tables
- CREATE TABLE guid1
- (
- guid_field UUID,
- text_field TEXT DEFAULT(now())
- );
- </sql-statement>
- <sql-statement>
- CREATE TABLE guid2
- (
- guid_field UUID,
- text_field TEXT DEFAULT(now())
- );
- </sql-statement>
- <sql-statement>
- -- inserting invalid data tests
- -- too long
- INSERT INTO guid1(guid_field) VALUES('11111111-1111-1111-1111-111111111111F');
- </sql-statement>
- -stdin-:<main>: Fatal: Execution
- -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
- -- inserting invalid data tests
- ^
- -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type uuid: "11111111-1111-1111-1111-111111111111F"
- -- inserting invalid data tests
- ^
- <sql-statement>
- -- too short
- INSERT INTO guid1(guid_field) VALUES('{11111111-1111-1111-1111-11111111111}');
- </sql-statement>
- -stdin-:<main>: Fatal: Execution
- -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
- -- too short
- ^
- -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type uuid: "{11111111-1111-1111-1111-11111111111}"
- -- too short
- ^
- <sql-statement>
- -- valid data but invalid format
- INSERT INTO guid1(guid_field) VALUES('111-11111-1111-1111-1111-111111111111');
- </sql-statement>
- -stdin-:<main>: Fatal: Execution
- -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
- -- valid data but invalid format
- ^
- -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type uuid: "111-11111-1111-1111-1111-111111111111"
- -- valid data but invalid format
- ^
- <sql-statement>
- INSERT INTO guid1(guid_field) VALUES('{22222222-2222-2222-2222-222222222222 ');
- </sql-statement>
- -stdin-:<main>: Fatal: Execution
- -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
- INSERT INTO guid1(guid_field) VALUES('{22222222-2222-2222-2222-222222222222 ');
- ^
- -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type uuid: "{22222222-2222-2222-2222-222222222222 "
- INSERT INTO guid1(guid_field) VALUES('{22222222-2222-2222-2222-222222222222 ');
- ^
- <sql-statement>
- -- invalid data
- INSERT INTO guid1(guid_field) VALUES('11111111-1111-1111-G111-111111111111');
- </sql-statement>
- -stdin-:<main>: Fatal: Execution
- -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
- -- invalid data
- ^
- -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type uuid: "11111111-1111-1111-G111-111111111111"
- -- invalid data
- ^
- <sql-statement>
- INSERT INTO guid1(guid_field) VALUES('11+11111-1111-1111-1111-111111111111');
- </sql-statement>
- -stdin-:<main>: Fatal: Execution
- -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
- INSERT INTO guid1(guid_field) VALUES('11+11111-1111-1111-1111-111111111111');
- ^
- -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type uuid: "11+11111-1111-1111-1111-111111111111"
- INSERT INTO guid1(guid_field) VALUES('11+11111-1111-1111-1111-111111111111');
- ^
- <sql-statement>
- --inserting three input formats
- INSERT INTO guid1(guid_field) VALUES('11111111-1111-1111-1111-111111111111');
- </sql-statement>
- <sql-statement>
- INSERT INTO guid1(guid_field) VALUES('{22222222-2222-2222-2222-222222222222}');
- </sql-statement>
- <sql-statement>
- INSERT INTO guid1(guid_field) VALUES('3f3e3c3b3a3039383736353433a2313e');
- </sql-statement>
- <sql-statement>
- -- retrieving the inserted data
- SELECT guid_field FROM guid1;
- </sql-statement>
- <sql-statement>
- -- ordering test
- SELECT guid_field FROM guid1 ORDER BY guid_field ASC;
- </sql-statement>
- <sql-statement>
- SELECT guid_field FROM guid1 ORDER BY guid_field DESC;
- </sql-statement>
- <sql-statement>
- -- = operator test
- SELECT COUNT(*) FROM guid1 WHERE guid_field = '3f3e3c3b-3a30-3938-3736-353433a2313e';
- </sql-statement>
- <sql-statement>
- -- <> operator test
- SELECT COUNT(*) FROM guid1 WHERE guid_field <> '11111111111111111111111111111111';
- </sql-statement>
- <sql-statement>
- -- < operator test
- SELECT COUNT(*) FROM guid1 WHERE guid_field < '22222222-2222-2222-2222-222222222222';
- </sql-statement>
- <sql-statement>
- -- <= operator test
- SELECT COUNT(*) FROM guid1 WHERE guid_field <= '22222222-2222-2222-2222-222222222222';
- </sql-statement>
- <sql-statement>
- -- > operator test
- SELECT COUNT(*) FROM guid1 WHERE guid_field > '22222222-2222-2222-2222-222222222222';
- </sql-statement>
- <sql-statement>
- -- >= operator test
- SELECT COUNT(*) FROM guid1 WHERE guid_field >= '22222222-2222-2222-2222-222222222222';
- </sql-statement>
- <sql-statement>
- -- btree and hash index creation test
- CREATE INDEX guid1_btree ON guid1 USING BTREE (guid_field);
- </sql-statement>
- <sql-statement>
- CREATE INDEX guid1_hash ON guid1 USING HASH (guid_field);
- </sql-statement>
- <sql-statement>
- -- unique index test
- CREATE UNIQUE INDEX guid1_unique_BTREE ON guid1 USING BTREE (guid_field);
- </sql-statement>
- -stdin-:<main>: Error: Parse Sql
- -stdin-:<main>:1:1: Error: unique index creation is not supported yet
- -- unique index test
- ^
- <sql-statement>
- -- should fail
- INSERT INTO guid1(guid_field) VALUES('11111111-1111-1111-1111-111111111111');
- </sql-statement>
- <sql-statement>
- -- check to see whether the new indexes are actually there
- SELECT count(*) FROM pg_class WHERE relkind='i' AND relname LIKE 'guid%';
- </sql-statement>
- <sql-statement>
- -- populating the test tables with additional records
- INSERT INTO guid1(guid_field) VALUES('44444444-4444-4444-4444-444444444444');
- </sql-statement>
- <sql-statement>
- INSERT INTO guid2(guid_field) VALUES('11111111-1111-1111-1111-111111111111');
- </sql-statement>
- <sql-statement>
- INSERT INTO guid2(guid_field) VALUES('{22222222-2222-2222-2222-222222222222}');
- </sql-statement>
- <sql-statement>
- INSERT INTO guid2(guid_field) VALUES('3f3e3c3b3a3039383736353433a2313e');
- </sql-statement>
- <sql-statement>
- -- join test
- SELECT COUNT(*) FROM guid1 g1 INNER JOIN guid2 g2 ON g1.guid_field = g2.guid_field;
- </sql-statement>
- <sql-statement>
- SELECT COUNT(*) FROM guid1 g1 LEFT JOIN guid2 g2 ON g1.guid_field = g2.guid_field WHERE g2.guid_field IS NULL;
- </sql-statement>
- <sql-statement>
- -- generation test
- TRUNCATE guid1;
- </sql-statement>
- -stdin-:<main>: Error: Parse Sql
- -stdin-:<main>:1:1: Error: RawStmt: alternative is not implemented yet : 257
- -- generation test
- ^
- <sql-statement>
- INSERT INTO guid1 (guid_field) VALUES (gen_random_uuid());
- </sql-statement>
- <sql-statement>
- INSERT INTO guid1 (guid_field) VALUES (gen_random_uuid());
- </sql-statement>
- <sql-statement>
- SELECT count(DISTINCT guid_field) FROM guid1;
- </sql-statement>
- <sql-statement>
- -- clean up
- DROP TABLE guid1, guid2 CASCADE;
- </sql-statement>
- -stdin-:<main>: Error: Parse Sql
- -stdin-:<main>:1:1: Error: CASCADE is not implemented
- -- clean up
- ^
|