123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320 |
- <sql-statement>
- --
- -- NAME
- -- all inputs are silently truncated at NAMEDATALEN-1 (63) characters
- --
- -- fixed-length by reference
- SELECT name 'name string' = name 'name string' AS "True";
- </sql-statement>
- <sql-statement>
- SELECT name 'name string' = name 'name string ' AS "False";
- </sql-statement>
- <sql-statement>
- --
- --
- --
- CREATE TABLE NAME_TBL(f1 name);
- </sql-statement>
- <sql-statement>
- INSERT INTO NAME_TBL(f1) VALUES ('1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQR');
- </sql-statement>
- <sql-statement>
- INSERT INTO NAME_TBL(f1) VALUES ('1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr');
- </sql-statement>
- <sql-statement>
- INSERT INTO NAME_TBL(f1) VALUES ('asdfghjkl;');
- </sql-statement>
- <sql-statement>
- INSERT INTO NAME_TBL(f1) VALUES ('343f%2a');
- </sql-statement>
- <sql-statement>
- INSERT INTO NAME_TBL(f1) VALUES ('d34aaasdf');
- </sql-statement>
- <sql-statement>
- INSERT INTO NAME_TBL(f1) VALUES ('');
- </sql-statement>
- <sql-statement>
- INSERT INTO NAME_TBL(f1) VALUES ('1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ');
- </sql-statement>
- <sql-statement>
- SELECT * FROM NAME_TBL;
- </sql-statement>
- <sql-statement>
- SELECT c.f1 FROM NAME_TBL c WHERE c.f1 <> '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQR';
- </sql-statement>
- <sql-statement>
- SELECT c.f1 FROM NAME_TBL c WHERE c.f1 = '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQR';
- </sql-statement>
- <sql-statement>
- SELECT c.f1 FROM NAME_TBL c WHERE c.f1 < '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQR';
- </sql-statement>
- <sql-statement>
- SELECT c.f1 FROM NAME_TBL c WHERE c.f1 <= '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQR';
- </sql-statement>
- <sql-statement>
- SELECT c.f1 FROM NAME_TBL c WHERE c.f1 > '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQR';
- </sql-statement>
- <sql-statement>
- SELECT c.f1 FROM NAME_TBL c WHERE c.f1 >= '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQR';
- </sql-statement>
- <sql-statement>
- SELECT c.f1 FROM NAME_TBL c WHERE c.f1 ~ '.*';
- </sql-statement>
- <sql-statement>
- SELECT c.f1 FROM NAME_TBL c WHERE c.f1 !~ '.*';
- </sql-statement>
- <sql-statement>
- SELECT c.f1 FROM NAME_TBL c WHERE c.f1 ~ '[0-9]';
- </sql-statement>
- <sql-statement>
- SELECT c.f1 FROM NAME_TBL c WHERE c.f1 ~ '.*asdf.*';
- </sql-statement>
- <sql-statement>
- DROP TABLE NAME_TBL;
- </sql-statement>
- <sql-statement>
- 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;
- $$;
- </sql-statement>
- -stdin-:<main>: Error: Parse Sql
- -stdin-:<main>:1:1: Error: RawStmt: alternative is not implemented yet : 263
- DO $$
- ^
- <sql-statement>
- SELECT parse_ident('foo.boo');
- </sql-statement>
- -stdin-:<main>: Error: Type annotation
- -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
- SELECT parse_ident('foo.boo');
- ^
- -stdin-:<main>:1:8: Error: At function: PgCall
- SELECT parse_ident('foo.boo');
- ^
- -stdin-:<main>:1:8: Error: Unable to find an overload for proc parse_ident with given argument types: (unknown)
- SELECT parse_ident('foo.boo');
- ^
- <sql-statement>
- SELECT parse_ident('foo.boo[]'); -- should fail
- </sql-statement>
- -stdin-:<main>: Error: Type annotation
- -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
- SELECT parse_ident('foo.boo[]'); -- should fail
- ^
- -stdin-:<main>:1:8: Error: At function: PgCall
- SELECT parse_ident('foo.boo[]'); -- should fail
- ^
- -stdin-:<main>:1:8: Error: Unable to find an overload for proc parse_ident with given argument types: (unknown)
- SELECT parse_ident('foo.boo[]'); -- should fail
- ^
- <sql-statement>
- SELECT parse_ident('foo.boo[]', strict => false); -- ok
- </sql-statement>
- -stdin-:<main>: Error: Parse Sql
- -stdin-:<main>:1:8: Error: alternative is not implemented yet : 118
- SELECT parse_ident('foo.boo[]', strict => false); -- ok
- ^
- <sql-statement>
- -- should fail
- SELECT parse_ident(' ');
- </sql-statement>
- -stdin-:<main>: Error: Type annotation
- -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
- -- should fail
- ^
- -stdin-:<main>:2:8: Error: At function: PgCall
- SELECT parse_ident(' ');
- ^
- -stdin-:<main>:2:8: Error: Unable to find an overload for proc parse_ident with given argument types: (unknown)
- SELECT parse_ident(' ');
- ^
- <sql-statement>
- SELECT parse_ident(' .aaa');
- </sql-statement>
- -stdin-:<main>: Error: Type annotation
- -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
- SELECT parse_ident(' .aaa');
- ^
- -stdin-:<main>:1:8: Error: At function: PgCall
- SELECT parse_ident(' .aaa');
- ^
- -stdin-:<main>:1:8: Error: Unable to find an overload for proc parse_ident with given argument types: (unknown)
- SELECT parse_ident(' .aaa');
- ^
- <sql-statement>
- SELECT parse_ident(' aaa . ');
- </sql-statement>
- -stdin-:<main>: Error: Type annotation
- -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
- SELECT parse_ident(' aaa . ');
- ^
- -stdin-:<main>:1:8: Error: At function: PgCall
- SELECT parse_ident(' aaa . ');
- ^
- -stdin-:<main>:1:8: Error: Unable to find an overload for proc parse_ident with given argument types: (unknown)
- SELECT parse_ident(' aaa . ');
- ^
- <sql-statement>
- SELECT parse_ident('aaa.a%b');
- </sql-statement>
- -stdin-:<main>: Error: Type annotation
- -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
- SELECT parse_ident('aaa.a%b');
- ^
- -stdin-:<main>:1:8: Error: At function: PgCall
- SELECT parse_ident('aaa.a%b');
- ^
- -stdin-:<main>:1:8: Error: Unable to find an overload for proc parse_ident with given argument types: (unknown)
- SELECT parse_ident('aaa.a%b');
- ^
- <sql-statement>
- SELECT parse_ident(E'X\rXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX');
- </sql-statement>
- -stdin-:<main>: Error: Type annotation
- -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
- SELECT parse_ident(E'X\rXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX');
- ^
- -stdin-:<main>:1:8: Error: At function: PgCall
- SELECT parse_ident(E'X\rXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX');
- ^
- -stdin-:<main>:1:8: Error: Unable to find an overload for proc parse_ident with given argument types: (unknown)
- SELECT parse_ident(E'X\rXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX');
- ^
- <sql-statement>
- SELECT length(a[1]), length(a[2]) from parse_ident('"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx".yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy') as a ;
- </sql-statement>
- -stdin-:<main>: Error: Parse Sql
- -stdin-:<main>:1:8: Error: alternative is not implemented yet : 360
- SELECT length(a[1]), length(a[2]) from parse_ident('"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx".yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy') as a ;
- ^
- <sql-statement>
- SELECT parse_ident(' first . " second " ." third ". " ' || repeat('x',66) || '"');
- </sql-statement>
- -stdin-:<main>: Error: Type annotation
- -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
- SELECT parse_ident(' first . " second " ." third ". " ' || repeat('x',66) || '"');
- ^
- -stdin-:<main>:1:8: Error: At function: PgCall
- SELECT parse_ident(' first . " second " ." third ". " ' || repeat('x',66) || '"');
- ^
- -stdin-:<main>:1:8: Error: Unable to find an overload for proc parse_ident with given argument types: (text)
- SELECT parse_ident(' first . " second " ." third ". " ' || repeat('x',66) || '"');
- ^
- <sql-statement>
- SELECT parse_ident(' first . " second " ." third ". " ' || repeat('x',66) || '"')::name[];
- </sql-statement>
- -stdin-:<main>: Error: Type annotation
- -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
- SELECT parse_ident(' first . " second " ." third ". " ' || repeat('x',66) || '"')::name[];
- ^
- -stdin-:<main>:1:91: Error: At function: PgCast
- SELECT parse_ident(' first . " second " ." third ". " ' || repeat('x',66) || '"')::name[];
- ^
- -stdin-:<main>:1:8: Error: At function: PgCall
- SELECT parse_ident(' first . " second " ." third ". " ' || repeat('x',66) || '"')::name[];
- ^
- -stdin-:<main>:1:8: Error: Unable to find an overload for proc parse_ident with given argument types: (text)
- SELECT parse_ident(' first . " second " ." third ". " ' || repeat('x',66) || '"')::name[];
- ^
- <sql-statement>
- SELECT parse_ident(E'"c".X XXXX\002XXXXXX');
- </sql-statement>
- -stdin-:<main>: Error: Type annotation
- -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
- SELECT parse_ident(E'"c".X XXXX\002XXXXXX');
- ^
- -stdin-:<main>:1:8: Error: At function: PgCall
- SELECT parse_ident(E'"c".X XXXX\002XXXXXX');
- ^
- -stdin-:<main>:1:8: Error: Unable to find an overload for proc parse_ident with given argument types: (unknown)
- SELECT parse_ident(E'"c".X XXXX\002XXXXXX');
- ^
- <sql-statement>
- SELECT parse_ident('1020');
- </sql-statement>
- -stdin-:<main>: Error: Type annotation
- -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
- SELECT parse_ident('1020');
- ^
- -stdin-:<main>:1:8: Error: At function: PgCall
- SELECT parse_ident('1020');
- ^
- -stdin-:<main>:1:8: Error: Unable to find an overload for proc parse_ident with given argument types: (unknown)
- SELECT parse_ident('1020');
- ^
- <sql-statement>
- SELECT parse_ident('10.20');
- </sql-statement>
- -stdin-:<main>: Error: Type annotation
- -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
- SELECT parse_ident('10.20');
- ^
- -stdin-:<main>:1:8: Error: At function: PgCall
- SELECT parse_ident('10.20');
- ^
- -stdin-:<main>:1:8: Error: Unable to find an overload for proc parse_ident with given argument types: (unknown)
- SELECT parse_ident('10.20');
- ^
- <sql-statement>
- SELECT parse_ident('.');
- </sql-statement>
- -stdin-:<main>: Error: Type annotation
- -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
- SELECT parse_ident('.');
- ^
- -stdin-:<main>:1:8: Error: At function: PgCall
- SELECT parse_ident('.');
- ^
- -stdin-:<main>:1:8: Error: Unable to find an overload for proc parse_ident with given argument types: (unknown)
- SELECT parse_ident('.');
- ^
- <sql-statement>
- SELECT parse_ident('.1020');
- </sql-statement>
- -stdin-:<main>: Error: Type annotation
- -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
- SELECT parse_ident('.1020');
- ^
- -stdin-:<main>:1:8: Error: At function: PgCall
- SELECT parse_ident('.1020');
- ^
- -stdin-:<main>:1:8: Error: Unable to find an overload for proc parse_ident with given argument types: (unknown)
- SELECT parse_ident('.1020');
- ^
- <sql-statement>
- SELECT parse_ident('xxx.1020');
- </sql-statement>
- -stdin-:<main>: Error: Type annotation
- -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
- SELECT parse_ident('xxx.1020');
- ^
- -stdin-:<main>:1:8: Error: At function: PgCall
- SELECT parse_ident('xxx.1020');
- ^
- -stdin-:<main>:1:8: Error: Unable to find an overload for proc parse_ident with given argument types: (unknown)
- SELECT parse_ident('xxx.1020');
- ^
|