diff options
Diffstat (limited to 'src/test/regress/expected/int4-range-error.out')
| -rw-r--r-- | src/test/regress/expected/int4-range-error.out | 297 |
1 files changed, 297 insertions, 0 deletions
diff --git a/src/test/regress/expected/int4-range-error.out b/src/test/regress/expected/int4-range-error.out new file mode 100644 index 0000000000..62ce23d9bb --- /dev/null +++ b/src/test/regress/expected/int4-range-error.out @@ -0,0 +1,297 @@ +-- +-- INT4 +-- WARNING: int4 operators never check for over/underflow! +-- Some of these answers are consequently numerically incorrect. +-- +CREATE TABLE INT4_TBL(f1 int4); +INSERT INTO INT4_TBL(f1) VALUES ('0'); +INSERT INTO INT4_TBL(f1) VALUES ('123456'); +INSERT INTO INT4_TBL(f1) VALUES ('-123456'); +INSERT INTO INT4_TBL(f1) VALUES ('34.5'); +ERROR: pg_atoi: error in "34.5": can't parse ".5" +-- largest and smallest values +INSERT INTO INT4_TBL(f1) VALUES ('2147483647'); +INSERT INTO INT4_TBL(f1) VALUES ('-2147483647'); +-- bad input values -- should give warnings +INSERT INTO INT4_TBL(f1) VALUES ('1000000000000'); +ERROR: pg_atoi: error reading "1000000000000": Range Error +INSERT INTO INT4_TBL(f1) VALUES ('asdf'); +ERROR: pg_atoi: error in "asdf": can't parse "asdf" +SELECT '' AS five, INT4_TBL.*; + five | f1 +------+------------- + | 0 + | 123456 + | -123456 + | 2147483647 + | -2147483647 +(5 rows) + +SELECT '' AS four, i.* FROM INT4_TBL i WHERE i.f1 <> int2 '0'; + four | f1 +------+------------- + | 123456 + | -123456 + | 2147483647 + | -2147483647 +(4 rows) + +SELECT '' AS four, i.* FROM INT4_TBL i WHERE i.f1 <> int4 '0'; + four | f1 +------+------------- + | 123456 + | -123456 + | 2147483647 + | -2147483647 +(4 rows) + +SELECT '' AS one, i.* FROM INT4_TBL i WHERE i.f1 = int2 '0'; + one | f1 +-----+---- + | 0 +(1 row) + +SELECT '' AS one, i.* FROM INT4_TBL i WHERE i.f1 = int4 '0'; + one | f1 +-----+---- + | 0 +(1 row) + +SELECT '' AS two, i.* FROM INT4_TBL i WHERE i.f1 < int2 '0'; + two | f1 +-----+------------- + | -123456 + | -2147483647 +(2 rows) + +SELECT '' AS two, i.* FROM INT4_TBL i WHERE i.f1 < int4 '0'; + two | f1 +-----+------------- + | -123456 + | -2147483647 +(2 rows) + +SELECT '' AS three, i.* FROM INT4_TBL i WHERE i.f1 <= int2 '0'; + three | f1 +-------+------------- + | 0 + | -123456 + | -2147483647 +(3 rows) + +SELECT '' AS three, i.* FROM INT4_TBL i WHERE i.f1 <= int4 '0'; + three | f1 +-------+------------- + | 0 + | -123456 + | -2147483647 +(3 rows) + +SELECT '' AS two, i.* FROM INT4_TBL i WHERE i.f1 > int2 '0'; + two | f1 +-----+------------ + | 123456 + | 2147483647 +(2 rows) + +SELECT '' AS two, i.* FROM INT4_TBL i WHERE i.f1 > int4 '0'; + two | f1 +-----+------------ + | 123456 + | 2147483647 +(2 rows) + +SELECT '' AS three, i.* FROM INT4_TBL i WHERE i.f1 >= int2 '0'; + three | f1 +-------+------------ + | 0 + | 123456 + | 2147483647 +(3 rows) + +SELECT '' AS three, i.* FROM INT4_TBL i WHERE i.f1 >= int4 '0'; + three | f1 +-------+------------ + | 0 + | 123456 + | 2147483647 +(3 rows) + +-- positive odds +SELECT '' AS one, i.* FROM INT4_TBL i WHERE (i.f1 % int2 '2') = int2 '1'; + one | f1 +-----+------------ + | 2147483647 +(1 row) + +-- any evens +SELECT '' AS three, i.* FROM INT4_TBL i WHERE (i.f1 % int4 '2') = int2 '0'; + three | f1 +-------+--------- + | 0 + | 123456 + | -123456 +(3 rows) + +SELECT '' AS five, i.f1, i.f1 * int2 '2' AS x FROM INT4_TBL i; + five | f1 | x +------+-------------+--------- + | 0 | 0 + | 123456 | 246912 + | -123456 | -246912 + | 2147483647 | -2 + | -2147483647 | 2 +(5 rows) + +SELECT '' AS five, i.f1, i.f1 * int4 '2' AS x FROM INT4_TBL i; + five | f1 | x +------+-------------+--------- + | 0 | 0 + | 123456 | 246912 + | -123456 | -246912 + | 2147483647 | -2 + | -2147483647 | 2 +(5 rows) + +SELECT '' AS five, i.f1, i.f1 + int2 '2' AS x FROM INT4_TBL i; + five | f1 | x +------+-------------+------------- + | 0 | 2 + | 123456 | 123458 + | -123456 | -123454 + | 2147483647 | -2147483647 + | -2147483647 | -2147483645 +(5 rows) + +SELECT '' AS five, i.f1, i.f1 + int4 '2' AS x FROM INT4_TBL i; + five | f1 | x +------+-------------+------------- + | 0 | 2 + | 123456 | 123458 + | -123456 | -123454 + | 2147483647 | -2147483647 + | -2147483647 | -2147483645 +(5 rows) + +SELECT '' AS five, i.f1, i.f1 - int2 '2' AS x FROM INT4_TBL i; + five | f1 | x +------+-------------+------------ + | 0 | -2 + | 123456 | 123454 + | -123456 | -123458 + | 2147483647 | 2147483645 + | -2147483647 | 2147483647 +(5 rows) + +SELECT '' AS five, i.f1, i.f1 - int4 '2' AS x FROM INT4_TBL i; + five | f1 | x +------+-------------+------------ + | 0 | -2 + | 123456 | 123454 + | -123456 | -123458 + | 2147483647 | 2147483645 + | -2147483647 | 2147483647 +(5 rows) + +SELECT '' AS five, i.f1, i.f1 / int2 '2' AS x FROM INT4_TBL i; + five | f1 | x +------+-------------+------------- + | 0 | 0 + | 123456 | 61728 + | -123456 | -61728 + | 2147483647 | 1073741823 + | -2147483647 | -1073741823 +(5 rows) + +SELECT '' AS five, i.f1, i.f1 / int4 '2' AS x FROM INT4_TBL i; + five | f1 | x +------+-------------+------------- + | 0 | 0 + | 123456 | 61728 + | -123456 | -61728 + | 2147483647 | 1073741823 + | -2147483647 | -1073741823 +(5 rows) + +-- +-- more complex expressions +-- +-- variations on unary minus parsing +SELECT -2+3 AS one; + one +----- + 1 +(1 row) + +SELECT 4-2 AS two; + two +----- + 2 +(1 row) + +SELECT 2- -1 AS three; + three +------- + 3 +(1 row) + +SELECT 2 - -2 AS four; + four +------ + 4 +(1 row) + +SELECT int2 '2' * int2 '2' = int2 '16' / int2 '4' AS true; + true +------ + t +(1 row) + +SELECT int4 '2' * int2 '2' = int2 '16' / int4 '4' AS true; + true +------ + t +(1 row) + +SELECT int2 '2' * int4 '2' = int4 '16' / int2 '4' AS true; + true +------ + t +(1 row) + +SELECT int4 '1000' < int4 '999' AS false; + false +------- + f +(1 row) + +SELECT 4! AS twenty_four; + twenty_four +------------- + 24 +(1 row) + +SELECT !!3 AS six; + six +----- + 6 +(1 row) + +SELECT 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 AS ten; + ten +----- + 10 +(1 row) + +SELECT 2 + 2 / 2 AS three; + three +------- + 3 +(1 row) + +SELECT (2 + 2) / 2 AS two; + two +----- + 2 +(1 row) + |
