dbt-labs / dbt-labs/dbt

[Bug] Bump the lower bound of `dbt-adapters` within `1.8.latest`

Open
#10,768 0 comments 0 reactions 0 assignees View on GitHub
engine:v1 type:bug
Dominant language
Rust
Stars
13.8k
Forks
2.6k
Avg merge
21h 31m
Merged PRs (30d)
56

Description

### Is this a new bug in dbt-core?

- [X] I believe this is a new bug in dbt-core
- [X] I have searched the existing issues, and I could not find an existing issue for this bug

### Current Behavior

These PRs across dbt-core and dbt-adapters are tightly coupled and need to be installed together:
- https://github.com/dbt-labs/dbt-core/pull/10290 (dbt-core>=1.8.6)
- https://github.com/dbt-labs/dbt-adapters/pull/236 (dbt-adapters>=1.4.1)
- https://github.com/dbt-labs/dbt-core/pull/10755 (dbt-core>=TBD)

The first was released in dbt-core==1.8.6, the second in dbt-adapters==1.4.1. The third has yet to be released.

The net effect is that:
- `dbt-core<=1.8.5 and dbt-adapters<=1.4.0` are compatible
- `dbt-core>=1.8.6 and dbt-adapters>=1.4.1` are compatible\*
- `dbt-core<=1.8.5 and dbt-adapters>=1.4.1` are **not** compatible
- `dbt-core>=1.8.6 and dbt-adapters<=1.4.0` are **not** compatible

\* but has its own bugs (https://github.com/dbt-labs/dbt-core/issues/10754, https://github.com/dbt-labs/dbt-core/issues/10763) because https://github.com/dbt-labs/dbt-core/pull/10755 was not included in `dbt-core==1.8.6`.

### Expected Behavior

On `main`, we ensure [dbt-adapters 1.7+](https://github.com/dbt-labs/dbt-core/blob/a8d4ba2b4a04d76ad03e563aefd1fcf3ba86fe00/core/setup.py#L75).

On `1.8.latest`, we [lower bound to dbt-adapters 1.1.1](https://github.com/dbt-labs/dbt-core/blob/e3e4c977e0e491f11c9fc338d027eeb82794083f/core/setup.py#L79).

We should use either requirements (or constraints) to ensure that either all 3 are installed together or none are.

### Steps To Reproduce

With the `1.8.latest` branch of dbt-core, install `dbt-adapters==1.4.0`, then run the functional tests. Although I didn't try this out, I expect there to be failing tests. If not, then we should add the tests that would cause it to fail!

### Alternative Steps to Reproduce

Or within a virtual environment, do either of these:

```shell
python -m pip install dbt-core==1.8.5 and dbt-adapters==1.4.1
python -m pip install dbt-core==1.8.6 and dbt-adapters==1.4.0
```

Then replicate the situation described here:
- https://github.com/dbt-labs/dbt-core/issues/10667

### More Alternative Steps to Reproduce

Or alternatively, do these install commands:

```shell
python -m pip install dbt-core==1.8.6 and dbt-adapters==1.4.1
```

And follow any of these reproducible examples:
- https://github.com/dbt-labs/dbt-core/issues/10754#issuecomment-2368218706
- https://github.com/dbt-labs/dbt-core/issues/10763#issuecomment-2369068205

### Relevant log output

_No response_

### Environment

```markdown
- OS:
- Python:
- dbt:
```

### Which database adapter are you using with dbt?

_No response_

### Additional Context

We had a series of regressions due to the feature in https://github.com/dbt-labs/dbt-adapters/pull/236 being released. While dbt-core and dbt-adapters were decoupled beginning in dbt-core v1.8, https://github.com/dbt-labs/dbt-adapters/pull/236 actually depended upon corresponding PRs in dbt-core to work properly (namely, https://github.com/dbt-labs/dbt-core/pull/10290 and https://github.com/dbt-labs/dbt-core/pull/10755).

So https://github.com/dbt-labs/dbt-adapters/pull/236 shouldn't have been merged + released until the corresponding dbt-core PRs were also ready to be merged + released (and lower bound of dbt-adapters bumped up). Since these PRs were related to a feature request, this shouldn't have happened until a minor release of dbt-core.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.