Skip to content

R reports a Snowflake table that the user can't read as missing #440

Closed as not planned

Description

@jat255

When the role has no privilege on a Snowflake table, data_source(con, tables = ...) says the table doesn't exist. The error is `tables` names table not on the connection: "COMMONS_CI.LIVE.denied_orders".

Snowflake hides a table from a role that has no privilege on it. So after the probe query fails, the dbExistsTable() check returns FALSE and R reports a missing table. catalog_probe_relation() classifies the same failure as an authorization refusal, and the Python package raises its authorization error for it. A user who needs to ask for access is told instead that the table doesn't exist. Found by "live Snowflake classifies denied query access" in #431.

Activity

  1. added
    bugSomething isn't working
    rAffects the R implementation
    on Oct 21, 2026
  2. self-assigned this
    on Oct 21, 2026
  3. jat255 commented on Oct 21, 2026

    @jat255
    CollaboratorAuthor

    This was a misdiagnosis, so I'm closing it. R behaves as the shared contract says. catalog-access-precedence.json reports a name that the listing never returned as missing, ahead of any refusal. Snowflake leaves a table out of the listing when the role has no privilege on it, so "not on the connection" is the expected error.

    The Python package doesn't raise an authorization error for this case either. Its live test calls the probe directly and skips the listing. The R live test in #431 expected the wrong error, and #431 now fixes that test.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingrAffects the R implementation

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions