On Sunday, September 21, 2025, Jim Jones <[email protected]> wrote:
> Hi Pavel > > On 9/21/25 14:33, Pavel Stehule wrote: > > i understand your motivation, but with this warning temp tables cannot > > be used in SQL function due log overhead. > > My intention was not to warn on every function call. The WARNING is only > emitted once at CREATE FUNCTION time, similar to how CREATE VIEW warns > if a view depends on a temporary relation. After creation, the function > can still be used normally without additional log overhead. Is there a > side effect I might be overlooking here? > I’m surprised that this is how the system works and I agree that either we should add this notice or remove the one for create view. Even more because there is no syntax for directly creating a temporary function - this is basically executing drop…cascade on the temporary relation. Which then leads me to wonder whether selecting from a temporary view is is detected here. One argument for leaving the status quote, which is a decent one, is that one can prevent the create view from emitting the notice via adding temporary to the SQL command - there is no such ability for create function. If added this should be a notice, not a warning, so least min messages can be used to ignore it reasonably. I’d rather we take this one step further and add “temp” to “create function” and make this behave exactly identical to “create [temp] view” than put in this half-measure where you get a notice without any way to suppress it specifically. David J.
