> > I am putting together a DB that records information about a set of web > sites and how they link to one another. As one site refers to another, I > monitor the first site and then record when I find the referred site. > > [snip] > > I also have a function called add_site that adds the newly found site. > > So far so good. > To test my code I wrote the INSERT statement by hand: > insert into sa_site (site_id, found, host_uri) values > (nextval('sa_site_id_seq'), 'now', 'www.endoid.net'); > > and everything worked fine when called from psql. > > Then I added the code to my add_site function and got the following > error: > ensa1.1=> select add_site('www.endoid.net', 4, null ); > WARNING: Error occurred while executing PL/pgSQL function add_site > WARNING: line 26 at SQL statement > ERROR: parser: parse error at or near "$1" at character 43 > > I looked and looked but couldn't find anything that could explain the > error. Then, being somewhat used to Oracle I tried renaming the "found" > column to "found_on". Oracle occasionally has discrepencies in its rules > for the naming of objects, so I thought that something *similar* might > be happening with PG. Anyways this change did work in my PL/pgSQL > function. > > Could you guys figure out where a general description of "please don't > use keywords as column names even if you're allowed to at create time > because something somewhere will throw an unintellligable error" should > live on the site? > There is a SQL Key Words section, and I remember when porting to postgres I saw complaints about a column named 'offset'. So I assume there is a key word checking function already in operation. Maybe it simply needs an update. Regards, Christoph
---------------------------(end of broadcast)--------------------------- TIP 7: don't forget to increase your free space map settings