]> granicus.if.org Git - postgresql/commitdiff
Clean up syntax to use SQL92-ish type coersion
authorThomas G. Lockhart <lockhart@fourpalms.org>
Tue, 4 Jan 2000 16:21:02 +0000 (16:21 +0000)
committerThomas G. Lockhart <lockhart@fourpalms.org>
Tue, 4 Jan 2000 16:21:02 +0000 (16:21 +0000)
 rather than the Postgres "::" notation.
All of these tests have been completely inspected and give correct results.

src/test/regress/sql/boolean.sql
src/test/regress/sql/char.sql
src/test/regress/sql/float4.sql
src/test/regress/sql/float8.sql
src/test/regress/sql/int2.sql
src/test/regress/sql/int4.sql
src/test/regress/sql/int8.sql
src/test/regress/sql/name.sql
src/test/regress/sql/oid.sql
src/test/regress/sql/text.sql
src/test/regress/sql/varchar.sql

index 4f1cef2de40396215241691d9278f4295dd4cdd8..86d4bb428ce5702089eabc491fde95b16a162578 100644 (file)
@@ -1,7 +1,5 @@
 --
--- boolean.source
---
--- $Header: /cvsroot/pgsql/src/test/regress/sql/boolean.sql,v 1.5 1997/12/01 02:45:59 thomas Exp $
+-- BOOLEAN
 --
 
 --
@@ -14,28 +12,28 @@ SELECT 1 AS one;
 
 -- check bool type-casting as well as and, or, not in qualifications--
 
-SELECT 't'::bool AS true;
+SELECT bool 't' AS true;
 
-SELECT 'f'::bool AS false;
+SELECT bool 'f' AS false;
 
-SELECT 't'::bool or 'f'::bool AS true;
+SELECT bool 't' or bool 'f' AS true;
 
-SELECT 't'::bool and 'f'::bool AS false;
+SELECT bool 't' and bool 'f' AS false;
 
-SELECT not 'f'::bool AS true;
+SELECT not bool 'f' AS true;
 
-SELECT 't'::bool = 'f'::bool AS false;
+SELECT bool 't' = bool 'f' AS false;
 
-SELECT 't'::bool <> 'f'::bool AS true;
+SELECT bool 't' <> bool 'f' AS true;
 
 
 CREATE TABLE BOOLTBL1 (f1 bool);
 
-INSERT INTO BOOLTBL1 (f1) VALUES ('t'::bool);
+INSERT INTO BOOLTBL1 (f1) VALUES (bool 't');
 
-INSERT INTO BOOLTBL1 (f1) VALUES ('True'::bool);
+INSERT INTO BOOLTBL1 (f1) VALUES (bool 'True');
 
-INSERT INTO BOOLTBL1 (f1) VALUES ('true'::bool);
+INSERT INTO BOOLTBL1 (f1) VALUES (bool 'true');
 
 
 -- BOOLTBL1 should be full of true's at this point 
@@ -44,38 +42,38 @@ SELECT '' AS t_3, BOOLTBL1.*;
 
 SELECT '' AS t_3, BOOLTBL1.*
    FROM BOOLTBL1
-   WHERE f1 = 'true'::bool;
+   WHERE f1 = bool 'true';
 
 
 SELECT '' AS t_3, BOOLTBL1.* 
    FROM BOOLTBL1
-   WHERE f1 <> 'false'::bool;
+   WHERE f1 <> bool 'false';
 
 SELECT '' AS zero, BOOLTBL1.*
    FROM BOOLTBL1
-   WHERE booleq('false'::bool, f1);
+   WHERE booleq(bool 'false', f1);
 
-INSERT INTO BOOLTBL1 (f1) VALUES ('f'::bool);
+INSERT INTO BOOLTBL1 (f1) VALUES (bool 'f');
 
 SELECT '' AS f_1, BOOLTBL1.* 
    FROM BOOLTBL1
-   WHERE f1 = 'false'::bool;
+   WHERE f1 = bool 'false';
 
 
 CREATE TABLE BOOLTBL2 (f1 bool);
 
-INSERT INTO BOOLTBL2 (f1) VALUES ('f'::bool);
+INSERT INTO BOOLTBL2 (f1) VALUES (bool 'f');
 
-INSERT INTO BOOLTBL2 (f1) VALUES ('false'::bool);
+INSERT INTO BOOLTBL2 (f1) VALUES (bool 'false');
 
-INSERT INTO BOOLTBL2 (f1) VALUES ('False'::bool);
+INSERT INTO BOOLTBL2 (f1) VALUES (bool 'False');
 
-INSERT INTO BOOLTBL2 (f1) VALUES ('FALSE'::bool);
+INSERT INTO BOOLTBL2 (f1) VALUES (bool 'FALSE');
 
 -- 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);  
+   VALUES (bool 'XXX');  
 
 -- BOOLTBL2 should be full of false's at this point 
 SELECT '' AS f_4, BOOLTBL2.*;
@@ -90,33 +88,51 @@ SELECT '' AS tf_12, BOOLTBL1.*, BOOLTBL2.*
 
 
 SELECT '' AS ff_4, BOOLTBL1.*, BOOLTBL2.*
-   WHERE BOOLTBL2.f1 = BOOLTBL1.f1 and BOOLTBL1.f1 = 'false'::bool;
+   WHERE BOOLTBL2.f1 = BOOLTBL1.f1 and BOOLTBL1.f1 = bool 'false';
 
 
 SELECT '' AS tf_12_ff_4, BOOLTBL1.*, BOOLTBL2.*
-   WHERE BOOLTBL2.f1 = BOOLTBL1.f1 or BOOLTBL1.f1 = 'true'::bool
+   WHERE BOOLTBL2.f1 = BOOLTBL1.f1 or BOOLTBL1.f1 = bool 'true'
    ORDER BY BOOLTBL1.f1, BOOLTBL2.f1;
 
 --
--- SQL92 syntax - thomas 1997-11-30
+-- SQL92 syntax
+-- Try all combinations to ensure that we get nothing when we expect nothing
+-- - thomas 2000-01-04
 --
 
-SELECT '' AS "True", BOOLTBL1.* 
+SELECT '' AS "True", f1
    FROM BOOLTBL1
    WHERE f1 IS TRUE;
 
-SELECT '' AS "Not False", BOOLTBL1.* 
+SELECT '' AS "Not False", f1
    FROM BOOLTBL1
    WHERE f1 IS NOT FALSE;
 
-SELECT '' AS "False", BOOLTBL1.* 
+SELECT '' AS "False", f1
    FROM BOOLTBL1
    WHERE f1 IS FALSE;
 
-SELECT '' AS "Not True", BOOLTBL1.* 
+SELECT '' AS "Not True", f1
    FROM BOOLTBL1
    WHERE f1 IS NOT TRUE;
 
+SELECT '' AS "True", f1
+   FROM BOOLTBL2
+   WHERE f1 IS TRUE;
+
+SELECT '' AS "Not False", f1
+   FROM BOOLTBL2
+   WHERE f1 IS NOT FALSE;
+
+SELECT '' AS "False", f1
+   FROM BOOLTBL2
+   WHERE f1 IS FALSE;
+
+SELECT '' AS "Not True", f1
+   FROM BOOLTBL2
+   WHERE f1 IS NOT TRUE;
+
 --
 -- Clean up
 -- Many tables are retained by the regression test, but these do not seem
index 49a13a0fb94e4b357820d54165dc65bfc6e354c2..ba7167fc659b167c63154c3a06a267f7a079ef70 100644 (file)
@@ -1,14 +1,12 @@
---  ****************** test built-in type char **************
 --
+-- CHAR
 -- 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;
+SELECT char 'c' = char 'c' AS true;
 
 --
 -- Build a table for testing
index 1bf1308bd1a6183c2a594d7288e853be82fa3692..28c12c6fa4507513b16d34d45f7198d1ed454978 100644 (file)
@@ -1,4 +1,6 @@
---  *************testing built-in type float4 ****************
+--
+-- FLOAT4
+--
 
 CREATE TABLE FLOAT4_TBL (f1  float4);
 
index bc41a610859082367d76241f7de787c8102b9d57..8fc7a7baf429d11f12ce3dc9cc5f3070480e413a 100644 (file)
@@ -1,4 +1,6 @@
---  *************testing built-in type float8 ****************
+--
+-- FLOAT8
+--
 
 CREATE TABLE FLOAT8_TBL(f1 float8);
 
index a6b71b3efe26639416c6ec66811ad84f6a121c9d..56cbb4c7c9c2cd3ca824c4a5224d1b9cca229041 100644 (file)
@@ -1,5 +1,5 @@
--- *************testing built-in type int2 ****************
 --
+-- INT2
 -- NOTE: int2 operators never check for over/underflow!
 -- Some of these answers are consequently numerically incorrect.
 --
@@ -27,49 +27,49 @@ INSERT INTO INT2_TBL(f1) VALUES ('asdf');
 
 SELECT '' AS five, INT2_TBL.*;
 
-SELECT '' AS four, i.* FROM INT2_TBL i WHERE i.f1 <> '0'::int2;
+SELECT '' AS four, i.* FROM INT2_TBL i WHERE i.f1 <> int2 '0';
 
-SELECT '' AS four, i.* FROM INT2_TBL i WHERE i.f1 <> '0'::int4;
+SELECT '' AS four, i.* FROM INT2_TBL i WHERE i.f1 <> int4 '0';
 
-SELECT '' AS one, i.* FROM INT2_TBL i WHERE i.f1 = '0'::int2;
+SELECT '' AS one, i.* FROM INT2_TBL i WHERE i.f1 = int2 '0';
 
-SELECT '' AS one, i.* FROM INT2_TBL i WHERE i.f1 = '0'::int4;
+SELECT '' AS one, i.* FROM INT2_TBL i WHERE i.f1 = int4 '0';
 
-SELECT '' AS two, i.* FROM INT2_TBL i WHERE i.f1 < '0'::int2;
+SELECT '' AS two, i.* FROM INT2_TBL i WHERE i.f1 < int2 '0';
 
-SELECT '' AS two, i.* FROM INT2_TBL i WHERE i.f1 < '0'::int4;
+SELECT '' AS two, i.* FROM INT2_TBL i WHERE i.f1 < int4 '0';
 
-SELECT '' AS three, i.* FROM INT2_TBL i WHERE i.f1 <= '0'::int2;
+SELECT '' AS three, i.* FROM INT2_TBL i WHERE i.f1 <= int2 '0';
 
-SELECT '' AS three, i.* FROM INT2_TBL i WHERE i.f1 <= '0'::int4;
+SELECT '' AS three, i.* FROM INT2_TBL i WHERE i.f1 <= int4 '0';
 
-SELECT '' AS two, i.* FROM INT2_TBL i WHERE i.f1 > '0'::int2;
+SELECT '' AS two, i.* FROM INT2_TBL i WHERE i.f1 > int2 '0';
 
-SELECT '' AS two, i.* FROM INT2_TBL i WHERE i.f1 > '0'::int4;
+SELECT '' AS two, i.* FROM INT2_TBL i WHERE i.f1 > int4 '0';
 
-SELECT '' AS three, i.* FROM INT2_TBL i WHERE i.f1 >= '0'::int2;
+SELECT '' AS three, i.* FROM INT2_TBL i WHERE i.f1 >= int2 '0';
 
-SELECT '' AS three, i.* FROM INT2_TBL i WHERE i.f1 >= '0'::int4;
+SELECT '' AS three, i.* FROM INT2_TBL i WHERE i.f1 >= int4 '0';
 
 -- positive odds 
-SELECT '' AS one, i.* FROM INT2_TBL i WHERE (i.f1 % '2'::int2) = '1'::int2;
+SELECT '' AS one, i.* FROM INT2_TBL i WHERE (i.f1 % int2 '2') = int2 '1';
 
 -- any evens 
-SELECT '' AS three, i.* FROM INT2_TBL i WHERE (i.f1 % '2'::int4) = '0'::int2;
+SELECT '' AS three, i.* FROM INT2_TBL i WHERE (i.f1 % int4 '2') = int2 '0';
 
-SELECT '' AS five, i.f1, i.f1 * '2'::int2 AS x FROM INT2_TBL i;
+SELECT '' AS five, i.f1, i.f1 * int2 '2' AS x FROM INT2_TBL i;
 
-SELECT '' AS five, i.f1, i.f1 * '2'::int4 AS x FROM INT2_TBL i;
+SELECT '' AS five, i.f1, i.f1 * int4 '2' AS x FROM INT2_TBL i;
 
-SELECT '' AS five, i.f1, i.f1 + '2'::int2 AS x FROM INT2_TBL i;
+SELECT '' AS five, i.f1, i.f1 + int2 '2' AS x FROM INT2_TBL i;
 
-SELECT '' AS five, i.f1, i.f1 + '2'::int4 AS x FROM INT2_TBL i;
+SELECT '' AS five, i.f1, i.f1 + int4 '2' AS x FROM INT2_TBL i;
 
-SELECT '' AS five, i.f1, i.f1 - '2'::int2 AS x FROM INT2_TBL i;
+SELECT '' AS five, i.f1, i.f1 - int2 '2' AS x FROM INT2_TBL i;
 
-SELECT '' AS five, i.f1, i.f1 - '2'::int4 AS x FROM INT2_TBL i;
+SELECT '' AS five, i.f1, i.f1 - int4 '2' AS x FROM INT2_TBL i;
 
-SELECT '' AS five, i.f1, i.f1 / '2'::int2 AS x FROM INT2_TBL i;
+SELECT '' AS five, i.f1, i.f1 / int2 '2' AS x FROM INT2_TBL i;
 
-SELECT '' AS five, i.f1, i.f1 / '2'::int4 AS x FROM INT2_TBL i;
+SELECT '' AS five, i.f1, i.f1 / int4 '2' AS x FROM INT2_TBL i;
 
index 6a32ee88d4db28e63bd3031577f431d445391361..96e947eebaaceaee6aa4a2b9e8f482c0d60e0fef 100644 (file)
@@ -1,5 +1,5 @@
---  *************testing built-in type int4 ****************
 --
+-- INT4
 -- WARNING: int4 operators never check for over/underflow!
 -- Some of these answers are consequently numerically incorrect.
 --
@@ -27,51 +27,51 @@ INSERT INTO INT4_TBL(f1) VALUES ('asdf');
 
 SELECT '' AS five, INT4_TBL.*;
 
-SELECT '' AS four, i.* FROM INT4_TBL i WHERE i.f1 <> '0'::int2;
+SELECT '' AS four, i.* FROM INT4_TBL i WHERE i.f1 <> int2 '0';
 
-SELECT '' AS four, i.* FROM INT4_TBL i WHERE i.f1 <> '0'::int4;
+SELECT '' AS four, i.* FROM INT4_TBL i WHERE i.f1 <> int4 '0';
 
-SELECT '' AS one, i.* FROM INT4_TBL i WHERE i.f1 = '0'::int2;
+SELECT '' AS one, i.* FROM INT4_TBL i WHERE i.f1 = int2 '0';
 
-SELECT '' AS one, i.* FROM INT4_TBL i WHERE i.f1 = '0'::int4;
+SELECT '' AS one, i.* FROM INT4_TBL i WHERE i.f1 = int4 '0';
 
-SELECT '' AS two, i.* FROM INT4_TBL i WHERE i.f1 < '0'::int2;
+SELECT '' AS two, i.* FROM INT4_TBL i WHERE i.f1 < int2 '0';
 
-SELECT '' AS two, i.* FROM INT4_TBL i WHERE i.f1 < '0'::int4;
+SELECT '' AS two, i.* FROM INT4_TBL i WHERE i.f1 < int4 '0';
 
-SELECT '' AS three, i.* FROM INT4_TBL i WHERE i.f1 <= '0'::int2;
+SELECT '' AS three, i.* FROM INT4_TBL i WHERE i.f1 <= int2 '0';
 
