diff --git a/.changes/unreleased/Under the Hood-20240624-161108.yaml b/.changes/unreleased/Under the Hood-20240624-161108.yaml new file mode 100644 index 00000000..9042547f --- /dev/null +++ b/.changes/unreleased/Under the Hood-20240624-161108.yaml @@ -0,0 +1,6 @@ +kind: Under the Hood +body: Add optional release_connection parameter to connection_named method +time: 2024-06-24T16:11:08.773419+01:00 +custom: + Author: aranke + Issue: "247" diff --git a/dbt/adapters/base/impl.py b/dbt/adapters/base/impl.py index 3b36022f..ec590137 100644 --- a/dbt/adapters/base/impl.py +++ b/dbt/adapters/base/impl.py @@ -319,14 +319,18 @@ def nice_connection_name(self) -> str: return conn.name @contextmanager - def connection_named(self, name: str, query_header_context: Any = None) -> Iterator[None]: + def connection_named( + self, name: str, query_header_context: Any = None, should_release_connection=True + ) -> Iterator[None]: try: if self.connections.query_header is not None: self.connections.query_header.set(name, query_header_context) self.acquire_connection(name) yield finally: - self.release_connection() + if should_release_connection: + self.release_connection() + if self.connections.query_header is not None: self.connections.query_header.reset()