Willem Buitendyk <willem@xxxxxxxxx> 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 ---------------------------(end of broadcast)--------------------------- TIP 6: explain analyze is your friend