Skip to content

Commit 74aab19

Browse files
Limit has_table's permission guarantee to recognized failures
A federated connector can phrase a denial as an unrecognized MetadataException, which the information_schema fallback answers. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 parent 4b02892 commit 74aab19

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

‎docs/sqlalchemy.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ A later listing preserves metadata already fetched for a table.
9898
`clear_cache()` also discards this metadata; an absent entry in a listing is not cached as proof that a table does not exist.
9999

100100
A throttling or permission error from a table-metadata lookup never by itself establishes that a table is missing.
101-
`has_table()` propagates permission failures, including access denied by Lake Formation, instead of returning or caching `False`.
101+
`has_table()` propagates recognized permission failures, including access denied by Lake Formation, instead of returning or caching `False`.
102102
For failed metadata requests, the error response establishes absence only when it is a recognized `EntityNotFoundException`; an unrecognized error is never guessed to mean a missing table.
103103
The `information_schema` queries described below can still establish absence after a failed request, from the query's result rather than from the error.
104104
Column reflection and `has_table()` do not retry a table-metadata request that `information_schema` can answer; they read `information_schema.columns` instead, executed without query result reuse, and log a warning.

0 commit comments

Comments
 (0)