Re: [CDBI] Quoting reserved words.
"Edward J. Sabol" <[email protected]> Thu, 14 Jan 2010 00:49:22 -0500
| Newsgroups | gmane.comp.lang.perl.modules.class-dbi |
|---|---|
| Message-ID | <[email protected]> |
Bill Moseley wrote: > Client upgraded to Postgresql 8.4 and started seeing this: DBD::Pg::st > execute failed: ERROR: syntax error at or near "window" > > Where "window" happens to be a column name in a class. > > I remember that you can create an alias for a table name to deal with > reserved words, but I don't remember how to deal with column names that > are reserved words. Have you tried specifying the column name as '"window"'? A similar trick mostly worked for table names. I suspect it won't work as well for column names though. You'd probably need at least custom accessor_name_for/mutator_name_for methods to remove the quotes. I looked over my personal archive of the mailing list going back to 2003, and the only real discussion (and solutions) I found dealt with table names. The one time I found where column names came up, in December 2006, I suggested subclassing Class::DBI::SQL::Transformer to do what you need in an API-clean way, but that was just theoretical. Nobody's ever tried it, AFAIK. > Found this: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=361533 Well, that's some interesting stuff. Those changes look pretty reasonable to me.... Alternatively, you could make a view in the database that is basically identical to the table in question but with the "window" column name changed to something else. Hope this helps, Ed