Skip to content

getTableNames() ignores databaseSchema on DBI connections with RPostgres #339

Description

@Murago

DatabaseConnector::getTableNames() ignores databaseSchema on DatabaseConnectorDbiConnection with RPostgres::Postgres().

--- DBI connection: wrong ---
> connectionDetails <- DatabaseConnector::createDbiConnectionDetails(
+   dbms = "postgresql",
+   drv = RPostgres::Postgres(),
+   dbname = "...",
+   host = "...",
+   port = ...,
+   user = "...",
+   password = "..."
+ )
> connection <- DatabaseConnector::connect(connectionDetails)
> DatabaseConnector::getTableNames(connection, "cdm20260501_falcon_bladder_eligibility")
character(0)
> DatabaseConnector::querySql(connection, "SELECT table_name FROM information_schema.tables WHERE table_schema = 'cdm20260501_falcon_bladder_eligibility'")
  table_name
1 test_table
> class(connection)
[1] "DatabaseConnectorDbiConnection"
attr(,"package")
[1] "DatabaseConnector"
--- JDBC connection: correct ---
> connectionDetails <- DatabaseConnector::createConnectionDetails(
+   dbms = "postgresql",
+   user = "...",
+   password = "...",
+   server = "...",
+   port = ...,
+   extraSettings = NULL,
+   pathToDriver = "..."
+ )
> connection <- DatabaseConnector::connect(connectionDetails)
Connecting using PostgreSQL driver
> DatabaseConnector::getTableNames(connection, "cdm20260501_falcon_bladder_eligibility")
[1] "test_table"
> DatabaseConnector::querySql(connection, "SELECT table_name FROM information_schema.tables WHERE table_schema = 'cdm20260501_falcon_bladder_eligibility'")
  table_name
1 test_table
> class(connection)
[1] "DatabaseConnectorJdbcConnection"
attr(,"package")
[1] "DatabaseConnector"

Relevant line:

tables <- DBI::dbListTables(conn@dbiConnection, schema = databaseSchema)

The RPostgres's dbListTables() method has no schema parameter (and seem to return tables contained in current_schemas(true) excluding "pg_catalog")

## S4 method for signature 'PqConnection'
dbListTables(conn, ...)

Environment:

DatabaseConnector: 7.2.0
RPostgres: 1.4.10
DBI: 1.2.3

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions