mirror of
https://github.com/postgres/postgres.git
synced 2025-05-06 19:59:18 +03:00
Add regression tests for MONEY type.
This commit is contained in:
parent
aca467b9b3
commit
03debe19a7
187
src/test/regress/expected/money.out
Normal file
187
src/test/regress/expected/money.out
Normal file
@ -0,0 +1,187 @@
|
||||
--
|
||||
-- MONEY
|
||||
--
|
||||
CREATE TABLE money_data (m money);
|
||||
INSERT INTO money_data VALUES ('123');
|
||||
SELECT * FROM money_data;
|
||||
m
|
||||
---------
|
||||
$123.00
|
||||
(1 row)
|
||||
|
||||
SELECT m + '123' FROM money_data;
|
||||
?column?
|
||||
----------
|
||||
$246.00
|
||||
(1 row)
|
||||
|
||||
SELECT m + '123.45' FROM money_data;
|
||||
?column?
|
||||
----------
|
||||
$246.45
|
||||
(1 row)
|
||||
|
||||
SELECT m - '123.45' FROM money_data;
|
||||
?column?
|
||||
----------
|
||||
-$0.45
|
||||
(1 row)
|
||||
|
||||
SELECT m * 2 FROM money_data;
|
||||
?column?
|
||||
----------
|
||||
$246.00
|
||||
(1 row)
|
||||
|
||||
SELECT m / 2 FROM money_data;
|
||||
?column?
|
||||
----------
|
||||
$61.50
|
||||
(1 row)
|
||||
|
||||
-- All true
|
||||
SELECT m = '$123.00' FROM money_data;
|
||||
?column?
|
||||
----------
|
||||
t
|
||||
(1 row)
|
||||
|
||||
SELECT m != '$124.00' FROM money_data;
|
||||
?column?
|
||||
----------
|
||||
t
|
||||
(1 row)
|
||||
|
||||
SELECT m <= '$123.00' FROM money_data;
|
||||
?column?
|
||||
----------
|
||||
t
|
||||
(1 row)
|
||||
|
||||
SELECT m >= '$123.00' FROM money_data;
|
||||
?column?
|
||||
----------
|
||||
t
|
||||
(1 row)
|
||||
|
||||
SELECT m < '$124.00' FROM money_data;
|
||||
?column?
|
||||
----------
|
||||
t
|
||||
(1 row)
|
||||
|
||||
SELECT m > '$122.00' FROM money_data;
|
||||
?column?
|
||||
----------
|
||||
t
|
||||
(1 row)
|
||||
|
||||
-- All false
|
||||
SELECT m = '$123.01' FROM money_data;
|
||||
?column?
|
||||
----------
|
||||
f
|
||||
(1 row)
|
||||
|
||||
SELECT m != '$123.00' FROM money_data;
|
||||
?column?
|
||||
----------
|
||||
f
|
||||
(1 row)
|
||||
|
||||
SELECT m <= '$122.99' FROM money_data;
|
||||
?column?
|
||||
----------
|
||||
f
|
||||
(1 row)
|
||||
|
||||
SELECT m >= '$123.01' FROM money_data;
|
||||
?column?
|
||||
----------
|
||||
f
|
||||
(1 row)
|
||||
|
||||
SELECT m > '$124.00' FROM money_data;
|
||||
?column?
|
||||
----------
|
||||
f
|
||||
(1 row)
|
||||
|
||||
SELECT m < '$122.00' FROM money_data;
|
||||
?column?
|
||||
----------
|
||||
f
|
||||
(1 row)
|
||||
|
||||
SELECT cashlarger(m, '$124.00') FROM money_data;
|
||||
cashlarger
|
||||
------------
|
||||
$124.00
|
||||
(1 row)
|
||||
|
||||
SELECT cashsmaller(m, '$124.00') FROM money_data;
|
||||
cashsmaller
|
||||
-------------
|
||||
$123.00
|
||||
(1 row)
|
||||
|
||||
SELECT cash_words(m) FROM money_data;
|
||||
cash_words
|
||||
-------------------------------------------------
|
||||
One hundred twenty three dollars and zero cents
|
||||
(1 row)
|
||||
|
||||
SELECT cash_words(m + '1.23') FROM money_data;
|
||||
cash_words
|
||||
--------------------------------------------------------
|
||||
One hundred twenty four dollars and twenty three cents
|
||||
(1 row)
|
||||
|
||||
DELETE FROM money_data;
|
||||
INSERT INTO money_data VALUES ('$123.45');
|
||||
SELECT * FROM money_data;
|
||||
m
|
||||
---------
|
||||
$123.45
|
||||
(1 row)
|
||||
|
||||
DELETE FROM money_data;
|
||||
INSERT INTO money_data VALUES ('$123.451');
|
||||
SELECT * FROM money_data;
|
||||
m
|
||||
---------
|
||||
$123.45
|
||||
(1 row)
|
||||
|
||||
DELETE FROM money_data;
|
||||
INSERT INTO money_data VALUES ('$123.454');
|
||||
SELECT * FROM money_data;
|
||||
m
|
||||
---------
|
||||
$123.45
|
||||
(1 row)
|
||||
|
||||
DELETE FROM money_data;
|
||||
INSERT INTO money_data VALUES ('$123.455');
|
||||
SELECT * FROM money_data;
|
||||
m
|
||||
---------
|
||||
$123.46
|
||||
(1 row)
|
||||
|
||||
DELETE FROM money_data;
|
||||
INSERT INTO money_data VALUES ('$123.456');
|
||||
SELECT * FROM money_data;
|
||||
m
|
||||
---------
|
||||
$123.46
|
||||
(1 row)
|
||||
|
||||
DELETE FROM money_data;
|
||||
INSERT INTO money_data VALUES ('$123.459');
|
||||
SELECT * FROM money_data;
|
||||
m
|
||||
---------
|
||||
$123.46
|
||||
(1 row)
|
||||
|
@ -66,6 +66,7 @@ SELECT relname, relhasindex
|
||||
log_table | f
|
||||
lseg_tbl | f
|
||||
main_table | f
|
||||
money_data | f
|
||||
num_data | f
|
||||
num_exp_add | t
|
||||
num_exp_div | t
|
||||
@ -148,7 +149,7 @@ SELECT relname, relhasindex
|
||||
timetz_tbl | f
|
||||
tinterval_tbl | f
|
||||
varchar_tbl | f
|
||||
(137 rows)
|
||||
(138 rows)
|
||||
|
||||
--
|
||||
-- another sanity check: every system catalog that has OIDs should have
|
||||
|
@ -626,6 +626,7 @@ SELECT user_relns() AS user_relns
|
||||
log_table
|
||||
lseg_tbl
|
||||
main_table
|
||||
money_data
|
||||
num_data
|
||||
num_exp_add
|
||||
num_exp_div
|
||||
@ -666,7 +667,7 @@ SELECT user_relns() AS user_relns
|
||||
toyemp
|
||||
varchar_tbl
|
||||
xacttest
|
||||
(100 rows)
|
||||
(101 rows)
|
||||
|
||||
SELECT name(equipment(hobby_construct(text 'skywalking', text 'mer')));
|
||||
name
|
||||
|
@ -1,5 +1,5 @@
|
||||
# ----------
|
||||
# $PostgreSQL: pgsql/src/test/regress/parallel_schedule,v 1.45 2007/10/13 23:06:27 tgl Exp $
|
||||
# $PostgreSQL: pgsql/src/test/regress/parallel_schedule,v 1.46 2007/11/24 19:49:23 darcy Exp $
|
||||
#
|
||||
# By convention, we put no more than twenty tests in any one parallel group;
|
||||
# this limits the number of connections needed to run the tests.
|
||||
@ -8,7 +8,7 @@
|
||||
# ----------
|
||||
# The first group of parallel tests
|
||||
# ----------
|
||||
test: boolean char name varchar text int2 int4 int8 oid float4 float8 bit numeric txid uuid enum
|
||||
test: boolean char name varchar text int2 int4 int8 oid float4 float8 bit numeric txid uuid enum money
|
||||
|
||||
# Depends on things setup during char, varchar and text
|
||||
test: strings
|
||||
|
59
src/test/regress/sql/money.sql
Normal file
59
src/test/regress/sql/money.sql
Normal file
@ -0,0 +1,59 @@
|
||||
--
|
||||
-- MONEY
|
||||
--
|
||||
|
||||
CREATE TABLE money_data (m money);
|
||||
|
||||
INSERT INTO money_data VALUES ('123');
|
||||
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 FROM money_data;
|
||||
SELECT m / 2 FROM money_data;
|
||||
|
||||
-- All true
|
||||
SELECT m = '$123.00' FROM money_data;
|
||||
SELECT m != '$124.00' FROM money_data;
|
||||
SELECT m <= '$123.00' FROM money_data;
|
||||
SELECT m >= '$123.00' FROM money_data;
|
||||
SELECT m < '$124.00' FROM money_data;
|
||||
SELECT m > '$122.00' FROM money_data;
|
||||
|
||||
-- All false
|
||||
SELECT m = '$123.01' FROM money_data;
|
||||
SELECT m != '$123.00' FROM money_data;
|
||||
SELECT m <= '$122.99' FROM money_data;
|
||||
SELECT m >= '$123.01' FROM money_data;
|
||||
SELECT m > '$124.00' FROM money_data;
|
||||
SELECT m < '$122.00' FROM money_data;
|
||||
|
||||
SELECT cashlarger(m, '$124.00') FROM money_data;
|
||||
SELECT cashsmaller(m, '$124.00') FROM money_data;
|
||||
SELECT cash_words(m) FROM money_data;
|
||||
SELECT cash_words(m + '1.23') FROM money_data;
|
||||
|
||||
DELETE FROM money_data;
|
||||
INSERT INTO money_data VALUES ('$123.45');
|
||||
SELECT * FROM money_data;
|
||||
|
||||
DELETE FROM money_data;
|
||||
INSERT INTO money_data VALUES ('$123.451');
|
||||
SELECT * FROM money_data;
|
||||
|
||||
DELETE FROM money_data;
|
||||
INSERT INTO money_data VALUES ('$123.454');
|
||||
SELECT * FROM money_data;
|
||||
|
||||
DELETE FROM money_data;
|
||||
INSERT INTO money_data VALUES ('$123.455');
|
||||
SELECT * FROM money_data;
|
||||
|
||||
DELETE FROM money_data;
|
||||
INSERT INTO money_data VALUES ('$123.456');
|
||||
SELECT * FROM money_data;
|
||||
|
||||
DELETE FROM money_data;
|
||||
INSERT INTO money_data VALUES ('$123.459');
|
||||
SELECT * FROM money_data;
|
||||
|
Loading…
x
Reference in New Issue
Block a user