123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168 |
- # Copyright Materialize, Inc. and contributors. All rights reserved.
- #
- # Use of this software is governed by the Business Source License
- # included in the LICENSE file at the root of this repository.
- #
- # As of the Change Date specified in that file, in accordance with
- # the Business Source License, use of this software will be governed
- # by the Apache License, Version 2.0.
- mode cockroach
- query T
- SELECT '-0'::float::text
- ----
- -0
- query T
- SELECT '+0'::float::text
- ----
- 0
- query T
- SELECT '000000.00000'::float::text
- ----
- 0
- query T
- SELECT '0.0e10'::float::text
- ----
- 0
- query T
- SELECT '0.'::float::text
- ----
- 0
- query T
- SELECT '.0'::float::text
- ----
- 0
- query T
- SELECT '-.0'::float::text
- ----
- -0
- query T
- SELECT '+.0'::float::text
- ----
- 0
- query T
- SELECT '+0.'::float::text
- ----
- 0
- query T
- SELECT '-0.'::float::text
- ----
- -0
- query error invalid input syntax
- SELECT '++0'::float::text
- query error invalid input syntax
- SELECT '--0'::float::text
- query TTTTT
- SELECT 'Inf'::float::text, 'Infinity'::float::text, 'inFinIty'::float::text, '+inf'::float::text, '+infinity'::float::text
- ----
- Infinity Infinity Infinity Infinity Infinity
- query TTT
- SELECT '-Inf'::float::text, '-Infinity'::float::text, '-inFinIty'::float::text
- ----
- -Infinity -Infinity -Infinity
- query TTT
- SELECT 'NaN'::float::text, 'nan'::float::text, 'nAN'::float::text
- ----
- NaN NaN NaN
- query TTTTT
- SELECT 'Inf'::double precision::text, 'Infinity'::double precision::text, 'inFinIty'::double precision::text, '+inf'::double precision::text, '+infinity'::double precision::text
- ----
- Infinity Infinity Infinity Infinity Infinity
- query TTT
- SELECT '-Inf'::double precision::text, '-Infinity'::double precision::text, '-inFinIty'::double precision::text
- ----
- -Infinity -Infinity -Infinity
- query TTT
- SELECT 'NaN'::double precision::text, 'nan'::double precision::text, 'nAN'::double precision::text
- ----
- NaN NaN NaN
- query R
- SELECT 1.2::float8::float4
- ----
- 1.2
- query R
- SELECT '2e40'::float8
- ----
- 20000000000000000000000000000000000000000
- query error value out of range: overflow
- SELECT '2e40'::float8::float4
- query R
- SELECT '2147483583'::float4::int;
- ----
- 2147483520
- query error "2147483600" integer out of range
- SELECT '2147483648'::float4::int
- query R
- SELECT '-2147483648'::float4::int
- ----
- -2147483648
- query error "-2147484000" integer out of range
- SELECT '-2147483777'::float4::int;
- # Invalid type mods
- query error precision for type float must be within \(\[1-53\]\)
- SELECT 1::float(0);
- query error precision for type float must be within \(\[1-53\]\)
- SELECT 1::float(55);
- # Test SUM() with floats
- statement ok
- create table t1 (f1 double, f2 double)
- statement ok
- insert into t1 values (1e31, 1e31), (1e31, 1e31)
- query T
- SELECT f1+f2 FROM t1
- ----
- 19999999999999999271792589930496.000
- 19999999999999999271792589930496.000
- query T
- SELECT SUM(f1) FROM t1
- ----
- -282409603651671152154661355520.000
- # This *should* be zero, known issue https://github.com/MaterializeInc/database-issues/issues/4341
- query T
- SELECT MIN(f1+f2)-SUM(f1) FROM t1
- ----
- 20282409603651670423947251286016.000
- query error invalid input syntax
- SELECT ''::float::text
- query error invalid input syntax
- SELECT 'e'::float::text
- query error invalid input syntax
- SELECT 'e10'::float::text
|