[R-sig-DB] RPostgreSQL - dbExistsTable() is FALSE with schema names?
Sean Davis
@d@v|@2 @end|ng |rom m@||@n|h@gov
Tue Apr 7 02:01:36 CEST 2009
On Mon, Apr 6, 2009 at 7:42 PM, Dirk Eddelbuettel <edd using 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
[[alternative HTML version deleted]]
More information about the R-sig-DB
mailing list