Re: proposal: new contrib module plpgsql's embeded sql validator - Mailing list pgsql-hackers

From Jim Nasby
Subject Re: proposal: new contrib module plpgsql's embeded sql validator
Date
Msg-id CD8B5F74-2D12-4B23-A5A7-F61808AF78C0@nasby.net
Whole thread Raw
In response to Re: proposal: new contrib module plpgsql's embeded sql validator  (Pavel Stehule <pavel.stehule@gmail.com>)
Responses Re: proposal: new contrib module plpgsql's embeded sql validator
List pgsql-hackers
On Jul 19, 2011, at 10:51 PM, Pavel Stehule wrote:
>> If you mean that such checks would be done automatically, no, they
>> shouldn't be.  Consider a function that creates a table and then uses
>> it, or even just depends on using a table that doesn't yet exist when
>> you do CREATE FUNCTION.
>
> yes, any deep check is not possible for function that uses a temporary tables.
>
> A plpgsql_lint is not silver bullet - for these cases is necessary to
> disable lint.
>
> . I can't to speak generally - I have no idea, how much percent of
> functions are functions with access to temporary tables - in my last
> project I use 0 temp tables on cca 300 KB of plpgsql code.
>
> The more terrible problem is a new dependency between functions. I use
> a workaround - some like headers

You can work around temp table issues the same way: just define the temp table before you create the function.

In practice, if I have a function that depends on a temp table it either creates it itself if it doesn't already exist
orI have a separate function to create the table; that way you have a single place that has the temp table definition,
andthat is in the database itself. 
--
Jim C. Nasby, Database Architect                   jim@nasby.net
512.569.9461 (cell)                         http://jim.nasby.net




pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: storing TZ along timestamps
Next
From: Robert Haas
Date:
Subject: Re: sinval synchronization considered harmful