Subject: Is "query" a reserved word in 8.3 plpgsql?

From: "Todd A. Cook" <[email-masked]>
Date: Fri, 09 Nov 2007 17:06:33 -0500

Hi,

I saw the item in the release notes about the new "return query" syntax in pl/pgsql,
but I didn't see any note about "query" being reserved now.  Perhaps an explicit
mention should be added?

I loaded a dump from 8.2.4 into 8.3b2 without error.  However, every function that
uses "query" as a variable name now fails with a syntax error when it is executed:

     ERROR:  syntax error at or near "query" at character 151

My workaround will be to extract the functions from the dump, edit them to rename
the variable, and load them into the new db.

-- todd

---

From: Tom Lane <[email-masked]>
Date: Fri, 09 Nov 2007 18:14:16 -0500

"Todd A. Cook" <[email-masked]> writes:
> I saw the item in the release notes about the new "return query"
> syntax in pl/pgsql, but I didn't see any note about "query" being
> reserved now.  Perhaps an explicit mention should be added?

Yeah, I got burnt by that too.  I have a bad feeling that that keyword
is going to cause trouble for a lot of people.

[ thinks for a bit... ]  It might be possible to get rid of the keyword
and have RETURN QUERY be recognized by an ad-hoc strcmp test, much like
the various direction keywords in FETCH have been handled without making
them real keywords.  It'd be a bit uglier but it'd avoid making QUERY
be effectively a reserved word.

			regards, tom lane

---

From: "Scott Marlowe" <[email-masked]>
Date: Fri, 9 Nov 2007 17:43:43 -0600

> be effectively a reserved word.

It's not uncommon to have auditing triggers store things in tables
with fields named query in them.  I know I have a few places that do
this...

Just sayin'

---

From: Tom Lane <[email-masked]>
Date: Fri, 09 Nov 2007 19:07:17 -0500

> with fields named query in them.  I know I have a few places that do

It turned out to be a very easy change, so it's done: QUERY isn't a
reserved word anymore.

			regards, tom lane

---

From: "Scott Marlowe" <[email-masked]>
Date: Fri, 9 Nov 2007 19:14:59 -0600

> It turned out to be a very easy change, so it's done: QUERY isn't a

Thanks!

---

From: "Todd A. Cook" <[email-masked]>
Date: Mon, 12 Nov 2007 13:42:23 -0500

> It turned out to be a very easy change, so it's done: QUERY isn't a

Thanks for your help. :)

-- todd