pg.ddx.io  pgsql-docs@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Nikolaus Thiel <klt@fsfe.org>
To: pgsql-docs@postgresql.org
Subject: Bad return type in example
Date: Wed, 8 Mar 2017 10:00:27 +0100
Message-ID: <f37673c3-8786-b493-e244-93b7dc28028e@fsfe.org> (raw)
List-Unsubscribe: <mailto:majordomo@postgresql.org?body=unsub%20pgsql-docs>

  * 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

Attachments:

  signature.asc (application/pgp-signature, 841B) download

view thread (2+ messages)  latest in thread

Message-ID: <f37673c3-8786-b493-e244-93b7dc28028e@fsfe.org>
Permalink:  ../f37673c3-8786-b493-e244-93b7dc28028e@fsfe.org/
Also on:    postgresql.org/message-id/f37673c3-8786-b493-e244-93b7dc28028e@fsfe.org

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-docs@postgresql.org
  Cc: klt@fsfe.org
  Subject: Re: Bad return type in example
  In-Reply-To: <f37673c3-8786-b493-e244-93b7dc28028e@fsfe.org>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox