git.postgresql.org Git - postgresql.git/commitdiff

git projects / postgresql.git / commitdiff
? search:
summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 6fc5479)
Add more tests for money type
Wed, 4 Jan 2017 17:00:00 +0000 (12:00 -0500)
2017年1月17日 17:35:53 +0000 (12:35 -0500)
Add tests for functions currently not covered at all.

Reviewed-by: Pavel Stehule <pavel.stehule@gmail.com>

diff --git a/src/test/regress/expected/money.out b/src/test/regress/expected/money.out
index 5695f87500671b4593834c09137fa2bcc252e42f..a05fdd9f422590828071e3450aa5b3b4e3eec7bf 100644 (file)
--- a/src/test/regress/expected/money.out
+++ b/src/test/regress/expected/money.out
@@ -27,18 +27,84 @@ SELECT m - '123.45' FROM money_data;
-0ドル.45
(1 row)
+SELECT m / '2'::money FROM money_data;
+ ?column?
+----------
+ 61.5
+(1 row)
+
SELECT m * 2 FROM money_data;
?column?
----------
246ドル.00
(1 row)
+SELECT 2 * m FROM money_data;
+ ?column?
+----------
+ 246ドル.00
+(1 row)
+
SELECT m / 2 FROM money_data;
?column?
----------
61ドル.50
(1 row)
+SELECT m * 2::int2 FROM money_data;
+ ?column?
+----------
+ 246ドル.00
+(1 row)
+
+SELECT 2::int2 * m FROM money_data;
+ ?column?
+----------
+ 246ドル.00
+(1 row)
+
+SELECT m / 2::int2 FROM money_data;
+ ?column?
+----------
+ 61ドル.50
+(1 row)
+
+SELECT m * 2::float8 FROM money_data;
+ ?column?
+----------
+ 246ドル.00
+(1 row)
+
+SELECT 2::float8 * m FROM money_data;
+ ?column?
+----------
+ 246ドル.00
+(1 row)
+
+SELECT m / 2::float8 FROM money_data;
+ ?column?
+----------
+ 61ドル.50
+(1 row)
+
+SELECT m * 2::float4 FROM money_data;
+ ?column?
+----------
+ 246ドル.00
+(1 row)
+
+SELECT 2::float4 * m FROM money_data;
+ ?column?
+----------
+ 246ドル.00
+(1 row)
+
+SELECT m / 2::float4 FROM money_data;
+ ?column?
+----------
+ 61ドル.50
+(1 row)
+
-- All true
SELECT m = '123ドル.00' FROM money_data;
?column?
@@ -275,7 +341,7 @@ SELECT '92233720368547758.075'::money;
ERROR: value "92233720368547758.075" is out of range for type money
LINE 1: SELECT '92233720368547758.075'::money;
^
--- Cast int4/int8 to money
+-- Cast int4/int8/numeric to money
SELECT 1234567890::money;
money
-------------------
@@ -318,6 +384,12 @@ SELECT 12345678901234567::int8::money;
12,345,678,901,234,567ドル.00
(1 row)
+SELECT 12345678901234567::numeric::money;
+ money
+----------------------------
+ 12,345,678,901,234,567ドル.00
+(1 row)
+
SELECT (-1234567890)::int4::money;
money
--------------------
@@ -330,3 +402,22 @@ SELECT (-12345678901234567)::int8::money;
-12,345,678,901,234,567ドル.00
(1 row)
+SELECT (-12345678901234567)::numeric::money;
+ money
+-----------------------------
+ -12,345,678,901,234,567ドル.00
+(1 row)
+
+-- Cast from money
+SELECT '12345678901234567'::money::numeric;
+ numeric
+----------------------
+ 12345678901234567.00
+(1 row)
+
+SELECT '-12345678901234567'::money::numeric;
+ numeric
+-----------------------
+ -12345678901234567.00
+(1 row)
+
diff --git a/src/test/regress/sql/money.sql b/src/test/regress/sql/money.sql
index 561ccb527f8fd8a22431212bc5f73f9924e6cc2f..9e89e32d77345e27aa236486fe372cf8186f0c54 100644 (file)
--- a/src/test/regress/sql/money.sql
+++ b/src/test/regress/sql/money.sql
@@ -9,8 +9,19 @@ SELECT * FROM money_data;
SELECT m + '123' FROM money_data;
SELECT m + '123.45' FROM money_data;
SELECT m - '123.45' FROM money_data;
+SELECT m / '2'::money FROM money_data;
SELECT m * 2 FROM money_data;
+SELECT 2 * m FROM money_data;
SELECT m / 2 FROM money_data;
+SELECT m * 2::int2 FROM money_data;
+SELECT 2::int2 * m FROM money_data;
+SELECT m / 2::int2 FROM money_data;
+SELECT m * 2::float8 FROM money_data;
+SELECT 2::float8 * m FROM money_data;
+SELECT m / 2::float8 FROM money_data;
+SELECT m * 2::float4 FROM money_data;
+SELECT 2::float4 * m FROM money_data;
+SELECT m / 2::float4 FROM money_data;
-- All true
SELECT m = '123ドル.00' FROM money_data;
@@ -83,7 +94,7 @@ SELECT '92233720368547758.08'::money;
SELECT '-92233720368547758.085'::money;
SELECT '92233720368547758.075'::money;
--- Cast int4/int8 to money
+-- Cast int4/int8/numeric to money
SELECT 1234567890::money;
SELECT 12345678901234567::money;
SELECT (-12345)::money;
@@ -91,5 +102,11 @@ SELECT (-1234567890)::money;
SELECT (-12345678901234567)::money;
SELECT 1234567890::int4::money;
SELECT 12345678901234567::int8::money;
+SELECT 12345678901234567::numeric::money;
SELECT (-1234567890)::int4::money;
SELECT (-12345678901234567)::int8::money;
+SELECT (-12345678901234567)::numeric::money;
+
+-- Cast from money
+SELECT '12345678901234567'::money::numeric;
+SELECT '-12345678901234567'::money::numeric;
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /