From ec7678c2d400d5f188d651f59b5a920a2aa948b1 Mon Sep 17 00:00:00 2001 From: Kshitij Aranke Date: Mon, 24 Jun 2024 16:00:32 +0100 Subject: [PATCH 1/3] Add optional release_connection parameter to connection_named method --- dbt/adapters/base/impl.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/dbt/adapters/base/impl.py b/dbt/adapters/base/impl.py index 3b36022f..c1bdf49c 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, 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 release_connection: + self.release_connection() + if self.connections.query_header is not None: self.connections.query_header.reset() From 8f0add8810e3157c79d22d13d30cd60ab59854c2 Mon Sep 17 00:00:00 2001 From: Kshitij Aranke Date: Mon, 24 Jun 2024 16:11:22 +0100 Subject: [PATCH 2/3] add changelog --- .changes/unreleased/Under the Hood-20240624-161108.yaml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .changes/unreleased/Under the Hood-20240624-161108.yaml 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" From ad4a6d57ddb4ef7606141219cd7a53360df6f0e5 Mon Sep 17 00:00:00 2001 From: Kshitij Aranke Date: Mon, 24 Jun 2024 16:24:21 +0100 Subject: [PATCH 3/3] rename: should_release_connection --- dbt/adapters/base/impl.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dbt/adapters/base/impl.py b/dbt/adapters/base/impl.py index c1bdf49c..ec590137 100644 --- a/dbt/adapters/base/impl.py +++ b/dbt/adapters/base/impl.py @@ -320,7 +320,7 @@ def nice_connection_name(self) -> str: @contextmanager def connection_named( - self, name: str, query_header_context: Any = None, release_connection=True + self, name: str, query_header_context: Any = None, should_release_connection=True ) -> Iterator[None]: try: if self.connections.query_header is not None: @@ -328,7 +328,7 @@ def connection_named( self.acquire_connection(name) yield finally: - if release_connection: + if should_release_connection: self.release_connection() if self.connections.query_header is not None: