RPostgreSQL - dbExistsTable() is FALSE with schema names?
On Mon, Apr 6, 2009 at 7:42 PM, Dirk Eddelbuettel <edd at debian.org> wrote:
On 6 April 2009 at 19:18, Prasenjit Kapat wrote: | Hi, | | dbExistsTable (conn, name="myschema.mytable") is FALSE, whereas | dbExistsTable (conn, name="mytable") is TRUE ! 'mytable' is part of | the 'myschema'. | | Is this as expected? Not sure. Check the Pg API doc of what is expected. And in general, patches and debugging are welcome. Sameer, who wrote RPostgreSQL as part of last year's Google Summer of Code seems to have lost touch with the code.
Looks like dbTableExists() method calls dbListTables() method, and that uses the SQL query: select tablename from pg_tables where schemaname !='information_schema' and schemaname !='pg_catalog' This returns the table name, but no schema name. R code is then used to check for equality of strings. This will lead to the incorrect behavior as noted. I can provide a patch, probably, but it won't be immediate, so if someone else gets there first, just let us know. Sean