postgresql/src/test/regress/expected/name.out

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

198 lines
7.6 KiB
Plaintext
Raw Normal View History

--
-- NAME
-- all inputs are silently truncated at NAMEDATALEN-1 (63) characters
--
-- fixed-length by reference
SELECT name 'name string' = name 'name string' AS "True";
True
------
t
1998-04-27 15:50:03 +02:00
(1 row)
SELECT name 'name string' = name 'name string ' AS "False";
False
-------
f
1998-04-27 15:50:03 +02:00
(1 row)
--
--
--
CREATE TABLE NAME_TBL(f1 name);
INSERT INTO NAME_TBL(f1) VALUES ('1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQR');
INSERT INTO NAME_TBL(f1) VALUES ('1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr');
INSERT INTO NAME_TBL(f1) VALUES ('asdfghjkl;');
INSERT INTO NAME_TBL(f1) VALUES ('343f%2a');
INSERT INTO NAME_TBL(f1) VALUES ('d34aaasdf');
INSERT INTO NAME_TBL(f1) VALUES ('');
INSERT INTO NAME_TBL(f1) VALUES ('1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ');
SELECT * FROM NAME_TBL;
f1
-----------------------------------------------------------------
1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQ
1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopq
asdfghjkl;
343f%2a
d34aaasdf
1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQ
1998-04-27 15:50:03 +02:00
(7 rows)
SELECT c.f1 FROM NAME_TBL c WHERE c.f1 <> '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQR';
f1
-----------------------------------------------------------------
1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopq
asdfghjkl;
343f%2a
d34aaasdf
(5 rows)
1998-04-27 15:50:03 +02:00
SELECT c.f1 FROM NAME_TBL c WHERE c.f1 = '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQR';
f1
-----------------------------------------------------------------
1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQ
1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQ
(2 rows)
1998-04-27 15:50:03 +02:00
SELECT c.f1 FROM NAME_TBL c WHERE c.f1 < '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQR';
f1
----
(1 row)
1998-04-27 15:50:03 +02:00
SELECT c.f1 FROM NAME_TBL c WHERE c.f1 <= '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQR';
f1
-----------------------------------------------------------------
1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQ
1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQ
(3 rows)
1998-04-27 15:50:03 +02:00
SELECT c.f1 FROM NAME_TBL c WHERE c.f1 > '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQR';
f1
-----------------------------------------------------------------
1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopq
asdfghjkl;
343f%2a
d34aaasdf
(4 rows)
1998-04-27 15:50:03 +02:00
SELECT c.f1 FROM NAME_TBL c WHERE c.f1 >= '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQR';
f1
-----------------------------------------------------------------
1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQ
1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopq
asdfghjkl;
343f%2a
d34aaasdf
1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQ
(6 rows)
1998-04-27 15:50:03 +02:00
SELECT c.f1 FROM NAME_TBL c WHERE c.f1 ~ '.*';
f1
-----------------------------------------------------------------
1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQ
1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopq
asdfghjkl;
343f%2a
d34aaasdf
1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQ
1998-04-27 15:50:03 +02:00
(7 rows)
SELECT c.f1 FROM NAME_TBL c WHERE c.f1 !~ '.*';
f1
----
1998-04-27 15:50:03 +02:00
(0 rows)
SELECT c.f1 FROM NAME_TBL c WHERE c.f1 ~ '[0-9]';
f1
-----------------------------------------------------------------
1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQ
1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopq
343f%2a
d34aaasdf
1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQ
(5 rows)
1998-04-27 15:50:03 +02:00
SELECT c.f1 FROM NAME_TBL c WHERE c.f1 ~ '.*asdf.*';
f1
------------
asdfghjkl;
d34aaasdf
1998-04-27 15:50:03 +02:00
(2 rows)
DROP TABLE NAME_TBL;
DO $$
DECLARE r text[];
BEGIN
r := parse_ident('Schemax.Tabley');
RAISE NOTICE '%', format('%I.%I', r[1], r[2]);
r := parse_ident('"SchemaX"."TableY"');
RAISE NOTICE '%', format('%I.%I', r[1], r[2]);
END;
$$;
NOTICE: schemax.tabley
NOTICE: "SchemaX"."TableY"
SELECT parse_ident('foo.boo');
parse_ident
-------------
{foo,boo}
(1 row)
SELECT parse_ident('foo.boo[]'); -- should fail
ERROR: string is not a valid identifier: "foo.boo[]"
SELECT parse_ident('foo.boo[]', strict => false); -- ok
parse_ident
-------------
{foo,boo}
(1 row)
-- should fail
SELECT parse_ident(' ');
ERROR: string is not a valid identifier: " "
SELECT parse_ident(' .aaa');
ERROR: string is not a valid identifier: " .aaa"
2016-06-07 20:18:08 +02:00
DETAIL: No valid identifier before ".".
SELECT parse_ident(' aaa . ');
ERROR: string is not a valid identifier: " aaa . "
2016-06-07 20:18:08 +02:00
DETAIL: No valid identifier after ".".
SELECT parse_ident('aaa.a%b');
ERROR: string is not a valid identifier: "aaa.a%b"
SELECT parse_ident(E'X\rXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX');
ERROR: string is not a valid identifier: "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
SELECT length(a[1]), length(a[2]) from parse_ident('"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx".yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy') as a ;
length | length
--------+--------
414 | 289
(1 row)
SELECT parse_ident(' first . " second " ." third ". " ' || repeat('x',66) || '"');
parse_ident
-----------------------------------------------------------------------------------------------------------
{first," second "," third "," xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}
(1 row)
SELECT parse_ident(' first . " second " ." third ". " ' || repeat('x',66) || '"')::name[];
parse_ident
------------------------------------------------------------------------------------------------------
{first," second "," third "," xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}
(1 row)
SELECT parse_ident(E'"c".X XXXX\002XXXXXX');
ERROR: string is not a valid identifier: ""c".X XXXXXXXXXX"
SELECT parse_ident('1020');
ERROR: string is not a valid identifier: "1020"
SELECT parse_ident('10.20');
ERROR: string is not a valid identifier: "10.20"
SELECT parse_ident('.');
ERROR: string is not a valid identifier: "."
2016-06-07 20:18:08 +02:00
DETAIL: No valid identifier before ".".
SELECT parse_ident('.1020');
ERROR: string is not a valid identifier: ".1020"
2016-06-07 20:18:08 +02:00
DETAIL: No valid identifier before ".".
SELECT parse_ident('xxx.1020');
ERROR: string is not a valid identifier: "xxx.1020"
2016-06-07 20:18:08 +02:00
DETAIL: No valid identifier after ".".