On Fri, Dec 2, 2011 at 12:45 PM, John Craig
<[email protected]> wrote:

<snip>

> I would vote for not depending upon the schema search path (that is, do not 
> use a schema search path, but rather always fully qualify object names). 
> Ensuring that the code is as human-friendly as possible (including to 
> newbies) seems to me to be a goal that is even more important in the open 
> source world than it is in a closed-source project. This was brought home to 
> me very strongly yesterday when I had an intern running the 2.0 to 2.1 
> upgrade script. Having encountered the error message from Postgres that said 
> this:
>
> ERROR: function array_remove_item_by_value(text[], unknown) does not exist
> ...
> HINT: No function matches the given name and argument types. You might need 
> to add explicit type casts.

<snip>

I could counter with "relying exclusively on explicitly qualified
functions considered harmful" as an instance of "evergreen.is_json()"
that was fully qualified failing during my upgrade process because the
version I had was "public.is_json()". If we had relied on the search
path instead of an explicitly qualified function, that wouldn't have
been a problem. In that case.

Problems happen, we have to find the real reasons and fix them,
there's no silver bullet.

Reply via email to