-SELECT '' AS three, i.* FROM INT4_TBL i WHERE i.f1 <= '0'::int4;
+SELECT '' AS three, i.* FROM INT4_TBL i WHERE i.f1 <= int4 '0';
 
-SELECT '' AS two, i.* FROM INT4_TBL i WHERE i.f1 > '0'::int2;
+SELECT '' AS two, i.* FROM INT4_TBL i WHERE i.f1 > int2 '0';
 
-SELECT '' AS two, i.* FROM INT4_TBL i WHERE i.f1 > '0'::int4;
+SELECT '' AS two, i.* FROM INT4_TBL i WHERE i.f1 > int4 '0';
 
-SELECT '' AS three, i.* FROM INT4_TBL i WHERE i.f1 >= '0'::int2;
+SELECT '' AS three, i.* FROM INT4_TBL i WHERE i.f1 >= int2 '0';
 
-SELECT '' AS three, i.* FROM INT4_TBL i WHERE i.f1 >= '0'::int4;
+SELECT '' AS three, i.* FROM INT4_TBL i WHERE i.f1 >= int4 '0';
 
 -- positive odds 
-SELECT '' AS one, i.* FROM INT4_TBL i WHERE (i.f1 % '2'::int2) = '1'::int2;
+SELECT '' AS one, i.* FROM INT4_TBL i WHERE (i.f1 % int2 '2') = int2 '1';
 
 -- any evens 
-SELECT '' AS three, i.* FROM INT4_TBL i WHERE (i.f1 % '2'::int4) = '0'::int2;
+SELECT '' AS three, i.* FROM INT4_TBL i WHERE (i.f1 % int4 '2') = int2 '0';
 
-SELECT '' AS five, i.f1, i.f1 * '2'::int2 AS x FROM INT4_TBL i;
+SELECT '' AS five, i.f1, i.f1 * int2 '2' AS x FROM INT4_TBL i;
 
-SELECT '' AS five, i.f1, i.f1 * '2'::int4 AS x FROM INT4_TBL i;
+SELECT '' AS five, i.f1, i.f1 * int4 '2' AS x FROM INT4_TBL i;
 
-SELECT '' AS five, i.f1, i.f1 + '2'::int2 AS x FROM INT4_TBL i;
+SELECT '' AS five, i.f1, i.f1 + int2 '2' AS x FROM INT4_TBL i;
 
-SELECT '' AS five, i.f1, i.f1 + '2'::int4 AS x FROM INT4_TBL i;
+SELECT '' AS five, i.f1, i.f1 + int4 '2' AS x FROM INT4_TBL i;
 
-SELECT '' AS five, i.f1, i.f1 - '2'::int2 AS x FROM INT4_TBL i;
+SELECT '' AS five, i.f1, i.f1 - int2 '2' AS x FROM INT4_TBL i;
 
-SELECT '' AS five, i.f1, i.f1 - '2'::int4 AS x FROM INT4_TBL i;
+SELECT '' AS five, i.f1, i.f1 - int4 '2' AS x FROM INT4_TBL i;
 
-SELECT '' AS five, i.f1, i.f1 / '2'::int2 AS x FROM INT4_TBL i;
+SELECT '' AS five, i.f1, i.f1 / int2 '2' AS x FROM INT4_TBL i;
 
-SELECT '' AS five, i.f1, i.f1 / '2'::int4 AS x FROM INT4_TBL i;
+SELECT '' AS five, i.f1, i.f1 / int4 '2' AS x FROM INT4_TBL i;
 
 --
 -- more complex expressions
@@ -86,13 +86,13 @@ SELECT 2- -1 AS three;
 
 SELECT 2 - -2 AS four;
 
-SELECT '2'::int2 * '2'::int2 = '16'::int2 / '4'::int2 AS true;
+SELECT int2 '2' * int2 '2' = int2 '16' / int2 '4' AS true;
 
-SELECT '2'::int4 * '2'::int2 = '16'::int2 / '4'::int4 AS true;
+SELECT int4 '2' * int2 '2' = int2 '16' / int4 '4' AS true;
 
-SELECT '2'::int2 * '2'::int4 = '16'::int4 / '4'::int2 AS true;
+SELECT int2 '2' * int4 '2' = int4 '16' / int2 '4' AS true;
 
-SELECT '1000'::int4 < '999'::int4 AS false;
+SELECT int4 '1000' < int4 '999' AS false;
 
 SELECT 4! AS twenty_four;
 
@@ -104,9 +104,9 @@ SELECT 2 + 2 / 2 AS three;
 
 SELECT (2 + 2) / 2 AS two;
 
-SELECT dsqrt('64'::float8) AS eight;
+SELECT dsqrt(float8 '64') AS eight;
 
-SELECT |/'64'::float8 AS eight;
+SELECT |/float8 '64' AS eight;
 
-SELECT ||/'27'::float8 AS three;
+SELECT ||/float8 '27' AS three;
 
index 1b997e9ed81a169d2eaa9584125784e92f5f5888..01de557d6024aa75aa7680c38449fee01ce22f01 100644 (file)
@@ -1,4 +1,5 @@
 --
+-- INT8
 -- Test int8 64-bit integers.
 --
 CREATE TABLE INT8_TBL(q1 int8, q2 int8);
index 11235caaa3d181b7be2a96ec8e2e89902d064d4e..882364fba8a4f2f7101701a23daa77cc477873ac 100644 (file)
@@ -1,12 +1,12 @@
---**************** testing built-in type name **************
 --
+-- NAME
 -- all inputs are silently truncated at NAMEDATALEN (32) characters
 --
 
 -- fixed-length by reference
-SELECT 'name string'::name = 'name string'::name AS "True";
+SELECT name 'name string' = name 'name string' AS "True";
 
-SELECT 'name string'::name = 'name string '::name AS "False";
+SELECT name 'name string' = name 'name string ' AS "False";
 
 --
 --
index ae337e05fa687be95f6199fefc8c154908bb804a..a33cfaca4faf150f37c1fc134910b085e77fdf77 100644 (file)
@@ -1,4 +1,7 @@
--- *************testing built-in type oid ****************
+--
+-- OID
+--
+
 CREATE TABLE OID_TBL(f1 oid);
 
 INSERT INTO OID_TBL(f1) VALUES ('1234');
@@ -17,7 +20,7 @@ INSERT INTO OID_TBL(f1) VALUES ('asdfasd');
 SELECT '' AS five, OID_TBL.*;
 
 
-SELECT '' AS one, o.* FROM OID_TBL o WHERE o.f1 = '1234'::oid;
+SELECT '' AS one, o.* FROM OID_TBL o WHERE o.f1 = oid '1234';
 
 SELECT '' AS four, o.* FROM OID_TBL o WHERE o.f1 <> '1234';
 
@@ -29,4 +32,4 @@ SELECT '' AS two, o.* FROM OID_TBL o WHERE o.f1 >= '1234';
 
 SELECT '' AS one, o.* FROM OID_TBL o WHERE o.f1 > '1234';
 
-DROP TABLE  OID_TBL;
+DROP TABLE OID_TBL;
index fb9daf4fd569f3bbad52afb8ad2643b80b2f6ef3..60daf7077c656661e4370f77b4abff120c9b563a 100644 (file)
@@ -1,8 +1,10 @@
--- *************testing built-in type text  ****************
+--
+-- TEXT
+--
 
-SELECT 'this is a text string'::text = 'this is a text string'::text AS true;
+SELECT text 'this is a text string' = text 'this is a text string' AS true;
 
-SELECT 'this is a text string'::text = 'this is a text strin'::text AS false;
+SELECT text 'this is a text string' = text 'this is a text strin' AS false;
 
 CREATE TABLE TEXT_TBL (f1 text);
 
index ead5da6b262946b38ae2d2802ff170661111b85f..e28c8f9b932bc8e52f1fbbb82b8f591b53e79f94 100644 (file)
@@ -1,4 +1,5 @@
---  ****************** test built-in type varchar **************
+--
+-- VARCHAR
 --
 
 CREATE TABLE VARCHAR_TBL(f1 varchar(1));