dbt-adapters 1.7.2__py3-none-any.whl → 1.8.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of dbt-adapters might be problematic. Click here for more details.

dbt/adapters/__about__.py CHANGED
@@ -1 +1 @@
1
- version = "1.7.2"
1
+ version = "1.8.0"
@@ -12,4 +12,5 @@ from dbt.adapters.base.relation import (
12
12
  BaseRelation,
13
13
  RelationType,
14
14
  SchemaSearchMap,
15
+ AdapterTrackingRelationInfo,
15
16
  )
dbt/adapters/base/impl.py CHANGED
@@ -4,6 +4,7 @@ from concurrent.futures import as_completed, Future
4
4
  from contextlib import contextmanager
5
5
  from datetime import datetime
6
6
  from enum import Enum
7
+ from importlib import import_module
7
8
  from multiprocessing.context import SpawnContext
8
9
  from typing import (
9
10
  Any,
@@ -61,12 +62,14 @@ from dbt.adapters.base.relation import (
61
62
  ComponentName,
62
63
  InformationSchema,
63
64
  SchemaSearchMap,
65
+ AdapterTrackingRelationInfo,
64
66
  )
65
67
  from dbt.adapters.cache import RelationsCache, _make_ref_key_dict
66
68
  from dbt.adapters.capability import Capability, CapabilityDict
67
69
  from dbt.adapters.contracts.connection import Credentials
68
70
  from dbt.adapters.contracts.macros import MacroResolverProtocol
69
71
  from dbt.adapters.contracts.relation import RelationConfig
72
+
70
73
  from dbt.adapters.events.types import (
71
74
  CacheMiss,
72
75
  CatalogGenerationError,
@@ -300,12 +303,13 @@ class BaseAdapter(metaclass=AdapterMeta):
300
303
  @behavior.setter # type: ignore
301
304
  def behavior(self, flags: List[BehaviorFlag]) -> None:
302
305
  flags.extend(self._behavior_flags)
303
- try:
304
- # we don't always get project flags, for example during `dbt debug`
305
- self._behavior = Behavior(flags, self.config.flags)
306
- except AttributeError:
307
- # in that case, don't load any behavior to avoid unexpected defaults
308
- self._behavior = Behavior([], {})
306
+
307
+ # we don't always get project flags, for example, the project file is not loaded during `dbt debug`
308
+ # in that case, load the default values for behavior flags to avoid compilation errors
309
+ # this mimics not loading a project file, or not specifying flags in a project file
310
+ user_overrides = getattr(self.config, "flags", {})
311
+
312
+ self._behavior = Behavior(flags, user_overrides)
309
313
 
310
314
  @property
311
315
  def _behavior_flags(self) -> List[BehaviorFlag]:
@@ -1743,6 +1747,30 @@ class BaseAdapter(metaclass=AdapterMeta):
1743
1747
  def supports(cls, capability: Capability) -> bool:
1744
1748
  return bool(cls.capabilities()[capability])
1745
1749
 
1750
+ @classmethod
1751
+ def get_adapter_run_info(cls, config: RelationConfig) -> AdapterTrackingRelationInfo:
1752
+ adapter_class_name, *_ = cls.__name__.split("Adapter")
1753
+ adapter_name = adapter_class_name.lower()
1754
+
1755
+ if adapter_name == "base":
1756
+ adapter_version = ""
1757
+ else:
1758
+ adapter_version = import_module(f"dbt.adapters.{adapter_name}.__version__").version
1759
+
1760
+ return AdapterTrackingRelationInfo(
1761
+ adapter_name=adapter_name,
1762
+ base_adapter_version=import_module("dbt.adapters.__about__").version,
1763
+ adapter_version=adapter_version,
1764
+ model_adapter_details=cls._get_adapter_specific_run_info(config),
1765
+ )
1766
+
1767
+ @classmethod
1768
+ def _get_adapter_specific_run_info(cls, config) -> Dict[str, Any]:
1769
+ """
1770
+ Adapter maintainers should overwrite this method to return any run metadata that should be captured during a run.
1771
+ """
1772
+ return {}
1773
+
1746
1774
 
1747
1775
  COLUMNS_EQUAL_SQL = """
1748
1776
  with diff_count as (
@@ -542,3 +542,11 @@ class SchemaSearchMap(Dict[InformationSchema, Set[Optional[str]]]):
542
542
  )
543
543
 
544
544
  return new
545
+
546
+
547
+ @dataclass(frozen=True, eq=False, repr=False)
548
+ class AdapterTrackingRelationInfo(FakeAPIObject, Hashable):
549
+ adapter_name: str
550
+ base_adapter_version: str
551
+ adapter_version: str
552
+ model_adapter_details: Any
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: dbt-adapters
3
- Version: 1.7.2
3
+ Version: 1.8.0
4
4
  Summary: The set of adapter protocols and base functionality that supports integration with dbt-core
5
5
  Project-URL: Homepage, https://github.com/dbt-labs/dbt-adapters
6
6
  Project-URL: Documentation, https://docs.getdbt.com
@@ -1,5 +1,5 @@
1
1
  dbt/__init__.py,sha256=iY4jdvOxcDhkdr5FiyOTZPHadKtMZDQ-qC6Fw6_EHPM,277
2
- dbt/adapters/__about__.py,sha256=nmG3pZh3PHNxtCaqlmZrGx0G1CNyDdjUYvAO0SpMB8E,18
2
+ dbt/adapters/__about__.py,sha256=J9Md0egz2m3v0DHzraSTc3Ep1dKM1wRt2RZSVicTmqM,18
3
3
  dbt/adapters/__init__.py,sha256=3noHsg-64qI0_Pw6OR9F7l1vU2_qrJvinq8POTtuaZM,252
4
4
  dbt/adapters/cache.py,sha256=WGy4ewnz-J13LverTACBW2iFhGswrWLgm-wiBrQnMzo,20084
5
5
  dbt/adapters/capability.py,sha256=-Mbej2AL_bjQatHpFWUgsQ8z0zwnotyE9Y5DYHnX7NE,2364
@@ -9,14 +9,14 @@ dbt/adapters/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
9
  dbt/adapters/reference_keys.py,sha256=lRN3gPdQD6Qciy-BAGx_rz3CFlbS7zMSZ43pZ_9ondE,1046
10
10
  dbt/adapters/utils.py,sha256=OtakbxPgxwrxN5Yd2vAO-cvLETSgzBwMWebhgegAVyA,2414
11
11
  dbt/adapters/base/README.md,sha256=muHQntC07Lh6L1XfVgwKhV5RltOPBLYPdQqd8_7l34c,516
12
- dbt/adapters/base/__init__.py,sha256=KGGGbj8jGMjAFJdQ5YHcOpApMMVZ_6Xuni1swhpkqRY,423
12
+ dbt/adapters/base/__init__.py,sha256=Nc8lQVkOzAqdcxk4cw4E_raxN9CAWMwhQx4STdiicxg,456
13
13
  dbt/adapters/base/column.py,sha256=Uj20UixoxCn2rlv4QDNONyys6CDkDFyG3anCXKf0T2c,5350
14
14
  dbt/adapters/base/connections.py,sha256=-C5dOwGgMKH8n_v6wjwOxV7chBdS0GjOGwNQCUbhhWc,16951
15
- dbt/adapters/base/impl.py,sha256=7dUeQxHUaC8UpHHayacgUKP2JGGuWgfoh_I00YjN6yc,70604
15
+ dbt/adapters/base/impl.py,sha256=alEsGSc4NV15_nr3ubeVvcYj8_ZkXlk-5bVdPdfvbWo,71724
16
16
  dbt/adapters/base/meta.py,sha256=IKqviGf7gK_qGtrn0t8NaSdUaw8g_M8SjICacMvNwGY,5702
17
17
  dbt/adapters/base/plugin.py,sha256=rm0GjNHnWM2mn0GJOjciZLwn-02xlzWCoMT9u-epwP0,1076
18
18
  dbt/adapters/base/query_headers.py,sha256=UluGd9IYCYkoMiDi5Yx_lnrCOSjWppjwRro4SIGgx8I,3496
19
- dbt/adapters/base/relation.py,sha256=uBvDb3XwYSu5t5RVj-OwfQgJFcxP9qBPgSqgQ_yzYbI,18708
19
+ dbt/adapters/base/relation.py,sha256=LgluQrBxbkd3OvLCxFxds3UspuOMkBn6INv5FUlxGjQ,18924
20
20
  dbt/adapters/clients/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
21
  dbt/adapters/clients/jinja.py,sha256=NsZOiBpOLunS46hRL5OcX1MpY3Ih6_87Vgz4qd_PNbc,768
22
22
  dbt/adapters/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -157,7 +157,7 @@ dbt/include/global_project/macros/utils/right.sql,sha256=EwNG98CAFIwNDmarwopf7Rk
157
157
  dbt/include/global_project/macros/utils/safe_cast.sql,sha256=1mswwkDACmIi1I99JKb_-vq3kjMe4HhMRV70mW8Bt4Y,298
158
158
  dbt/include/global_project/macros/utils/split_part.sql,sha256=fXEIS0oIiYR7-4lYbb0QbZdG-q2TpV63AFd1ky4I5UM,714
159
159
  dbt/include/global_project/tests/generic/builtin.sql,sha256=p94xdyPwb2TlxgLBqCfrcRfJ1QNgsjPvBm8f0Q5eqZM,1022
160
- dbt_adapters-1.7.2.dist-info/METADATA,sha256=MBPlx_JfK9iYRkF61AxSwob5KA15Y_4irl6FW99QO7Y,2498
161
- dbt_adapters-1.7.2.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
162
- dbt_adapters-1.7.2.dist-info/licenses/LICENSE,sha256=9yjigiJhWcCZvQjdagGKDwrRph58QWc5P2bVSQwXo6s,11344
163
- dbt_adapters-1.7.2.dist-info/RECORD,,
160
+ dbt_adapters-1.8.0.dist-info/METADATA,sha256=-XLAW--tkWq2yLDf134cmYJklfo7LDTT6WWxRRCd_sg,2498
161
+ dbt_adapters-1.8.0.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
162
+ dbt_adapters-1.8.0.dist-info/licenses/LICENSE,sha256=9yjigiJhWcCZvQjdagGKDwrRph58QWc5P2bVSQwXo6s,11344
163
+ dbt_adapters-1.8.0.dist-info/RECORD,,