Add tests for strings and varchar.
-- the wolf bug - schema mods caused inconsistent row descriptors
CREATE TABLE temp (
initial int4
-) ARCHIVE = light;
+);
ALTER TABLE temp ADD COLUMN a int4;
'(0,2,4.1,4.1,3.1,3.1)', '(4.1,4.1,3.1,3.1)', '["current" "infinity"]',
'1/3', '1,char16', '{1.0,2.0,3.0,4.0}', '{1.0,2.0,3.0,4.0}', '{1,2,3,4}');
-SELECT * FROM temp[,];
+SELECT * FROM temp;
DROP TABLE temp;
--
-- boolean.source
--
--- $Header: /cvsroot/pgsql/src/test/regress/sql/boolean.sql,v 1.4 1997/10/25 06:02:33 thomas Exp $
+-- $Header: /cvsroot/pgsql/src/test/regress/sql/boolean.sql,v 1.5 1997/12/01 02:45:59 thomas Exp $
--
--
INSERT INTO BOOLTBL2 (f1) VALUES ('FALSE'::bool);
--- this is now an invalid expression
--- pre-v6.3 this evaluated to false - thomas 1997-10-23
+-- This is now an invalid expression
+-- For pre-v6.3 this evaluated to false - thomas 1997-10-23
INSERT INTO BOOLTBL2 (f1)
VALUES ('XXX'::bool);
-
-- BOOLTBL2 should be full of false's at this point
SELECT '' AS f_4, BOOLTBL2.*;
WHERE BOOLTBL2.f1 = BOOLTBL1.f1 or BOOLTBL1.f1 = 'true'::bool
ORDER BY BOOLTBL1.f1, BOOLTBL2.f1;
+--
+-- SQL92 syntax - thomas 1997-11-30
+--
+
+SELECT '' AS "True", BOOLTBL1.*
+ FROM BOOLTBL1
+ WHERE f1 IS TRUE;
+
+SELECT '' AS "Not False", BOOLTBL1.*
+ FROM BOOLTBL1
+ WHERE f1 IS NOT FALSE;
+
+SELECT '' AS "False", BOOLTBL1.*
+ FROM BOOLTBL1
+ WHERE f1 IS FALSE;
+
+SELECT '' AS "Not True", BOOLTBL1.*
+ FROM BOOLTBL1
+ WHERE f1 IS NOT TRUE;
+
+--
+-- Clean up
+-- Many tables are retained by the regression test, but these do not seem
+-- particularly useful so just get rid of them for now.
+-- - thomas 1997-11-30
+--
+
DROP TABLE BOOLTBL1;
DROP TABLE BOOLTBL2;
-- all inputs are SILENTLY truncated at 1 character
--
+-- fixed-length by value
+-- internally passed by value if <= 4 bytes in storage
+-- Not sure why this is a really useful test,
+-- but this test has been here forever. - thomas 1997-11-30
+
+SELECT 'c'::char = 'c'::char AS true;
+
+--
+-- Build a table for testing
+--
+
CREATE TABLE CHAR_TBL(f1 char);
INSERT INTO CHAR_TBL (f1) VALUES ('a');
DROP TABLE CHAR_TBL;
+--
+-- Now test longer arrays of char
+--
+
+CREATE TABLE CHAR_TBL(f1 char(4));
+
+INSERT INTO CHAR_TBL (f1) VALUES ('a');
+INSERT INTO CHAR_TBL (f1) VALUES ('ab');
+INSERT INTO CHAR_TBL (f1) VALUES ('abcd');
+INSERT INTO CHAR_TBL (f1) VALUES ('abcde');
+
+SELECT '' AS four, CHAR_TBL.*;
+
-- all inputs are silently truncated at 16 characters
--
+-- fixed-length by reference
+SELECT 'char 16 string'::char16 = 'char 16 string'::char16 AS "True";
+
+SELECT 'char 16 string'::char16 = 'char 16 string '::char16 AS "False";
+
+--
+--
+--
+
CREATE TABLE CHAR16_TBL(f1 char16);
INSERT INTO CHAR16_TBL(f1) VALUES ('ABCDEFGHIJKLMNOP');
--
-- test the views defined in create.source
--
-SELECT * from street;
+SELECT * FROM street;
-SELECT * from iexit;
+SELECT * FROM iexit
+ ORDER BY 1, 2;
-SELECT * from toyemp where name='sharon';
+SELECT * FROM toyemp WHERE name = 'sharon';
boolean
char
-char16
char2
char4
char8
+char16
+varchar
text
+strings
int2
int4
oid
hash_index
select_views
alter_table
-purge
portals_p2
-- *************testing built-in type text ****************
---
--- adt operators in the target list
---
--- fixed-length by reference
-SELECT 'char 16 string'::char16 = 'char 16 string '::char16 AS false;
-
--- fixed-length by value
-SELECT 'c'::char = 'c'::char AS true;
-
--- variable-length
SELECT 'this is a text string'::text = 'this is a text string'::text AS true;
SELECT 'this is a text string'::text = 'this is a text strin'::text AS false;
+CREATE TABLE TEXT_TBL (f1 text);
+
+INSERT INTO TEXT_TBL VALUES ('doh!');
+INSERT INTO TEXT_TBL VALUES ('hi de ho neighbor');
+
+SELECT '' AS two, * FROM TEXT_TBL;