diff options
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/regress/expected/int2.out | 13 | ||||
| -rw-r--r-- | src/test/regress/expected/int4.out | 13 | ||||
| -rw-r--r-- | src/test/regress/expected/int8.out | 13 | ||||
| -rw-r--r-- | src/test/regress/sql/int2.sql | 4 | ||||
| -rw-r--r-- | src/test/regress/sql/int4.sql | 4 | ||||
| -rw-r--r-- | src/test/regress/sql/int8.sql | 4 |
6 files changed, 51 insertions, 0 deletions
diff --git a/src/test/regress/expected/int2.out b/src/test/regress/expected/int2.out index 8fff981d0a..3bb26b3f48 100644 --- a/src/test/regress/expected/int2.out +++ b/src/test/regress/expected/int2.out @@ -242,3 +242,16 @@ SELECT '' AS five, i.f1, i.f1 / int4 '2' AS x FROM INT2_TBL i; | -32767 | -16383 (5 rows) +-- corner cases +SELECT (1<<15-1)::int2::text; + text +------- + 16384 +(1 row) + +SELECT (-1<<15)::int2::text; + text +-------- + -32768 +(1 row) + diff --git a/src/test/regress/expected/int4.out b/src/test/regress/expected/int4.out index 3fadb7bbdb..42095c7844 100644 --- a/src/test/regress/expected/int4.out +++ b/src/test/regress/expected/int4.out @@ -329,3 +329,16 @@ SELECT (2 + 2) / 2 AS two; 2 (1 row) +-- corner cases +SELECT (1<<31-1)::int4::text; + text +------------ + 1073741824 +(1 row) + +SELECT (1<<31)::int4::text; + text +------------- + -2147483648 +(1 row) + diff --git a/src/test/regress/expected/int8.out b/src/test/regress/expected/int8.out index c8e2dad683..e156067e88 100644 --- a/src/test/regress/expected/int8.out +++ b/src/test/regress/expected/int8.out @@ -802,3 +802,16 @@ SELECT * FROM generate_series('+4567890123456789'::int8, '+4567890123456799'::in 4567890123456799 (6 rows) +-- corner cases +SELECT (1<<63-1)::int8::text; + text +------------ + 1073741824 +(1 row) + +SELECT (1<<63)::int8::text; + text +------------- + -2147483648 +(1 row) + diff --git a/src/test/regress/sql/int2.sql b/src/test/regress/sql/int2.sql index 20d31b6420..8bffe53b03 100644 --- a/src/test/regress/sql/int2.sql +++ b/src/test/regress/sql/int2.sql @@ -83,3 +83,7 @@ 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; + +-- corner cases +SELECT (1<<15-1)::int2::text; +SELECT (-1<<15)::int2::text; diff --git a/src/test/regress/sql/int4.sql b/src/test/regress/sql/int4.sql index 5e84f64360..39bfec1b0d 100644 --- a/src/test/regress/sql/int4.sql +++ b/src/test/regress/sql/int4.sql @@ -123,3 +123,7 @@ SELECT 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 AS ten; SELECT 2 + 2 / 2 AS three; SELECT (2 + 2) / 2 AS two; + +-- corner cases +SELECT (1<<31-1)::int4::text; +SELECT (1<<31)::int4::text; diff --git a/src/test/regress/sql/int8.sql b/src/test/regress/sql/int8.sql index 648563c374..7fff03cd66 100644 --- a/src/test/regress/sql/int8.sql +++ b/src/test/regress/sql/int8.sql @@ -190,3 +190,7 @@ SELECT q1, q1 << 2 AS "shl", q1 >> 3 AS "shr" FROM INT8_TBL; SELECT * FROM generate_series('+4567890123456789'::int8, '+4567890123456799'::int8); SELECT * FROM generate_series('+4567890123456789'::int8, '+4567890123456799'::int8, 0); SELECT * FROM generate_series('+4567890123456789'::int8, '+4567890123456799'::int8, 2); + +-- corner cases +SELECT (1<<63-1)::int8::text; +SELECT (1<<63)::int8::text; |
