Skip to content

Commit 469a9ac

Browse files
committed
remove dbt.contracts.connection imports from adapter module
1 parent 98310b6 commit 469a9ac

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

79 files changed

+252
-162
lines changed

core/dbt/adapters/base/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# these are all just exports, #noqa them so flake8 will be happy
22

33
# TODO: Should we still include this in the `adapters` namespace?
4-
from dbt.contracts.connection import Credentials # noqa: F401
4+
from dbt.adapters.contracts.connection import Credentials # noqa: F401
55
from dbt.adapters.base.meta import available # noqa: F401
66
from dbt.adapters.base.connections import BaseConnectionManager # noqa: F401
77
from dbt.adapters.base.relation import ( # noqa: F401

core/dbt/adapters/base/connections.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
import agate
2525

2626
import dbt.exceptions
27-
from dbt.contracts.connection import (
27+
from dbt.adapters.contracts.connection import (
2828
Connection,
2929
Identifier,
3030
ConnectionState,

core/dbt/adapters/base/query_headers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from dbt.clients.jinja import QueryStringGenerator
55

66
from dbt.context.manifest import generate_query_header_context
7-
from dbt.contracts.connection import AdapterRequiredConfig, QueryComment
7+
from dbt.adapters.contracts.connection import AdapterRequiredConfig, QueryComment
88
from dbt.contracts.graph.nodes import ResultNode
99
from dbt.contracts.graph.manifest import Manifest
1010
from dbt.exceptions import DbtRuntimeError

core/dbt/contracts/connection.py renamed to core/dbt/adapters/contracts/connection.py

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,20 +11,27 @@
1111
List,
1212
Callable,
1313
)
14-
from dbt.exceptions import DbtInternalError
15-
from dbt.utils import translate_aliases, md5
16-
from dbt.events.functions import fire_event
17-
from dbt.events.types import NewConnectionOpening
18-
from dbt.events.contextvars import get_node_info
1914
from typing_extensions import Protocol, Annotated
20-
from dbt.dataclass_schema import (
15+
16+
from mashumaro.jsonschema.annotations import Pattern
17+
18+
from dbt.adapters.utils import translate_aliases
19+
from dbt.common.exceptions import DbtInternalError
20+
from dbt.common.dataclass_schema import (
2121
dbtClassMixin,
2222
StrEnum,
2323
ExtensibleDbtClassMixin,
2424
ValidatedStringMixin,
2525
)
26-
from dbt.contracts.util import Replaceable
27-
from mashumaro.jsonschema.annotations import Pattern
26+
from dbt.common.contracts.util import Replaceable
27+
from dbt.common.util import md5
28+
29+
# TODO: dbt.events dependency
30+
from dbt.events.functions import fire_event
31+
from dbt.events.types import NewConnectionOpening
32+
33+
# TODO: this is a very bad dependency - shared global state
34+
from dbt.events.contextvars import get_node_info
2835

2936

3037
class Identifier(ValidatedStringMixin):

core/dbt/adapters/exceptions.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
from typing import Mapping, Any
2+
3+
from dbt.exceptions import DbtValidationError
4+
5+
6+
class AliasError(DbtValidationError):
7+
pass
8+
9+
10+
# core level exceptions
11+
class DuplicateAliasError(AliasError):
12+
def __init__(self, kwargs: Mapping[str, Any], aliases: Mapping[str, str], canonical_key: str):
13+
self.kwargs = kwargs
14+
self.aliases = aliases
15+
self.canonical_key = canonical_key
16+
super().__init__(msg=self.get_message())
17+
18+
def get_message(self) -> str:
19+
# dupe found: go through the dict so we can have a nice-ish error
20+
key_names = ", ".join(
21+
"{}".format(k) for k in self.kwargs if self.aliases.get(k) == self.canonical_key
22+
)
23+
msg = f'Got duplicate keys: ({key_names}) all map to "{self.canonical_key}"'
24+
return msg

core/dbt/adapters/factory.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
from dbt.adapters.base.plugin import AdapterPlugin
99
from dbt.adapters.protocol import AdapterConfig, AdapterProtocol, RelationProtocol
10-
from dbt.contracts.connection import AdapterRequiredConfig, Credentials
10+
from dbt.adapters.contracts.connection import AdapterRequiredConfig, Credentials
1111
from dbt.events.functions import fire_event
1212
from dbt.events.types import AdapterImportError, PluginLoadError, AdapterRegistered
1313
from dbt.exceptions import DbtInternalError, DbtRuntimeError

core/dbt/adapters/protocol.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
import agate
1717

18-
from dbt.contracts.connection import Connection, AdapterRequiredConfig, AdapterResponse
18+
from dbt.adapters.contracts.connection import Connection, AdapterRequiredConfig, AdapterResponse
1919
from dbt.contracts.graph.nodes import ResultNode, ManifestNode
2020
from dbt.contracts.graph.model_config import BaseConfig
2121
from dbt.contracts.graph.manifest import Manifest

core/dbt/adapters/relation_configs/config_change.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from typing import Hashable
44

55
from dbt.adapters.relation_configs.config_base import RelationConfigBase
6-
from dbt.dataclass_schema import StrEnum
6+
from dbt.common.dataclass_schema import StrEnum
77

88

99
class RelationConfigChangeAction(StrEnum):

core/dbt/adapters/sql/connections.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import dbt.clients.agate_helper
88
import dbt.exceptions
99
from dbt.adapters.base import BaseConnectionManager
10-
from dbt.contracts.connection import Connection, ConnectionState, AdapterResponse
10+
from dbt.adapters.contracts.connection import Connection, ConnectionState, AdapterResponse
1111
from dbt.events.functions import fire_event
1212
from dbt.events.types import ConnectionUsed, SQLQuery, SQLCommit, SQLQueryStatus
1313
from dbt.events.contextvars import get_node_info

core/dbt/adapters/sql/impl.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import agate
22
from typing import Any, Optional, Tuple, Type, List
33

4-
from dbt.contracts.connection import Connection, AdapterResponse
4+
from dbt.adapters.contracts.connection import Connection, AdapterResponse
55
from dbt.exceptions import RelationTypeNullError
66
from dbt.adapters.base import BaseAdapter, available
77
from dbt.adapters.cache import _make_ref_key_dict

0 commit comments

Comments
 (0)