Skip site navigation (1) Skip section navigation (2)

Re: BUG #2389: function within function return value

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "James M Doherty" <jim(at)jdoherty(dot)net>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #2389: function within function return value
Date: 2006-04-13 16:51:15
Message-ID: 21088.1144947075@sss.pgh.pa.us (view raw or flat)
Thread:
Lists: pgsql-bugs
"James M Doherty" <jim(at)jdoherty(dot)net> writes:
> The above function is called as follows:
> trec.tot_value   :=
> get_glaccttotals(RECORD_DATE,BANKID,''A500000'',''A500299'');
> The result is always null.

It's impossible to do much with this when you have not shown us a
complete test case, but I'm wondering if your calling function is
passing parameter values that don't match anything in the
bank_balance_sheet table.  That would cause the sum() to return
null and then total_due would go to null as well.

It's pretty bogus that SQL defines sum() over no rows to return
null rather than zero, but the spec is perfectly clear about it.
You might want to change sum(bbs.bbs_current_balance) to
coalesce(sum(bbs.bbs_current_balance), 0) if you need to deal with
such situations.

			regards, tom lane

In response to

pgsql-bugs by date

Next:From: Tom LaneDate: 2006-04-13 16:55:41
Subject: Re: BUG #2391: "Similar to" pattern matching does not operate as documented
Previous:From: Tom LaneDate: 2006-04-13 16:43:16
Subject: Re: BUG #2390: check constraint

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group