--
-- NAME
-- all inputs are silently truncated at NAMEDATALEN (32) characters
--
-- fixed-length by reference
SELECT name 'name string' = name 'name string' AS "True";
 True 
------
 t
(1 row)

SELECT name 'name string' = name 'name string ' AS "False";
 False 
-------
 f
(1 row)

--
--
--
CREATE TABLE NAME_TBL(f1 name);
INSERT INTO NAME_TBL(f1) VALUES ('ABCDEFGHIJKLMNOP');
INSERT INTO NAME_TBL(f1) VALUES ('abcdefghijklmnop');
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 ('1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ');
SELECT '' AS seven, NAME_TBL.*;
 seven |               f1                
-------+---------------------------------
       | ABCDEFGHIJKLMNOP
       | abcdefghijklmnop
       | asdfghjkl;
       | 343f%2a
       | d34aaasdf
       | 
       | 1234567890ABCDEFGHIJKLMNOPQRSTU
(7 rows)

SELECT '' AS six, c.f1 FROM NAME_TBL c WHERE c.f1 <> 'ABCDEFGHIJKLMNOP';
 six |               f1                
-----+---------------------------------
     | abcdefghijklmnop
     | asdfghjkl;
     | 343f%2a
     | d34aaasdf
     | 
     | 1234567890ABCDEFGHIJKLMNOPQRSTU
(6 rows)

SELECT '' AS one, c.f1 FROM NAME_TBL c WHERE c.f1 = 'ABCDEFGHIJKLMNOP';
 one |        f1        
-----+------------------
     | ABCDEFGHIJKLMNOP
(1 row)

SELECT '' AS three, c.f1 FROM NAME_TBL c WHERE c.f1 < 'ABCDEFGHIJKLMNOP';
 three |               f1                
-------+---------------------------------
       | 343f%2a
       | 
       | 1234567890ABCDEFGHIJKLMNOPQRSTU
(3 rows)

SELECT '' AS four, c.f1 FROM NAME_TBL c WHERE c.f1 <= 'ABCDEFGHIJKLMNOP';
 four |               f1                
------+---------------------------------
      | ABCDEFGHIJKLMNOP
      | 343f%2a
      | 
      | 1234567890ABCDEFGHIJKLMNOPQRSTU
(4 rows)

SELECT '' AS three, c.f1 FROM NAME_TBL c WHERE c.f1 > 'ABCDEFGHIJKLMNOP';
 three |        f1        
-------+------------------
       | abcdefghijklmnop
       | asdfghjkl;
       | d34aaasdf
(3 rows)

SELECT '' AS four, c.f1 FROM NAME_TBL c WHERE c.f1 >= 'ABCDEFGHIJKLMNOP';
 four |        f1        
------+------------------
      | ABCDEFGHIJKLMNOP
      | abcdefghijklmnop
      | asdfghjkl;
      | d34aaasdf
(4 rows)

SELECT '' AS seven, c.f1 FROM NAME_TBL c WHERE c.f1 ~ '.*';
 seven |               f1                
-------+---------------------------------
       | ABCDEFGHIJKLMNOP
       | abcdefghijklmnop
       | asdfghjkl;
       | 343f%2a
       | d34aaasdf
       | 
       | 1234567890ABCDEFGHIJKLMNOPQRSTU
(7 rows)

SELECT '' AS zero, c.f1 FROM NAME_TBL c WHERE c.f1 !~ '.*';
 zero | f1 
------+----
(0 rows)

SELECT '' AS three, c.f1 FROM NAME_TBL c WHERE c.f1 ~ '[0-9]';
 three |               f1                
-------+---------------------------------
       | 343f%2a
       | d34aaasdf
       | 1234567890ABCDEFGHIJKLMNOPQRSTU
(3 rows)

SELECT '' AS two, c.f1 FROM NAME_TBL c WHERE c.f1 ~ '.*asdf.*';
 two |     f1     
-----+------------
     | asdfghjkl;
     | d34aaasdf
(2 rows)

DROP TABLE NAME_TBL;
