I'll be hornswoggled: that works.
I hadn't expected a problem, simply because I knew the range in advance:
here is the distribution for the select that I was working with:
extracts=# select billing_frequency, count (*) from report_table group by
billing_frequency;
billing_frequency | count
-------------------+-------
Monthly | 50431
Quarterly | 7742
Semi-Annual | 167
Yearly | 8573
(4 rows)
Nevertheless, just adding an "...else return new;" did the trick.
I don't understand the logic of this, but then, if I stopped to consider
every mystery, I'd never get any work done:-).
Thanks very much for your help (again).
> -----Original Message-----
> From: Tom Lane [SMTP:[EMAIL PROTECTED]]
> Sent: Wednesday, February 07, 2001 12:48 PM
> To: Jeff Eckermann
> Cc: '[EMAIL PROTECTED]'
> Subject: Re: [SQL] Use of RETURN in pl/pgsql function
>
> Jeff Eckermann <[EMAIL PROTECTED]> writes:
> > I thought (based on recent posts) that this use of RETURN is allowed,
> but
> > when trying an insert to report_table, I get the following error:
> > ERROR: control reaches end of trigger procedure without RETURN
>
> Looks to me like you didn't cover the case where billing_frequency is
> not any of the values you tested for. Maybe you just want to raise
> an error in that case...
>
> regards, tom lane