Re: WIP: Allow SQL-language functions to reference parameters by parameter name
Dimitri Fontaine <dimitri@2ndquadrant.fr>
From: Dimitri Fontaine <dimitri@2ndQuadrant.fr>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Josh Berkus <josh@agliodbs.com>, pgsql-hackers@postgresql.org
Date: 2011-04-14T18:37:47Z
Lists: pgsql-hackers
Robert Haas <robertmhaas@gmail.com> writes: > rhaas=# CREATE OR REPLACE FUNCTION developer_lookup(id integer) > RETURNS text AS $$SELECT name FROM developer WHERE id = $1$$ LANGUAGE > sql STABLE; > > Now, when this person attempts to recreate this function on a > hypothetical version of PostgreSQL that thinks "id" is ambiguous, it > doesn't work. Unless we make it so that no such version ever exists. Meaning that the code works fine as is or using WHERE id = developer_lookup.id. AS id can't ever be the parameter in this case, you're just fine. Bearing in mind that $1 etc shortcuts still are available, I don't really see this qualification of parameter names with function names so big a problem that we should find a way to avoid it and risk breaking compatibility. Don't forget that any ambiguity here will mean *huge* migration costs. Regards, -- Dimitri Fontaine http://2ndQuadrant.fr PostgreSQL : Expertise, Formation et Support