diff options
| author | Neil Conway <neilc@samurai.com> | 2005-04-07 01:51:41 +0000 |
|---|---|---|
| committer | Neil Conway <neilc@samurai.com> | 2005-04-07 01:51:41 +0000 |
| commit | f5ab0a14ea83eb6c27196b0c5d600b7f8b8b75fc (patch) | |
| tree | 3a40f9e70af0338c3dd1210b859f1a7445a40e6c /src/test/regress/sql | |
| parent | be2f825d51176bd21a627a529476f94de5bad4c2 (diff) | |
| download | postgresql-f5ab0a14ea83eb6c27196b0c5d600b7f8b8b75fc.tar.gz | |
Add a "USING" clause to DELETE, which is equivalent to the FROM clause
in UPDATE. We also now issue a NOTICE if a query has _any_ implicit
range table entries -- in the past, we would only warn about implicit
RTEs in SELECTs with at least one explicit RTE.
As a result of the warning change, 25 of the regression tests had to
be updated. I also took the opportunity to remove some bogus whitespace
differences between some of the float4 and float8 variants. I believe
I have correctly updated all the platform-specific variants, but let
me know if that's not the case.
Original patch for DELETE ... USING from Euler Taveira de Oliveira,
reworked by Neil Conway.
Diffstat (limited to 'src/test/regress/sql')
25 files changed, 108 insertions, 79 deletions
diff --git a/src/test/regress/sql/abstime.sql b/src/test/regress/sql/abstime.sql index 28a0f28483..cbaeb62957 100644 --- a/src/test/regress/sql/abstime.sql +++ b/src/test/regress/sql/abstime.sql @@ -37,24 +37,24 @@ INSERT INTO ABSTIME_TBL (f1) VALUES ('Jun 10, 1843'); -- test abstime operators -SELECT '' AS eight, ABSTIME_TBL.*; +SELECT '' AS eight, * FROM ABSTIME_TBL; -SELECT '' AS six, ABSTIME_TBL.* +SELECT '' AS six, * FROM ABSTIME_TBL WHERE ABSTIME_TBL.f1 < abstime 'Jun 30, 2001'; -SELECT '' AS six, ABSTIME_TBL.* +SELECT '' AS six, * FROM ABSTIME_TBL WHERE ABSTIME_TBL.f1 > abstime '-infinity'; -SELECT '' AS six, ABSTIME_TBL.* +SELECT '' AS six, * FROM ABSTIME_TBL WHERE abstime 'May 10, 1947 23:59:12' <> ABSTIME_TBL.f1; -SELECT '' AS three, ABSTIME_TBL.* +SELECT '' AS three, * FROM ABSTIME_TBL WHERE abstime 'epoch' >= ABSTIME_TBL.f1; -SELECT '' AS four, ABSTIME_TBL.* +SELECT '' AS four, * FROM ABSTIME_TBL WHERE ABSTIME_TBL.f1 <= abstime 'Jan 14, 1973 03:14:21'; -SELECT '' AS four, ABSTIME_TBL.* +SELECT '' AS four, * FROM ABSTIME_TBL WHERE ABSTIME_TBL.f1 <?> tinterval '["Apr 1 1950 00:00:00" "Dec 30 1999 23:00:00"]'; diff --git a/src/test/regress/sql/boolean.sql b/src/test/regress/sql/boolean.sql index 86d4bb428c..df97dfab3b 100644 --- a/src/test/regress/sql/boolean.sql +++ b/src/test/regress/sql/boolean.sql @@ -37,7 +37,7 @@ INSERT INTO BOOLTBL1 (f1) VALUES (bool 'true'); -- BOOLTBL1 should be full of true's at this point -SELECT '' AS t_3, BOOLTBL1.*; +SELECT '' AS t_3, BOOLTBL1.* FROM BOOLTBL1; SELECT '' AS t_3, BOOLTBL1.* @@ -76,22 +76,26 @@ INSERT INTO BOOLTBL2 (f1) VALUES (bool 'XXX'); -- BOOLTBL2 should be full of false's at this point -SELECT '' AS f_4, BOOLTBL2.*; +SELECT '' AS f_4, BOOLTBL2.* FROM BOOLTBL2; SELECT '' AS tf_12, BOOLTBL1.*, BOOLTBL2.* + FROM BOOLTBL1, BOOLTBL2 WHERE BOOLTBL2.f1 <> BOOLTBL1.f1; SELECT '' AS tf_12, BOOLTBL1.*, BOOLTBL2.* + FROM BOOLTBL1, BOOLTBL2 WHERE boolne(BOOLTBL2.f1,BOOLTBL1.f1); SELECT '' AS ff_4, BOOLTBL1.*, BOOLTBL2.* + FROM BOOLTBL1, BOOLTBL2 WHERE BOOLTBL2.f1 = BOOLTBL1.f1 and BOOLTBL1.f1 = bool 'false'; SELECT '' AS tf_12_ff_4, BOOLTBL1.*, BOOLTBL2.* + FROM BOOLTBL1, BOOLTBL2 WHERE BOOLTBL2.f1 = BOOLTBL1.f1 or BOOLTBL1.f1 = bool 'true' ORDER BY BOOLTBL1.f1, BOOLTBL2.f1; diff --git a/src/test/regress/sql/box.sql b/src/test/regress/sql/box.sql index 68dbe13822..6e5935ceb6 100644 --- a/src/test/regress/sql/box.sql +++ b/src/test/regress/sql/box.sql @@ -37,7 +37,7 @@ INSERT INTO BOX_TBL (f1) VALUES ('(2.3, 4.5)'); INSERT INTO BOX_TBL (f1) VALUES ('asdfasdf(ad'); -SELECT '' AS four, BOX_TBL.*; +SELECT '' AS four, * FROM BOX_TBL; SELECT '' AS four, b.*, area(b.f1) as barea FROM BOX_TBL b; diff --git a/src/test/regress/sql/char.sql b/src/test/regress/sql/char.sql index 049f22fad3..fcaef7e086 100644 --- a/src/test/regress/sql/char.sql +++ b/src/test/regress/sql/char.sql @@ -32,7 +32,7 @@ INSERT INTO CHAR_TBL (f1) VALUES ('cd'); INSERT INTO CHAR_TBL (f1) VALUES ('c '); -SELECT '' AS seven, CHAR_TBL.*; +SELECT '' AS seven, * FROM CHAR_TBL; SELECT '' AS six, c.* FROM CHAR_TBL c @@ -72,4 +72,4 @@ INSERT INTO CHAR_TBL (f1) VALUES ('abcd'); INSERT INTO CHAR_TBL (f1) VALUES ('abcde'); INSERT INTO CHAR_TBL (f1) VALUES ('abcd '); -SELECT '' AS four, CHAR_TBL.*; +SELECT '' AS four, * FROM CHAR_TBL; diff --git a/src/test/regress/sql/create_misc.sql b/src/test/regress/sql/create_misc.sql index a4cb816fa0..40c9b417d9 100644 --- a/src/test/regress/sql/create_misc.sql +++ b/src/test/regress/sql/create_misc.sql @@ -6,12 +6,11 @@ -- (any resemblance to real life is purely coincidental) -- -INSERT INTO tenk2 VALUES (tenk1.*); +INSERT INTO tenk2 SELECT * FROM tenk1; SELECT * INTO TABLE onek2 FROM onek; - -INSERT INTO fast_emp4000 VALUES (slow_emp4000.*); +INSERT INTO fast_emp4000 SELECT * FROM slow_emp4000; SELECT * INTO TABLE Bprime diff --git a/src/test/regress/sql/create_view.sql b/src/test/regress/sql/create_view.sql index 008ebae704..30a9bb1152 100644 --- a/src/test/regress/sql/create_view.sql +++ b/src/test/regress/sql/create_view.sql @@ -127,8 +127,8 @@ CREATE VIEW v12_temp AS SELECT true FROM v11_temp; -- a view should also be temporary if it references a temporary sequence CREATE SEQUENCE seq1; CREATE TEMPORARY SEQUENCE seq1_temp; -CREATE VIEW v9 AS SELECT seq1.is_called; -CREATE VIEW v13_temp AS SELECT seq1_temp.is_called; +CREATE VIEW v9 AS SELECT seq1.is_called FROM seq1; +CREATE VIEW v13_temp AS SELECT seq1_temp.is_called FROM seq1_temp; SELECT relname FROM pg_class WHERE relname LIKE 'v_' diff --git a/src/test/regress/sql/float4.sql b/src/test/regress/sql/float4.sql index 916431fbcc..a2140f547e 100644 --- a/src/test/regress/sql/float4.sql +++ b/src/test/regress/sql/float4.sql @@ -42,7 +42,7 @@ SELECT 'Infinity'::float4 / 'Infinity'::float4; SELECT 'nan'::float4 / 'nan'::float4; -SELECT '' AS five, FLOAT4_TBL.*; +SELECT '' AS five, * FROM FLOAT4_TBL; SELECT '' AS four, f.* FROM FLOAT4_TBL f WHERE f.f1 <> '1004.3'; @@ -71,7 +71,7 @@ SELECT '' AS three, f.f1, f.f1 - '-10' AS x FROM FLOAT4_TBL f -- test divide by zero SELECT '' AS bad, f.f1 / '0.0' from FLOAT4_TBL f; -SELECT '' AS five, FLOAT4_TBL.*; +SELECT '' AS five, * FROM FLOAT4_TBL; -- test the unary float4abs operator SELECT '' AS five, f.f1, @f.f1 AS abs_f1 FROM FLOAT4_TBL f; @@ -80,5 +80,5 @@ UPDATE FLOAT4_TBL SET f1 = FLOAT4_TBL.f1 * '-1' WHERE FLOAT4_TBL.f1 > '0.0'; -SELECT '' AS five, FLOAT4_TBL.*; +SELECT '' AS five, * FROM FLOAT4_TBL; diff --git a/src/test/regress/sql/float8.sql b/src/test/regress/sql/float8.sql index 0ff71be5d4..fc38e372d5 100644 --- a/src/test/regress/sql/float8.sql +++ b/src/test/regress/sql/float8.sql @@ -41,7 +41,7 @@ SELECT 'Infinity'::float8 + 100.0; SELECT 'Infinity'::float8 / 'Infinity'::float8; SELECT 'nan'::float8 / 'nan'::float8; -SELECT '' AS five, FLOAT8_TBL.*; +SELECT '' AS five, * FROM FLOAT8_TBL; SELECT '' AS four, f.* FROM FLOAT8_TBL f WHERE f.f1 <> '1004.3'; @@ -119,7 +119,7 @@ SELECT ||/ float8 '27' AS three; SELECT '' AS five, f.f1, ||/f.f1 AS cbrt_f1 FROM FLOAT8_TBL f; -SELECT '' AS five, FLOAT8_TBL.*; +SELECT '' AS five, * FROM FLOAT8_TBL; UPDATE FLOAT8_TBL SET f1 = FLOAT8_TBL.f1 * '-1' @@ -137,7 +137,7 @@ SELECT '' AS bad, exp(f.f1) from FLOAT8_TBL f; SELECT '' AS bad, f.f1 / '0.0' from FLOAT8_TBL f; -SELECT '' AS five, FLOAT8_TBL.*; +SELECT '' AS five, * FROM FLOAT8_TBL; -- test for over- and underflow INSERT INTO FLOAT8_TBL(f1) VALUES ('10e400'); @@ -163,5 +163,5 @@ INSERT INTO FLOAT8_TBL(f1) VALUES ('-1.2345678901234e+200'); INSERT INTO FLOAT8_TBL(f1) VALUES ('-1.2345678901234e-200'); -SELECT '' AS five, FLOAT8_TBL.*; +SELECT '' AS five, * FROM FLOAT8_TBL; diff --git a/src/test/regress/sql/hash_index.sql b/src/test/regress/sql/hash_index.sql index cfd77d5720..b0811b7dc0 100644 --- a/src/test/regress/sql/hash_index.sql +++ b/src/test/regress/sql/hash_index.sql @@ -3,56 +3,56 @@ -- grep 843938989 hash.data -- -SELECT hash_i4_heap.* +SELECT * FROM hash_i4_heap WHERE hash_i4_heap.random = 843938989; -- -- hash index -- grep 66766766 hash.data -- -SELECT hash_i4_heap.* +SELECT * FROM hash_i4_heap WHERE hash_i4_heap.random = 66766766; -- -- hash index -- grep 1505703298 hash.data -- -SELECT hash_name_heap.* +SELECT * FROM hash_name_heap WHERE hash_name_heap.random = '1505703298'::name; -- -- hash index -- grep 7777777 hash.data -- -SELECT hash_name_heap.* +SELECT * FROM hash_name_heap WHERE hash_name_heap.random = '7777777'::name; -- -- hash index -- grep 1351610853 hash.data -- -SELECT hash_txt_heap.* +SELECT * FROM hash_txt_heap WHERE hash_txt_heap.random = '1351610853'::text; -- -- hash index -- grep 111111112222222233333333 hash.data -- -SELECT hash_txt_heap.* +SELECT * FROM hash_txt_heap WHERE hash_txt_heap.random = '111111112222222233333333'::text; -- -- hash index -- grep 444705537 hash.data -- -SELECT hash_f8_heap.* +SELECT * FROM hash_f8_heap WHERE hash_f8_heap.random = '444705537'::float8; -- -- hash index -- grep 88888888 hash.data -- -SELECT hash_f8_heap.* +SELECT * FROM hash_f8_heap WHERE hash_f8_heap.random = '88888888'::float8; -- diff --git a/src/test/regress/sql/horology.sql b/src/test/regress/sql/horology.sql index 874700c4b9..afc9feb0c8 100644 --- a/src/test/regress/sql/horology.sql +++ b/src/test/regress/sql/horology.sql @@ -256,6 +256,7 @@ SELECT '' AS "226", d1.f1 AS timestamp1, d2.f1 AS timestamp2, d1.f1 - d2.f1 AS d -- SELECT '' AS ten, ABSTIME_TBL.f1 AS abstime, RELTIME_TBL.f1 AS reltime + FROM ABSTIME_TBL, RELTIME_TBL WHERE (ABSTIME_TBL.f1 + RELTIME_TBL.f1) < abstime 'Jan 14 14:00:00 1971' ORDER BY abstime, reltime; @@ -263,19 +264,19 @@ SELECT '' AS ten, ABSTIME_TBL.f1 AS abstime, RELTIME_TBL.f1 AS reltime -- the "infinity" and "-infinity" tuples in ABSTIME_TBL cannot be added and -- therefore, should not show up in the results. -SELECT '' AS three, ABSTIME_TBL.* +SELECT '' AS three, * FROM ABSTIME_TBL WHERE (ABSTIME_TBL.f1 + reltime '@ 3 year') -- +3 years < abstime 'Jan 14 14:00:00 1977'; -SELECT '' AS three, ABSTIME_TBL.* +SELECT '' AS three, * FROM ABSTIME_TBL WHERE (ABSTIME_TBL.f1 + reltime '@ 3 year ago') -- -3 years < abstime 'Jan 14 14:00:00 1971'; -SELECT '' AS three, ABSTIME_TBL.* +SELECT '' AS three, * FROM ABSTIME_TBL WHERE (ABSTIME_TBL.f1 - reltime '@ 3 year') -- -(+3) years < abstime 'Jan 14 14:00:00 1971'; -SELECT '' AS three, ABSTIME_TBL.* +SELECT '' AS three, * FROM ABSTIME_TBL WHERE (ABSTIME_TBL.f1 - reltime '@ 3 year ago') -- -(-3) years < abstime 'Jan 14 14:00:00 1977'; diff --git a/src/test/regress/sql/int2.sql b/src/test/regress/sql/int2.sql index 81bff55712..65c89e4abd 100644 --- a/src/test/regress/sql/int2.sql +++ b/src/test/regress/sql/int2.sql @@ -29,7 +29,7 @@ INSERT INTO INT2_TBL(f1) VALUES ('123 dt'); INSERT INTO INT2_TBL(f1) VALUES (''); -SELECT '' AS five, INT2_TBL.*; +SELECT '' AS five, * FROM INT2_TBL; SELECT '' AS four, i.* FROM INT2_TBL i WHERE i.f1 <> int2 '0'; diff --git a/src/test/regress/sql/int4.sql b/src/test/regress/sql/int4.sql index b4c3929d09..5212c68795 100644 --- a/src/test/regress/sql/int4.sql +++ b/src/test/regress/sql/int4.sql @@ -29,7 +29,7 @@ INSERT INTO INT4_TBL(f1) VALUES ('123 5'); INSERT INTO INT4_TBL(f1) VALUES (''); -SELECT '' AS five, INT4_TBL.*; +SELECT '' AS five, * FROM INT4_TBL; SELECT '' AS four, i.* FROM INT4_TBL i WHERE i.f1 <> int2 '0'; diff --git a/src/test/regress/sql/interval.sql b/src/test/regress/sql/interval.sql index b6a6eb20ef..a05d818a33 100644 --- a/src/test/regress/sql/interval.sql +++ b/src/test/regress/sql/interval.sql @@ -32,24 +32,24 @@ INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 30 eons ago'); -- test interval operators -SELECT '' AS ten, INTERVAL_TBL.*; +SELECT '' AS ten, * FROM INTERVAL_TBL; -SELECT '' AS nine, INTERVAL_TBL.* +SELECT '' AS nine, * FROM INTERVAL_TBL WHERE INTERVAL_TBL.f1 <> interval '@ 10 days'; -SELECT '' AS three, INTERVAL_TBL.* +SELECT '' AS three, * FROM INTERVAL_TBL WHERE INTERVAL_TBL.f1 <= interval '@ 5 hours'; -SELECT '' AS three, INTERVAL_TBL.* +SELECT '' AS three, * FROM INTERVAL_TBL WHERE INTERVAL_TBL.f1 < interval '@ 1 day'; -SELECT '' AS one, INTERVAL_TBL.* +SELECT '' AS one, * FROM INTERVAL_TBL WHERE INTERVAL_TBL.f1 = interval '@ 34 years'; -SELECT '' AS five, INTERVAL_TBL.* +SELECT '' AS five, * FROM INTERVAL_TBL WHERE INTERVAL_TBL.f1 >= interval '@ 1 month'; -SELECT '' AS nine, INTERVAL_TBL.* +SELECT '' AS nine, * FROM INTERVAL_TBL WHERE INTERVAL_TBL.f1 > interval '@ 3 seconds ago'; SELECT '' AS fortyfive, r1.*, r2.* @@ -59,7 +59,7 @@ SELECT '' AS fortyfive, r1.*, r2.* SET DATESTYLE = 'postgres'; -SELECT '' AS ten, INTERVAL_TBL.*; +SELECT '' AS ten, * FROM INTERVAL_TBL; -- test avg(interval), which is somewhat fragile since people have been -- known to change the allowed input syntax for type interval without diff --git a/src/test/regress/sql/join.sql b/src/test/regress/sql/join.sql index 9bda6f1d00..ba48cad7fe 100644 --- a/src/test/regress/sql/join.sql +++ b/src/test/regress/sql/join.sql @@ -349,3 +349,27 @@ DROP TABLE t3; DROP TABLE J1_TBL; DROP TABLE J2_TBL; + +-- Both DELETE and UPDATE allow the specification of additional tables +-- to "join" against to determine which rows should be modified. + +CREATE TEMP TABLE t1 (a int, b int); +CREATE TEMP TABLE t2 (a int, b int); +CREATE TEMP TABLE t3 (x int, y int); + +INSERT INTO t1 VALUES (5, 10); +INSERT INTO t1 VALUES (15, 20); +INSERT INTO t1 VALUES (100, 100); +INSERT INTO t1 VALUES (200, 1000); +INSERT INTO t2 VALUES (200, 2000); +INSERT INTO t3 VALUES (5, 20); +INSERT INTO t3 VALUES (6, 7); +INSERT INTO t3 VALUES (7, 8); +INSERT INTO t3 VALUES (500, 100); + +DELETE FROM t3 USING t1 table1 WHERE t3.x = table1.a; +SELECT * FROM t3; +DELETE FROM t3 USING t1 JOIN t2 USING (a) WHERE t3.x > t1.a; +SELECT * FROM t3; +DELETE FROM t3 USING t3 t3_other WHERE t3.x = t3_other.x AND t3.y = t3_other.y; +SELECT * FROM t3;
\ No newline at end of file diff --git a/src/test/regress/sql/name.sql b/src/test/regress/sql/name.sql index 58fa0120fd..1c7a6716ee 100644 --- a/src/test/regress/sql/name.sql +++ b/src/test/regress/sql/name.sql @@ -29,7 +29,7 @@ INSERT INTO NAME_TBL(f1) VALUES (''); INSERT INTO NAME_TBL(f1) VALUES ('1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ'); -SELECT '' AS seven, NAME_TBL.*; +SELECT '' AS seven, * FROM NAME_TBL; SELECT '' AS six, c.f1 FROM NAME_TBL c WHERE c.f1 <> '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQR'; diff --git a/src/test/regress/sql/oid.sql b/src/test/regress/sql/oid.sql index e2357cd2e5..1bdb127a4a 100644 --- a/src/test/regress/sql/oid.sql +++ b/src/test/regress/sql/oid.sql @@ -26,8 +26,7 @@ INSERT INTO OID_TBL(f1) VALUES (' - 500'); INSERT INTO OID_TBL(f1) VALUES ('32958209582039852935'); INSERT INTO OID_TBL(f1) VALUES ('-23582358720398502385'); -SELECT '' AS six, OID_TBL.*; - +SELECT '' AS six, * FROM OID_TBL; SELECT '' AS one, o.* FROM OID_TBL o WHERE o.f1 = 1234; diff --git a/src/test/regress/sql/point.sql b/src/test/regress/sql/point.sql index 6c6867c432..bc45f9f0d8 100644 --- a/src/test/regress/sql/point.sql +++ b/src/test/regress/sql/point.sql @@ -24,7 +24,7 @@ INSERT INTO POINT_TBL(f1) VALUES ('(10.0 10.0)'); INSERT INTO POINT_TBL(f1) VALUES ('(10.0,10.0'); -SELECT '' AS six, POINT_TBL.*; +SELECT '' AS six, * FROM POINT_TBL; -- left of SELECT '' AS three, p.* FROM POINT_TBL p WHERE p.f1 << '(0.0, 0.0)'; diff --git a/src/test/regress/sql/polygon.sql b/src/test/regress/sql/polygon.sql index 99d674e8d2..1e20f38175 100644 --- a/src/test/regress/sql/polygon.sql +++ b/src/test/regress/sql/polygon.sql @@ -38,7 +38,7 @@ INSERT INTO POLYGON_TBL(f1) VALUES ('(0,1,2,3'); INSERT INTO POLYGON_TBL(f1) VALUES ('asdf'); -SELECT '' AS four, POLYGON_TBL.*; +SELECT '' AS four, * FROM POLYGON_TBL; -- overlap SELECT '' AS three, p.* diff --git a/src/test/regress/sql/privileges.sql b/src/test/regress/sql/privileges.sql index d3e9b54303..3e224c556a 100644 --- a/src/test/regress/sql/privileges.sql +++ b/src/test/regress/sql/privileges.sql @@ -78,7 +78,7 @@ INSERT INTO atest1 SELECT 1, b FROM atest1; -- fail UPDATE atest1 SET a = 1 WHERE a = 2; -- fail UPDATE atest2 SET col2 = NULL; -- ok UPDATE atest2 SET col2 = NOT col2; -- fails; requires SELECT on atest2 -UPDATE atest2 SET col2 = true WHERE atest1.a = 5; -- ok +UPDATE atest2 SET col2 = true FROM atest1 WHERE atest1.a = 5; -- ok SELECT * FROM atest1 FOR UPDATE; -- fail SELECT * FROM atest2 FOR UPDATE; -- fail DELETE FROM atest2; -- fail diff --git a/src/test/regress/sql/reltime.sql b/src/test/regress/sql/reltime.sql index 53295d3e66..a07b64e29d 100644 --- a/src/test/regress/sql/reltime.sql +++ b/src/test/regress/sql/reltime.sql @@ -24,28 +24,27 @@ INSERT INTO RELTIME_TBL (f1) VALUES ('@ 30 eons ago'); -- test reltime operators -SELECT '' AS six, RELTIME_TBL.*; +SELECT '' AS six, * FROM RELTIME_TBL; -SELECT '' AS five, RELTIME_TBL.* +SELECT '' AS five, * FROM RELTIME_TBL WHERE RELTIME_TBL.f1 <> reltime '@ 10 days'; -SELECT '' AS three, RELTIME_TBL.* +SELECT '' AS three, * FROM RELTIME_TBL WHERE RELTIME_TBL.f1 <= reltime '@ 5 hours'; -SELECT '' AS three, RELTIME_TBL.* +SELECT '' AS three, * FROM RELTIME_TBL WHERE RELTIME_TBL.f1 < reltime '@ 1 day'; -SELECT '' AS one, RELTIME_TBL.* +SELECT '' AS one, * FROM RELTIME_TBL WHERE RELTIME_TBL.f1 = reltime '@ 34 years'; -SELECT '' AS two, RELTIME_TBL.* +SELECT '' AS two, * FROM RELTIME_TBL WHERE RELTIME_TBL.f1 >= reltime '@ 1 month'; -SELECT '' AS five, RELTIME_TBL.* +SELECT '' AS five, * FROM RELTIME_TBL WHERE RELTIME_TBL.f1 > reltime '@ 3 seconds ago'; SELECT '' AS fifteen, r1.*, r2.* FROM RELTIME_TBL r1, RELTIME_TBL r2 WHERE r1.f1 > r2.f1 ORDER BY r1.f1, r2.f1; - diff --git a/src/test/regress/sql/rules.sql b/src/test/regress/sql/rules.sql index cd0ae43c3e..ead8011a31 100644 --- a/src/test/regress/sql/rules.sql +++ b/src/test/regress/sql/rules.sql @@ -218,17 +218,19 @@ select * from rtest_v1; update rtest_v1 set b = 88 where b < 50; select * from rtest_v1; delete from rtest_v1; -insert into rtest_v1 select rtest_t2.a, rtest_t3.b where rtest_t2.a = rtest_t3.a; +insert into rtest_v1 select rtest_t2.a, rtest_t3.b + from rtest_t2, rtest_t3 + where rtest_t2.a = rtest_t3.a; select * from rtest_v1; -- updates in a mergejoin -update rtest_v1 set b = rtest_t2.b where a = rtest_t2.a; +update rtest_v1 set b = rtest_t2.b from rtest_t2 where rtest_v1.a = rtest_t2.a; select * from rtest_v1; insert into rtest_v1 select * from rtest_t3; select * from rtest_v1; update rtest_t1 set a = a + 10 where b > 30; select * from rtest_v1; -update rtest_v1 set a = rtest_t3.a + 20 where b = rtest_t3.b; +update rtest_v1 set a = rtest_t3.a + 20 from rtest_t3 where rtest_v1.b = rtest_t3.b; select * from rtest_v1; -- @@ -285,9 +287,9 @@ insert into rtest_empmass values ('mayr', '6000.00'); insert into rtest_emp select * from rtest_empmass; select ename, who = current_user as "matches user", action, newsal, oldsal from rtest_emplog order by ename, action, newsal; update rtest_empmass set salary = salary + '1000.00'; -update rtest_emp set salary = rtest_empmass.salary where ename = rtest_empmass.ename; +update rtest_emp set salary = rtest_empmass.salary from rtest_empmass where rtest_emp.ename = rtest_empmass.ename; select ename, who = current_user as "matches user", action, newsal, oldsal from rtest_emplog order by ename, action, newsal; -delete from rtest_emp where ename = rtest_empmass.ename; +delete from rtest_emp using rtest_empmass where rtest_emp.ename = rtest_empmass.ename; select ename, who = current_user as "matches user", action, newsal, oldsal from rtest_emplog order by ename, action, newsal; -- diff --git a/src/test/regress/sql/select.sql b/src/test/regress/sql/select.sql index ee9389dc59..02aac6c506 100644 --- a/src/test/regress/sql/select.sql +++ b/src/test/regress/sql/select.sql @@ -5,20 +5,21 @@ -- btree index -- awk '{if($1<10){print;}else{next;}}' onek.data | sort +0n -1 -- -SELECT onek.* WHERE onek.unique1 < 10 +SELECT * FROM onek + WHERE onek.unique1 < 10 ORDER BY onek.unique1; -- -- awk '{if($1<20){print $1,$14;}else{next;}}' onek.data | sort +0nr -1 -- -SELECT onek.unique1, onek.stringu1 +SELECT onek.unique1, onek.stringu1 FROM onek WHERE onek.unique1 < 20 ORDER BY unique1 using >; -- -- awk '{if($1>980){print $1,$14;}else{next;}}' onek.data | sort +1d -2 -- -SELECT onek.unique1, onek.stringu1 +SELECT onek.unique1, onek.stringu1 FROM onek WHERE onek.unique1 > 980 ORDER BY stringu1 using <; @@ -26,7 +27,7 @@ SELECT onek.unique1, onek.stringu1 -- awk '{if($1>980){print $1,$16;}else{next;}}' onek.data | -- sort +1d -2 +0nr -1 -- -SELECT onek.unique1, onek.string4 +SELECT onek.unique1, onek.string4 FROM onek WHERE onek.unique1 > 980 ORDER BY string4 using <, unique1 using >; @@ -34,7 +35,7 @@ SELECT onek.unique1, onek.string4 -- awk '{if($1>980){print $1,$16;}else{next;}}' onek.data | -- sort +1dr -2 +0n -1 -- -SELECT onek.unique1, onek.string4 +SELECT onek.unique1, onek.string4 FROM onek WHERE onek.unique1 > 980 ORDER BY string4 using >, unique1 using <; @@ -42,7 +43,7 @@ SELECT onek.unique1, onek.string4 -- awk '{if($1<20){print $1,$16;}else{next;}}' onek.data | -- sort +0nr -1 +1d -2 -- -SELECT onek.unique1, onek.string4 +SELECT onek.unique1, onek.string4 FROM onek WHERE onek.unique1 < 20 ORDER BY unique1 using >, string4 using <; @@ -50,7 +51,7 @@ SELECT onek.unique1, onek.string4 -- awk '{if($1<20){print $1,$16;}else{next;}}' onek.data | -- sort +0n -1 +1dr -2 -- -SELECT onek.unique1, onek.string4 +SELECT onek.unique1, onek.string4 FROM onek WHERE onek.unique1 < 20 ORDER BY unique1 using <, string4 using >; @@ -65,19 +66,19 @@ ANALYZE onek2; -- -- awk '{if($1<10){print $0;}else{next;}}' onek.data | sort +0n -1 -- -SELECT onek2.* WHERE onek2.unique1 < 10; +SELECT onek2.* FROM onek2 WHERE onek2.unique1 < 10; -- -- awk '{if($1<20){print $1,$14;}else{next;}}' onek.data | sort +0nr -1 -- -SELECT onek2.unique1, onek2.stringu1 +SELECT onek2.unique1, onek2.stringu1 FROM onek2 WHERE onek2.unique1 < 20 ORDER BY unique1 using >; -- -- awk '{if($1>980){print $1,$14;}else{next;}}' onek.data | sort +1d -2 -- -SELECT onek2.unique1, onek2.stringu1 +SELECT onek2.unique1, onek2.stringu1 FROM onek2 WHERE onek2.unique1 > 980; diff --git a/src/test/regress/sql/tinterval.sql b/src/test/regress/sql/tinterval.sql index dabf504e0c..82d61dda3e 100644 --- a/src/test/regress/sql/tinterval.sql +++ b/src/test/regress/sql/tinterval.sql @@ -32,7 +32,7 @@ INSERT INTO TINTERVAL_TBL (f1) -- test tinterval operators -SELECT '' AS five, TINTERVAL_TBL.*; +SELECT '' AS five, * FROM TINTERVAL_TBL; -- length == SELECT '' AS one, t.* diff --git a/src/test/regress/sql/transactions.sql b/src/test/regress/sql/transactions.sql index 6aebfcc867..247d6facb8 100644 --- a/src/test/regress/sql/transactions.sql +++ b/src/test/regress/sql/transactions.sql @@ -45,7 +45,7 @@ DROP TABLE writetest; -- fail INSERT INTO writetest VALUES (1); -- fail SELECT * FROM writetest; -- ok DELETE FROM temptest; -- ok -UPDATE temptest SET a = 0 WHERE a = 1 AND writetest.a = temptest.a; -- ok +UPDATE temptest SET a = 0 FROM writetest WHERE temptest.a = 1 AND writetest.a = temptest.a; -- ok PREPARE test AS UPDATE writetest SET a = 0; -- ok EXECUTE test; -- fail SELECT * FROM writetest, temptest; -- ok diff --git a/src/test/regress/sql/varchar.sql b/src/test/regress/sql/varchar.sql index 70fa8afb4b..414c585d9a 100644 --- a/src/test/regress/sql/varchar.sql +++ b/src/test/regress/sql/varchar.sql @@ -23,7 +23,7 @@ INSERT INTO VARCHAR_TBL (f1) VALUES ('cd'); INSERT INTO VARCHAR_TBL (f1) VALUES ('c '); -SELECT '' AS seven, VARCHAR_TBL.*; +SELECT '' AS seven, * FROM VARCHAR_TBL; SELECT '' AS six, c.* FROM VARCHAR_TBL c @@ -63,4 +63,4 @@ INSERT INTO VARCHAR_TBL (f1) VALUES ('abcd'); INSERT INTO VARCHAR_TBL (f1) VALUES ('abcde'); INSERT INTO VARCHAR_TBL (f1) VALUES ('abcd '); -SELECT '' AS four, VARCHAR_TBL.*; +SELECT '' AS four, * FROM VARCHAR_TBL; |
