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
|
log_table | f
|
||||||
lseg_tbl | f
|
lseg_tbl | f
|
||||||
main_table | f
|
main_table | f
|
||||||
|
money_data | f
|
||||||
num_data | f
|
num_data | f
|
||||||
num_exp_add | t
|
num_exp_add | t
|
||||||
num_exp_div | t
|
num_exp_div | t
|
||||||
@ -148,7 +149,7 @@ SELECT relname, relhasindex
|
|||||||
timetz_tbl | f
|
timetz_tbl | f
|
||||||
tinterval_tbl | f
|
tinterval_tbl | f
|
||||||
varchar_tbl | f
|
varchar_tbl | f
|
||||||
(137 rows)
|
(138 rows)
|
||||||
|
|
||||||
--
|
--
|
||||||
-- another sanity check: every system catalog that has OIDs should have
|
-- another sanity check: every system catalog that has OIDs should have
|
||||||
|
@ -626,6 +626,7 @@ SELECT user_relns() AS user_relns
|
|||||||
log_table
|
log_table
|
||||||
lseg_tbl
|
lseg_tbl
|
||||||
main_table
|
main_table
|
||||||
|
money_data
|
||||||
num_data
|
num_data
|
||||||
num_exp_add
|
num_exp_add
|
||||||
num_exp_div
|
num_exp_div
|
||||||
@ -666,7 +667,7 @@ SELECT user_relns() AS user_relns
|
|||||||
toyemp
|
toyemp
|
||||||
varchar_tbl
|
varchar_tbl
|
||||||
xacttest
|
xacttest
|
||||||
(100 rows)
|
(101 rows)
|
||||||
|
|
||||||
SELECT name(equipment(hobby_construct(text 'skywalking', text 'mer')));
|
SELECT name(equipment(hobby_construct(text 'skywalking', text 'mer')));
|
||||||
name
|
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;
|
# 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.
|
# this limits the number of connections needed to run the tests.
|
||||||
@ -8,7 +8,7 @@
|
|||||||
# ----------
|
# ----------
|
||||||
# The first group of parallel tests
|
# 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
|
# Depends on things setup during char, varchar and text
|
||||||
test: strings
|
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