mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-10-12 04:16:50 +02:00
f5ab0a14ea
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.
89 lines
2.5 KiB
SQL
89 lines
2.5 KiB
SQL
--
|
|
-- INT2
|
|
-- NOTE: int2 operators never check for over/underflow!
|
|
-- Some of these answers are consequently numerically incorrect.
|
|
--
|
|
|
|
CREATE TABLE INT2_TBL(f1 int2);
|
|
|
|
INSERT INTO INT2_TBL(f1) VALUES ('0 ');
|
|
|
|
INSERT INTO INT2_TBL(f1) VALUES (' 1234 ');
|
|
|
|
INSERT INTO INT2_TBL(f1) VALUES (' -1234');
|
|
|
|
INSERT INTO INT2_TBL(f1) VALUES ('34.5');
|
|
|
|
-- largest and smallest values
|
|
INSERT INTO INT2_TBL(f1) VALUES ('32767');
|
|
|
|
INSERT INTO INT2_TBL(f1) VALUES ('-32767');
|
|
|
|
-- bad input values -- should give errors
|
|
INSERT INTO INT2_TBL(f1) VALUES ('100000');
|
|
INSERT INTO INT2_TBL(f1) VALUES ('asdf');
|
|
INSERT INTO INT2_TBL(f1) VALUES (' ');
|
|
INSERT INTO INT2_TBL(f1) VALUES ('- 1234');
|
|
INSERT INTO INT2_TBL(f1) VALUES ('4 444');
|
|
INSERT INTO INT2_TBL(f1) VALUES ('123 dt');
|
|
INSERT INTO INT2_TBL(f1) VALUES ('');
|
|
|
|
|
|
SELECT '' AS five, * FROM INT2_TBL;
|
|
|
|
SELECT '' AS four, i.* FROM INT2_TBL i WHERE i.f1 <> int2 '0';
|
|
|
|
SELECT '' AS four, i.* FROM INT2_TBL i WHERE i.f1 <> int4 '0';
|
|
|
|
SELECT '' AS one, i.* FROM INT2_TBL i WHERE i.f1 = int2 '0';
|
|
|
|
SELECT '' AS one, i.* FROM INT2_TBL i WHERE i.f1 = int4 '0';
|
|
|
|
SELECT '' AS two, i.* FROM INT2_TBL i WHERE i.f1 < int2 '0';
|
|
|
|
SELECT '' AS two, i.* FROM INT2_TBL i WHERE i.f1 < int4 '0';
|
|
|
|
SELECT '' AS three, i.* FROM INT2_TBL i WHERE i.f1 <= int2 '0';
|
|
|
|
SELECT '' AS three, i.* FROM INT2_TBL i WHERE i.f1 <= int4 '0';
|
|
|
|
SELECT '' AS two, i.* FROM INT2_TBL i WHERE i.f1 > int2 '0';
|
|
|
|
SELECT '' AS two, i.* FROM INT2_TBL i WHERE i.f1 > int4 '0';
|
|
|
|
SELECT '' AS three, i.* FROM INT2_TBL i WHERE i.f1 >= int2 '0';
|
|
|
|
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 % int2 '2') = int2 '1';
|
|
|
|
-- any evens
|
|
SELECT '' AS three, i.* FROM INT2_TBL i WHERE (i.f1 % int4 '2') = int2 '0';
|
|
|
|
SELECT '' AS five, i.f1, i.f1 * int2 '2' AS x FROM INT2_TBL i;
|
|
|
|
SELECT '' AS five, i.f1, i.f1 * int2 '2' AS x FROM INT2_TBL i
|
|
WHERE abs(f1) < 16384;
|
|
|
|
SELECT '' AS five, i.f1, i.f1 * int4 '2' 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 + int2 '2' AS x FROM INT2_TBL i
|
|
WHERE f1 < 32766;
|
|
|
|
SELECT '' AS five, i.f1, i.f1 + int4 '2' 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 - int2 '2' AS x FROM INT2_TBL i
|
|
WHERE f1 > -32767;
|
|
|
|
SELECT '' AS five, i.f1, i.f1 - int4 '2' 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 / int4 '2' AS x FROM INT2_TBL i;
|
|
|