3 -- all inputs are silently truncated at NAMEDATALEN-1 (63) characters
6 -- fixed-length by reference
7 SELECT name 'name string' = name 'name string' AS "True";
9 SELECT name 'name string' = name 'name string ' AS "False";
15 CREATE TABLE NAME_TBL(f1 name);
17 INSERT INTO NAME_TBL(f1) VALUES ('1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQR');
19 INSERT INTO NAME_TBL(f1) VALUES ('1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr');
21 INSERT INTO NAME_TBL(f1) VALUES ('asdfghjkl;');
23 INSERT INTO NAME_TBL(f1) VALUES ('343f%2a');
25 INSERT INTO NAME_TBL(f1) VALUES ('d34aaasdf');
27 INSERT INTO NAME_TBL(f1) VALUES ('');
29 INSERT INTO NAME_TBL(f1) VALUES ('1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ');
32 SELECT '' AS seven, * FROM NAME_TBL;
34 SELECT '' AS six, c.f1 FROM NAME_TBL c WHERE c.f1 <> '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQR';
36 SELECT '' AS one, c.f1 FROM NAME_TBL c WHERE c.f1 = '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQR';
38 SELECT '' AS three, c.f1 FROM NAME_TBL c WHERE c.f1 < '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQR';
40 SELECT '' AS four, c.f1 FROM NAME_TBL c WHERE c.f1 <= '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQR';
42 SELECT '' AS three, c.f1 FROM NAME_TBL c WHERE c.f1 > '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQR';
44 SELECT '' AS four, c.f1 FROM NAME_TBL c WHERE c.f1 >= '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQR';
46 SELECT '' AS seven, c.f1 FROM NAME_TBL c WHERE c.f1 ~ '.*';
48 SELECT '' AS zero, c.f1 FROM NAME_TBL c WHERE c.f1 !~ '.*';
50 SELECT '' AS three, c.f1 FROM NAME_TBL c WHERE c.f1 ~ '[0-9]';
52 SELECT '' AS two, c.f1 FROM NAME_TBL c WHERE c.f1 ~ '.*asdf.*';
59 r := parse_ident('Schemax.Tabley');
60 RAISE NOTICE '%', format('%I.%I', r[1], r[2]);
61 r := parse_ident('"SchemaX"."TableY"');
62 RAISE NOTICE '%', format('%I.%I', r[1], r[2]);
66 SELECT parse_ident('foo.boo');
67 SELECT parse_ident('foo.boo[]'); -- should fail
68 SELECT parse_ident('foo.boo[]', strict => false); -- ok
71 SELECT parse_ident(' ');
72 SELECT parse_ident(' .aaa');
73 SELECT parse_ident(' aaa . ');
74 SELECT parse_ident('aaa.a%b');
75 SELECT parse_ident(E'X\rXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX');
77 SELECT length(a[1]), length(a[2]) from parse_ident('"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx".yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy') as a ;
79 SELECT parse_ident(' first . " second " ." third ". " ' || repeat('x',66) || '"');
80 SELECT parse_ident(' first . " second " ." third ". " ' || repeat('x',66) || '"')::name[];
82 SELECT parse_ident(E'"c".X XXXX\002XXXXXX');
83 SELECT parse_ident('1020');
84 SELECT parse_ident('10.20');
85 SELECT parse_ident('.');
86 SELECT parse_ident('.1020');
87 SELECT parse_ident('xxx.1020');