Skip to content
Snippets Groups Projects
Commit 41543b06 authored by Bruce Momjian's avatar Bruce Momjian
Browse files

Dec ALpha patches

parent 8223f70e
No related branches found
No related tags found
No related merge requests found
QUERY: CREATE TABLE FLOAT8_TBL(f1 float8);
QUERY: INSERT INTO FLOAT8_TBL(f1) VALUES ('0.0');
QUERY: INSERT INTO FLOAT8_TBL(f1) VALUES ('1004.30');
QUERY: INSERT INTO FLOAT8_TBL(f1) VALUES ('-34.84');
QUERY: INSERT INTO FLOAT8_TBL(f1) VALUES ('1.2345678901234e+200');
QUERY: INSERT INTO FLOAT8_TBL(f1) VALUES ('1.2345678901234e-200');
QUERY: SELECT '' AS five, FLOAT8_TBL.*;
five|f1
----+--------------------
|0
|1004.3
|-34.84
|1.2345678901234e+200
|1.2345678901234e-200
(5 rows)
QUERY: SELECT '' AS four, f.* FROM FLOAT8_TBL f WHERE f.f1 <> '1004.3';
four|f1
----+--------------------
|0
|-34.84
|1.2345678901234e+200
|1.2345678901234e-200
(4 rows)
QUERY: SELECT '' AS one, f.* FROM FLOAT8_TBL f WHERE f.f1 = '1004.3';
one| f1
---+------
|1004.3
(1 row)
QUERY: SELECT '' AS three, f.* FROM FLOAT8_TBL f WHERE '1004.3' > f.f1;
three| f1
-----+--------------------
| 0
| -34.84
|1.2345678901234e-200
(3 rows)
QUERY: SELECT '' AS three, f.* FROM FLOAT8_TBL f WHERE f.f1 < '1004.3';
three| f1
-----+--------------------
| 0
| -34.84
|1.2345678901234e-200
(3 rows)
QUERY: SELECT '' AS four, f.* FROM FLOAT8_TBL f WHERE '1004.3' >= f.f1;
four| f1
----+--------------------
| 0
| 1004.3
| -34.84
|1.2345678901234e-200
(4 rows)
QUERY: SELECT '' AS four, f.* FROM FLOAT8_TBL f WHERE f.f1 <= '1004.3';
four| f1
----+--------------------
| 0
| 1004.3
| -34.84
|1.2345678901234e-200
(4 rows)
QUERY: SELECT '' AS three, f.f1, f.f1 * '-10' AS x
FROM FLOAT8_TBL f
WHERE f.f1 > '0.0';
three|f1 |x
-----+--------------------+---------------------
|1004.3 |-10043
|1.2345678901234e+200|-1.2345678901234e+201
|1.2345678901234e-200|-1.2345678901234e-199
(3 rows)
QUERY: SELECT '' AS three, f.f1, f.f1 + '-10' AS x
FROM FLOAT8_TBL f
WHERE f.f1 > '0.0';
three|f1 |x
-----+--------------------+--------------------
|1004.3 |994.3
|1.2345678901234e+200|1.2345678901234e+200
|1.2345678901234e-200|-10
(3 rows)
QUERY: SELECT '' AS three, f.f1, f.f1 / '-10' AS x
FROM FLOAT8_TBL f
WHERE f.f1 > '0.0';
three|f1 |x
-----+--------------------+---------------------
|1004.3 |-100.43
|1.2345678901234e+200|-1.2345678901234e+199
|1.2345678901234e-200|-1.2345678901234e-201
(3 rows)
QUERY: SELECT '' AS three, f.f1, f.f1 - '-10' AS x
FROM FLOAT8_TBL f
WHERE f.f1 > '0.0';
three|f1 |x
-----+--------------------+--------------------
|1004.3 |1014.3
|1.2345678901234e+200|1.2345678901234e+200
|1.2345678901234e-200|10
(3 rows)
QUERY: SELECT '' AS one, f.f1 ^ '2.0' AS square_f1
FROM FLOAT8_TBL f where f.f1 = '1004.3';
one| square_f1
---+----------
|1008618.49
(1 row)
QUERY: SELECT '' AS five, f.f1, @f.f1 AS abs_f1
FROM FLOAT8_TBL f;
five|f1 |abs_f1
----+--------------------+--------------------
|0 |0
|1004.3 |1004.3
|-34.84 |34.84
|1.2345678901234e+200|1.2345678901234e+200
|1.2345678901234e-200|1.2345678901234e-200
(5 rows)
QUERY: SELECT '' AS five, f.f1, %f.f1 AS trunc_f1
FROM FLOAT8_TBL f;
five|f1 |trunc_f1
----+--------------------+--------------------
|0 |0
|1004.3 |1004
|-34.84 |-34
|1.2345678901234e+200|1.2345678901234e+200
|1.2345678901234e-200|0
(5 rows)
QUERY: SELECT '' AS five, f.f1, f.f1 % AS round_f1
FROM FLOAT8_TBL f;
five|f1 |round_f1
----+--------------------+--------------------
|0 |0
|1004.3 |1004
|-34.84 |-35
|1.2345678901234e+200|1.2345678901234e+200
|1.2345678901234e-200|0
(5 rows)
QUERY: SELECT '' AS three, f.f1, |/f.f1 AS sqrt_f1
FROM FLOAT8_TBL f
WHERE f.f1 > '0.0';
three|f1 |sqrt_f1
-----+--------------------+---------------------
|1004.3 |31.6906926399535
|1.2345678901234e+200|1.11111110611109e+100
|1.2345678901234e-200|1.11111110611109e-100
(3 rows)
QUERY: SELECT '' AS three, f.f1, : ( ; f.f1) AS exp_ln_f1
FROM FLOAT8_TBL f
WHERE f.f1 > '0.0';
three|f1 |exp_ln_f1
-----+--------------------+---------------------
|1004.3 |1004.3
|1.2345678901234e+200|1.23456789012338e+200
|1.2345678901234e-200|1.23456789012339e-200
(3 rows)
QUERY: SELECT '' AS five, f.f1, ||/f.f1 AS cbrt_f1 FROM FLOAT8_TBL f;
five|f1 |cbrt_f1
----+--------------------+--------------------
|0 |0
|1004.3 |10.014312837827
|-34.84 |-3.26607421344208
|1.2345678901234e+200|4.97933859234765e+66
|1.2345678901234e-200|2.3112042409018e-67
(5 rows)
QUERY: SELECT '' AS five, FLOAT8_TBL.*;
five|f1
----+--------------------
|0
|1004.3
|-34.84
|1.2345678901234e+200
|1.2345678901234e-200
(5 rows)
QUERY: UPDATE FLOAT8_TBL
SET f1 = FLOAT8_TBL.f1 * '-1'
WHERE FLOAT8_TBL.f1 > '0.0';
QUERY: SELECT '' AS bad, f.f1 * '1e200' from FLOAT8_TBL f;
ERROR: floating point exception! The last floating point operation either exceeded legal ranges or was a divide by zero
QUERY: SELECT '' AS bad, f.f1 ^ '1e200' from FLOAT8_TBL f;
ERROR: pow() result is out of range
QUERY: SELECT '' AS bad, (; (f.f1)) from FLOAT8_TBL f where f.f1 = '0.0' ;
ERROR: can't take log of zero
QUERY: SELECT '' AS bad, (; (f.f1)) from FLOAT8_TBL f where f.f1 < '0.0' ;
ERROR: can't take log of a negative number
QUERY: SELECT '' AS bad, : (f.f1) from FLOAT8_TBL f;
ERROR: exp() result is out of range
QUERY: SELECT '' AS bad, f.f1 / '0.0' from FLOAT8_TBL f;
ERROR: float8div: divide by zero error
QUERY: SELECT '' AS five, FLOAT8_TBL.*;
five|f1
----+---------------------
|0
|-34.84
|-1004.3
|-1.2345678901234e+200
|-1.2345678901234e-200
(5 rows)
QUERY: INSERT INTO FLOAT8_TBL(f1) VALUES ('10e400');
ERROR: Input '10e400' is out of range for float8
QUERY: INSERT INTO FLOAT8_TBL(f1) VALUES ('-10e400');
ERROR: Input '-10e400' is out of range for float8
QUERY: INSERT INTO FLOAT8_TBL(f1) VALUES ('10e-400');
ERROR: Input '10e-400' is out of range for float8
QUERY: INSERT INTO FLOAT8_TBL(f1) VALUES ('-10e-400');
ERROR: Input '-10e-400' is out of range for float8
QUERY: DELETE FROM FLOAT8_TBL;
QUERY: INSERT INTO FLOAT8_TBL(f1) VALUES ('0.0');
QUERY: INSERT INTO FLOAT8_TBL(f1) VALUES ('-34.84');
QUERY: INSERT INTO FLOAT8_TBL(f1) VALUES ('-1004.30');
QUERY: INSERT INTO FLOAT8_TBL(f1) VALUES ('-1.2345678901234e+200');
QUERY: INSERT INTO FLOAT8_TBL(f1) VALUES ('-1.2345678901234e-200');
QUERY: SELECT '' AS five, FLOAT8_TBL.*;
five|f1
----+---------------------
|0
|-34.84
|-1004.3
|-1.2345678901234e+200
|-1.2345678901234e-200
(5 rows)
QUERY: CREATE TABLE INT2_TBL(f1 int2);
QUERY: INSERT INTO INT2_TBL(f1) VALUES ('0');
QUERY: INSERT INTO INT2_TBL(f1) VALUES ('1234');
QUERY: INSERT INTO INT2_TBL(f1) VALUES ('-1234');
QUERY: INSERT INTO INT2_TBL(f1) VALUES ('34.5');
ERROR: pg_atoi: error in "34.5": can't parse ".5"
QUERY: INSERT INTO INT2_TBL(f1) VALUES ('32767');
QUERY: INSERT INTO INT2_TBL(f1) VALUES ('-32767');
QUERY: INSERT INTO INT2_TBL(f1) VALUES ('100000');
ERROR: pg_atoi: error reading "100000": Result too large
QUERY: INSERT INTO INT2_TBL(f1) VALUES ('asdf');
ERROR: pg_atoi: error in "asdf": can't parse "asdf"
QUERY: SELECT '' AS five, INT2_TBL.*;
five| f1
----+------
| 0
| 1234
| -1234
| 32767
|-32767
(5 rows)
QUERY: SELECT '' AS four, i.* FROM INT2_TBL i WHERE i.f1 <> '0'::int2;
four| f1
----+------
| 1234
| -1234
| 32767
|-32767
(4 rows)
QUERY: SELECT '' AS four, i.* FROM INT2_TBL i WHERE i.f1 <> '0'::int4;
four| f1
----+------
| 1234
| -1234
| 32767
|-32767
(4 rows)
QUERY: SELECT '' AS one, i.* FROM INT2_TBL i WHERE i.f1 = '0'::int2;
one|f1
---+--
| 0
(1 row)
QUERY: SELECT '' AS one, i.* FROM INT2_TBL i WHERE i.f1 = '0'::int4;
one|f1
---+--
| 0
(1 row)
QUERY: SELECT '' AS two, i.* FROM INT2_TBL i WHERE i.f1 < '0'::int2;
two| f1
---+------
| -1234
|-32767
(2 rows)
QUERY: SELECT '' AS two, i.* FROM INT2_TBL i WHERE i.f1 < '0'::int4;
two| f1
---+------
| -1234
|-32767
(2 rows)
QUERY: SELECT '' AS three, i.* FROM INT2_TBL i WHERE i.f1 <= '0'::int2;
three| f1
-----+------
| 0
| -1234
|-32767
(3 rows)
QUERY: SELECT '' AS three, i.* FROM INT2_TBL i WHERE i.f1 <= '0'::int4;
three| f1
-----+------
| 0
| -1234
|-32767
(3 rows)
QUERY: SELECT '' AS two, i.* FROM INT2_TBL i WHERE i.f1 > '0'::int2;
two| f1
---+-----
| 1234
|32767
(2 rows)
QUERY: SELECT '' AS two, i.* FROM INT2_TBL i WHERE i.f1 > '0'::int4;
two| f1
---+-----
| 1234
|32767
(2 rows)
QUERY: SELECT '' AS three, i.* FROM INT2_TBL i WHERE i.f1 >= '0'::int2;
three| f1
-----+-----
| 0
| 1234
|32767
(3 rows)
QUERY: SELECT '' AS three, i.* FROM INT2_TBL i WHERE i.f1 >= '0'::int4;
three| f1
-----+-----
| 0
| 1234
|32767
(3 rows)
QUERY: SELECT '' AS one, i.* FROM INT2_TBL i WHERE (i.f1 % '2'::int2) = '1'::int2;
one| f1
---+-----
|32767
(1 row)
QUERY: SELECT '' AS three, i.* FROM INT2_TBL i WHERE (i.f1 % '2'::int4) = '0'::int2;
three| f1
-----+-----
| 0
| 1234
|-1234
(3 rows)
QUERY: SELECT '' AS five, i.f1, i.f1 * '2'::int2 AS x FROM INT2_TBL i;
five| f1| x
----+------+-----
| 0| 0
| 1234| 2468
| -1234|-2468
| 32767| -2
|-32767| 2
(5 rows)
QUERY: SELECT '' AS five, i.f1, i.f1 * '2'::int4 AS x FROM INT2_TBL i;
five| f1| x
----+------+------
| 0| 0
| 1234| 2468
| -1234| -2468
| 32767| 65534
|-32767|-65534
(5 rows)
QUERY: SELECT '' AS five, i.f1, i.f1 + '2'::int2 AS x FROM INT2_TBL i;
five| f1| x
----+------+------
| 0| 2
| 1234| 1236
| -1234| -1232
| 32767|-32767
|-32767|-32765
(5 rows)
QUERY: SELECT '' AS five, i.f1, i.f1 + '2'::int4 AS x FROM INT2_TBL i;
five| f1| x
----+------+------
| 0| 2
| 1234| 1236
| -1234| -1232
| 32767| 32769
|-32767|-32765
(5 rows)
QUERY: SELECT '' AS five, i.f1, i.f1 - '2'::int2 AS x FROM INT2_TBL i;
five| f1| x
----+------+-----
| 0| -2
| 1234| 1232
| -1234|-1236
| 32767|32765
|-32767|32767
(5 rows)
QUERY: SELECT '' AS five, i.f1, i.f1 - '2'::int4 AS x FROM INT2_TBL i;
five| f1| x
----+------+------
| 0| -2
| 1234| 1232
| -1234| -1236
| 32767| 32765
|-32767|-32769
(5 rows)
QUERY: SELECT '' AS five, i.f1, i.f1 / '2'::int2 AS x FROM INT2_TBL i;
five| f1| x
----+------+------
| 0| 0
| 1234| 617
| -1234| -617
| 32767| 16383
|-32767|-16383
(5 rows)
QUERY: SELECT '' AS five, i.f1, i.f1 / '2'::int4 AS x FROM INT2_TBL i;
five| f1| x
----+------+------
| 0| 0
| 1234| 617
| -1234| -617
| 32767| 16383
|-32767|-16383
(5 rows)
QUERY: CREATE TABLE INT4_TBL(f1 int4);
QUERY: INSERT INTO INT4_TBL(f1) VALUES ('0');
QUERY: INSERT INTO INT4_TBL(f1) VALUES ('123456');
QUERY: INSERT INTO INT4_TBL(f1) VALUES ('-123456');
QUERY: INSERT INTO INT4_TBL(f1) VALUES ('34.5');
ERROR: pg_atoi: error in "34.5": can't parse ".5"
QUERY: INSERT INTO INT4_TBL(f1) VALUES ('2147483647');
QUERY: INSERT INTO INT4_TBL(f1) VALUES ('-2147483647');
QUERY: INSERT INTO INT4_TBL(f1) VALUES ('1000000000000');
ERROR: pg_atoi: error reading "1000000000000": Result too large
QUERY: INSERT INTO INT4_TBL(f1) VALUES ('asdf');
ERROR: pg_atoi: error in "asdf": can't parse "asdf"
QUERY: SELECT '' AS five, INT4_TBL.*;
five| f1
----+-----------
| 0
| 123456
| -123456
| 2147483647
|-2147483647
(5 rows)
QUERY: SELECT '' AS four, i.* FROM INT4_TBL i WHERE i.f1 <> '0'::int2;
four| f1
----+-----------
| 123456
| -123456
| 2147483647
|-2147483647
(4 rows)
QUERY: SELECT '' AS four, i.* FROM INT4_TBL i WHERE i.f1 <> '0'::int4;
four| f1
----+-----------
| 123456
| -123456
| 2147483647
|-2147483647
(4 rows)
QUERY: SELECT '' AS one, i.* FROM INT4_TBL i WHERE i.f1 = '0'::int2;
one|f1
---+--
| 0
(1 row)
QUERY: SELECT '' AS one, i.* FROM INT4_TBL i WHERE i.f1 = '0'::int4;
one|f1
---+--
| 0
(1 row)
QUERY: SELECT '' AS two, i.* FROM INT4_TBL i WHERE i.f1 < '0'::int2;
two| f1
---+-----------
| -123456
|-2147483647
(2 rows)
QUERY: SELECT '' AS two, i.* FROM INT4_TBL i WHERE i.f1 < '0'::int4;
two| f1
---+-----------
| -123456
|-2147483647
(2 rows)
QUERY: SELECT '' AS three, i.* FROM INT4_TBL i WHERE i.f1 <= '0'::int2;
three| f1
-----+-----------
| 0
| -123456
|-2147483647
(3 rows)
QUERY: SELECT '' AS three, i.* FROM INT4_TBL i WHERE i.f1 <= '0'::int4;
three| f1
-----+-----------
| 0
| -123456
|-2147483647
(3 rows)
QUERY: SELECT '' AS two, i.* FROM INT4_TBL i WHERE i.f1 > '0'::int2;
two| f1
---+----------
| 123456
|2147483647
(2 rows)
QUERY: SELECT '' AS two, i.* FROM INT4_TBL i WHERE i.f1 > '0'::int4;
two| f1
---+----------
| 123456
|2147483647
(2 rows)
QUERY: SELECT '' AS three, i.* FROM INT4_TBL i WHERE i.f1 >= '0'::int2;
three| f1
-----+----------
| 0
| 123456
|2147483647
(3 rows)
QUERY: SELECT '' AS three, i.* FROM INT4_TBL i WHERE i.f1 >= '0'::int4;
three| f1
-----+----------
| 0
| 123456
|2147483647
(3 rows)
QUERY: SELECT '' AS one, i.* FROM INT4_TBL i WHERE (i.f1 % '2'::int2) = '1'::int2;
one| f1
---+----------
|2147483647
(1 row)
QUERY: SELECT '' AS three, i.* FROM INT4_TBL i WHERE (i.f1 % '2'::int4) = '0'::int2;
three| f1
-----+-------
| 0
| 123456
|-123456
(3 rows)
QUERY: SELECT '' AS five, i.f1, i.f1 * '2'::int2 AS x FROM INT4_TBL i;
five| f1| x
----+-----------+-------
| 0| 0
| 123456| 246912
| -123456|-246912
| 2147483647| -2
|-2147483647| 2
(5 rows)
QUERY: SELECT '' AS five, i.f1, i.f1 * '2'::int4 AS x FROM INT4_TBL i;
five| f1| x
----+-----------+-------
| 0| 0
| 123456| 246912
| -123456|-246912
| 2147483647| -2
|-2147483647| 2
(5 rows)
QUERY: SELECT '' AS five, i.f1, i.f1 + '2'::int2 AS x FROM INT4_TBL i;
five| f1| x
----+-----------+-----------
| 0| 2
| 123456| 123458
| -123456| -123454
| 2147483647|-2147483647
|-2147483647|-2147483645
(5 rows)
QUERY: SELECT '' AS five, i.f1, i.f1 + '2'::int4 AS x FROM INT4_TBL i;
five| f1| x
----+-----------+-----------
| 0| 2
| 123456| 123458
| -123456| -123454
| 2147483647|-2147483647
|-2147483647|-2147483645
(5 rows)
QUERY: SELECT '' AS five, i.f1, i.f1 - '2'::int2 AS x FROM INT4_TBL i;
five| f1| x
----+-----------+----------
| 0| -2
| 123456| 123454
| -123456| -123458
| 2147483647|2147483645
|-2147483647|2147483647
(5 rows)
QUERY: SELECT '' AS five, i.f1, i.f1 - '2'::int4 AS x FROM INT4_TBL i;
five| f1| x
----+-----------+----------
| 0| -2
| 123456| 123454
| -123456| -123458
| 2147483647|2147483645
|-2147483647|2147483647
(5 rows)
QUERY: SELECT '' AS five, i.f1, i.f1 / '2'::int2 AS x FROM INT4_TBL i;
five| f1| x
----+-----------+-----------
| 0| 0
| 123456| 61728
| -123456| -61728
| 2147483647| 1073741823
|-2147483647|-1073741823
(5 rows)
QUERY: SELECT '' AS five, i.f1, i.f1 / '2'::int4 AS x FROM INT4_TBL i;
five| f1| x
----+-----------+-----------
| 0| 0
| 123456| 61728
| -123456| -61728
| 2147483647| 1073741823
|-2147483647|-1073741823
(5 rows)
QUERY: SELECT -2+3 AS one;
one
---
1
(1 row)
QUERY: SELECT 4-2 AS two;
two
---
2
(1 row)
QUERY: SELECT 2- -1 AS three;
three
-----
3
(1 row)
QUERY: SELECT 2 - -2 AS four;
four
----
4
(1 row)
QUERY: SELECT '2'::int2 * '2'::int2 = '16'::int2 / '4'::int2 AS true;
true
----
t
(1 row)
QUERY: SELECT '2'::int4 * '2'::int2 = '16'::int2 / '4'::int4 AS true;
true
----
t
(1 row)
QUERY: SELECT '2'::int2 * '2'::int4 = '16'::int4 / '4'::int2 AS true;
true
----
t
(1 row)
QUERY: SELECT '1000'::int4 < '999'::int4 AS false;
false
-----
f
(1 row)
QUERY: SELECT 4! AS twenty_four;
twenty_four
-----------
24
(1 row)
QUERY: SELECT !!3 AS six;
six
---
6
(1 row)
QUERY: SELECT 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 AS ten;
ten
---
10
(1 row)
QUERY: SELECT 2 + 2 / 2 AS three;
three
-----
3
(1 row)
QUERY: SELECT (2 + 2) / 2 AS two;
two
---
2
(1 row)
QUERY: SELECT dsqrt('64'::float8) AS eight;
eight
-----
8
(1 row)
QUERY: SELECT |/'64'::float8 AS eight;
eight
-----
8
(1 row)
QUERY: SELECT ||/'27'::float8 AS three;
three
-----
3
(1 row)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment