Thread: [DOCS] Bad return type in example
- postgresql-9.6-A4.pdf, page 891
- https://www.postgresql.org/docs/9.6/static/xfunc-sql.html#XFUNC-SQL-BASE-FUNCTIONS
Dear Doc Writers,
Would it not be better to change the return type of the following two sample functions to numeric ?
CREATE FUNCTION tf1 (accountno integer, debit numeric) RETURNS integer AS $$
UPDATE bank
SET balance = balance - debit
WHERE accountno = tf1.accountno;
SELECT balance FROM bank WHERE accountno = tf1.accountno;
$$ LANGUAGE SQL;
CREATE FUNCTION tf1 (accountno integer, debit numeric) RETURNS integer AS $$
UPDATE bank
SET balance = balance - debit
WHERE accountno = tf1.accountno
RETURNING balance;
$$ LANGUAGE SQL;
Since debit is of type numeric, balance is (probably) numeric too, so the function ought to return numeric. I guess that the function works as it is using implicit type cast.
With best regards,
Nikolaus Thiel
Attachment
On 3/8/17 04:00, Nikolaus Thiel wrote: > * postgresql-9.6-A4.pdf, page 891 > * https://www.postgresql.org/docs/9.6/static/xfunc-sql.html#XFUNC-SQL-BASE-FUNCTIONS > > Dear Doc Writers, > > Would it not be better to change the return type of the following two > sample functions to numeric ? fixed > > > CREATE FUNCTION tf1 (accountno integer, debit numeric) RETURNS integer AS $$ > UPDATE bank > SET balance = balance - debit > WHERE accountno = tf1.accountno; > SELECT balance FROM bank WHERE accountno = tf1.accountno; > $$ LANGUAGE SQL; -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services