From 3a0d14e20e6d44065977402a92ae76584dcce8c0 Mon Sep 17 00:00:00 2001 From: z3z1ma Date: Fri, 14 Jun 2024 00:04:04 -0700 Subject: [PATCH] fix: pass mp context to base adapter in dbt-core 1.8+ --- .changes/0.13.1.md | 3 +++ CHANGELOG.md | 4 ++++ pyproject.toml | 2 +- src/dbt_osmosis/vendored/dbt_core_interface/project.py | 10 +++++++--- 4 files changed, 15 insertions(+), 4 deletions(-) create mode 100644 .changes/0.13.1.md diff --git a/.changes/0.13.1.md b/.changes/0.13.1.md new file mode 100644 index 0000000..1378c49 --- /dev/null +++ b/.changes/0.13.1.md @@ -0,0 +1,3 @@ +## 0.13.1 - 2024-06-14 +### Fixed +* Missing second argument for BaseAdapter in dbt-core 1.8+ diff --git a/CHANGELOG.md b/CHANGELOG.md index ff38bfb..fbc9a96 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,10 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html), and is generated by [Changie](https://github.com/miniscruff/changie). +## 0.13.1 - 2024-06-14 +### Fixed +* Missing second argument for BaseAdapter in dbt-core 1.8+ + ## 0.13.0 - 2024-06-12 ### Added * Test with multiple version of dbt core diff --git a/pyproject.toml b/pyproject.toml index 33e437d..ad2ed36 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "dbt-osmosis" -version = "0.13.0" +version = "0.13.1" description = "A dbt server and suite of optional developer tools to make developing with dbt delightful." authors = ["z3z1ma "] license = "Apache-2.0" diff --git a/src/dbt_osmosis/vendored/dbt_core_interface/project.py b/src/dbt_osmosis/vendored/dbt_core_interface/project.py index 8e57671..95060a9 100644 --- a/src/dbt_osmosis/vendored/dbt_core_interface/project.py +++ b/src/dbt_osmosis/vendored/dbt_core_interface/project.py @@ -9,7 +9,6 @@ # region dbt-core-interface imports & monkey patches - if 1: # this stops ruff from complaining about the import order import dbt.adapters.factory @@ -405,7 +404,7 @@ def from_config(cls, config: DbtConfiguration) -> "DbtProject": threads=config.threads, ) - def get_adapter_cls(self) -> "BaseAdapter": + def get_adapter_cls(self) -> Type["BaseAdapter"]: """Get the adapter class associated with the dbt profile.""" return get_adapter_class_by_name(self.config.credentials.type) @@ -421,7 +420,12 @@ def initialize_adapter(self) -> None: LOGGER.debug(f"Failed to cleanup adapter connections: {e}") # The adapter.setter verifies connection, resets TTL, and updates adapter ref on config # this is thread safe by virtue of the adapter_mutex on the adapter.setter - self.adapter = self.get_adapter_cls()(self.config) + try: + self.adapter = self.get_adapter_cls()(self.config) + except TypeError: + from dbt.mp_context import get_mp_context + + self.adapter = self.get_adapter_cls()(self.config, get_mp_context()) @property def adapter(self) -> "BaseAdapter":