Willem Buitendyk <willem@pcfish.ca> writes:
> I have the following function that returns the first day of the next
> month from whatever date is inserted. If I use this as part of a select
> statement then it takes almost twice as long to perform. Is this
> because for each scanned record this function is being called? If so
> any ideas how I could make this only occur once?
Don't declare it VOLATILE, when (AFAICS) you have no reason to.
It would be evaluated only once if it were marked IMMUTABLE.
BTW, I think you're doing it the hard way --- this could almost
certainly be a one-liner if you were using the available date
arithmetic facilities.
regards, tom lane