Skip to content
Snippets Groups Projects
Unverified Commit f4f2d45b authored by Cal Herries's avatar Cal Herries Committed by GitHub
Browse files

Fix connection impersonation when jdbc spec is passed (#43147)

parent d208d800
No related branches found
No related tags found
No related merge requests found
......@@ -348,9 +348,16 @@
(log/tracef "Setting default connection options with options %s" (pr-str options))
(set-best-transaction-level! driver conn)
(set-time-zone-if-supported! driver conn session-timezone)
(set-role-if-supported! driver conn (cond (integer? db-or-id-or-spec) (qp.store/with-metadata-provider db-or-id-or-spec
(lib.metadata/database (qp.store/metadata-provider)))
(u/id db-or-id-or-spec) db-or-id-or-spec))
(when-let [db (cond
;; id?
(integer? db-or-id-or-spec)
(qp.store/with-metadata-provider db-or-id-or-spec
(lib.metadata/database (qp.store/metadata-provider)))
;; db?
(u/id db-or-id-or-spec) db-or-id-or-spec
;; otherwise it's a spec and we can't get the db
:else nil)]
(set-role-if-supported! driver conn db))
(let [read-only? (not write?)]
(try
;; Setting the connection to read-only does not prevent writes on some databases, and is meant
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment