dbt-adapters 1.14.0__py3-none-any.whl → 1.14.1__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 +1 -1
- dbt/adapters/base/impl.py +3 -3
- dbt/adapters/base/meta.py +1 -1
- dbt/adapters/base/relation.py +1 -1
- dbt/adapters/contracts/connection.py +1 -1
- dbt/adapters/protocol.py +1 -1
- dbt/adapters/relation_configs/config_base.py +1 -1
- dbt/adapters/sql/connections.py +1 -1
- dbt/adapters/sql/impl.py +2 -2
- dbt/include/global_project/macros/materializations/models/incremental/merge.sql +16 -29
- dbt_adapters-1.14.1.dist-info/METADATA +123 -0
- {dbt_adapters-1.14.0.dist-info → dbt_adapters-1.14.1.dist-info}/RECORD +14 -14
- dbt_adapters-1.14.0.dist-info/METADATA +0 -76
- {dbt_adapters-1.14.0.dist-info → dbt_adapters-1.14.1.dist-info}/WHEEL +0 -0
- {dbt_adapters-1.14.0.dist-info → dbt_adapters-1.14.1.dist-info}/licenses/LICENSE +0 -0
dbt/adapters/__about__.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
version = "1.14.
|
|
1
|
+
version = "1.14.1"
|
dbt/adapters/base/impl.py
CHANGED
|
@@ -1224,7 +1224,7 @@ class BaseAdapter(metaclass=AdapterMeta):
|
|
|
1224
1224
|
kwargs = {"information_schema": information_schema, "schemas": schemas}
|
|
1225
1225
|
table = self.execute_macro(GET_CATALOG_MACRO_NAME, kwargs=kwargs)
|
|
1226
1226
|
|
|
1227
|
-
results = self._catalog_filter_table(table, used_schemas)
|
|
1227
|
+
results = self._catalog_filter_table(table, used_schemas)
|
|
1228
1228
|
return results
|
|
1229
1229
|
|
|
1230
1230
|
def _get_one_catalog_by_relations(
|
|
@@ -1239,7 +1239,7 @@ class BaseAdapter(metaclass=AdapterMeta):
|
|
|
1239
1239
|
}
|
|
1240
1240
|
table = self.execute_macro(GET_CATALOG_RELATIONS_MACRO_NAME, kwargs=kwargs)
|
|
1241
1241
|
|
|
1242
|
-
results = self._catalog_filter_table(table, used_schemas)
|
|
1242
|
+
results = self._catalog_filter_table(table, used_schemas)
|
|
1243
1243
|
return results
|
|
1244
1244
|
|
|
1245
1245
|
def get_filtered_catalog(
|
|
@@ -1435,7 +1435,7 @@ class BaseAdapter(metaclass=AdapterMeta):
|
|
|
1435
1435
|
macro_resolver=macro_resolver,
|
|
1436
1436
|
needs_conn=True,
|
|
1437
1437
|
)
|
|
1438
|
-
adapter_response, table = result.response, result.table
|
|
1438
|
+
adapter_response, table = result.response, result.table
|
|
1439
1439
|
adapter_responses.append(adapter_response)
|
|
1440
1440
|
|
|
1441
1441
|
for row in table:
|
dbt/adapters/base/meta.py
CHANGED
|
@@ -121,7 +121,7 @@ class AdapterMeta(abc.ABCMeta):
|
|
|
121
121
|
# I'm not sure there is any benefit to it after poking around a bit,
|
|
122
122
|
# but having it doesn't hurt on the python side (and omitting it could
|
|
123
123
|
# hurt for obscure metaclass reasons, for all I know)
|
|
124
|
-
cls = abc.ABCMeta.__new__(mcls, name, bases, namespace, **kwargs)
|
|
124
|
+
cls = abc.ABCMeta.__new__(mcls, name, bases, namespace, **kwargs)
|
|
125
125
|
|
|
126
126
|
# this is very much inspired by ABCMeta's own implementation
|
|
127
127
|
|
dbt/adapters/base/relation.py
CHANGED
|
@@ -135,7 +135,7 @@ class BaseRelation(FakeAPIObject, Hashable):
|
|
|
135
135
|
if str(self.path.get_lowered_part(k)).strip(self.quote_character) != v.lower().strip(
|
|
136
136
|
self.quote_character
|
|
137
137
|
):
|
|
138
|
-
approximate_match = False
|
|
138
|
+
approximate_match = False
|
|
139
139
|
|
|
140
140
|
if approximate_match and not exact_match:
|
|
141
141
|
target = self.create(database=database, schema=schema, identifier=identifier)
|
|
@@ -124,7 +124,7 @@ class LazyHandle:
|
|
|
124
124
|
# and https://github.com/python/mypy/issues/5374
|
|
125
125
|
# for why we have type: ignore. Maybe someday dataclasses + abstract classes
|
|
126
126
|
# will work.
|
|
127
|
-
@dataclass
|
|
127
|
+
@dataclass
|
|
128
128
|
class Credentials(ExtensibleDbtClassMixin, Replaceable, metaclass=abc.ABCMeta):
|
|
129
129
|
database: str
|
|
130
130
|
schema: str
|
dbt/adapters/protocol.py
CHANGED
|
@@ -37,7 +37,7 @@ class RelationConfigBase:
|
|
|
37
37
|
|
|
38
38
|
Returns: the `RelationConfigBase` representation associated with the provided dict
|
|
39
39
|
"""
|
|
40
|
-
return cls(**filter_null_values(kwargs_dict))
|
|
40
|
+
return cls(**filter_null_values(kwargs_dict))
|
|
41
41
|
|
|
42
42
|
@classmethod
|
|
43
43
|
def _not_implemented_error(cls) -> NotImplementedError:
|
dbt/adapters/sql/connections.py
CHANGED
|
@@ -102,7 +102,7 @@ class SQLConnectionManager(BaseConnectionManager):
|
|
|
102
102
|
|
|
103
103
|
fire_event(
|
|
104
104
|
AdapterEventDebug(
|
|
105
|
-
message=f"Got a retryable error {type(e)}. {retry_limit-attempt} retries left. Retrying in 1 second.\nError:\n{e}"
|
|
105
|
+
message=f"Got a retryable error {type(e)}. {retry_limit - attempt} retries left. Retrying in 1 second.\nError:\n{e}"
|
|
106
106
|
)
|
|
107
107
|
)
|
|
108
108
|
time.sleep(1)
|
dbt/adapters/sql/impl.py
CHANGED
|
@@ -75,7 +75,7 @@ class SQLAdapter(BaseAdapter):
|
|
|
75
75
|
import agate
|
|
76
76
|
|
|
77
77
|
# TODO CT-211
|
|
78
|
-
decimals = agate_table.aggregate(agate.MaxPrecision(col_idx))
|
|
78
|
+
decimals = agate_table.aggregate(agate.MaxPrecision(col_idx))
|
|
79
79
|
return "float8" if decimals else "integer"
|
|
80
80
|
|
|
81
81
|
@classmethod
|
|
@@ -247,7 +247,7 @@ class SQLAdapter(BaseAdapter):
|
|
|
247
247
|
# return fetched output for engines where explain plans are emitted as columnar
|
|
248
248
|
# results. Any macro override that deviates from this behavior may encounter an
|
|
249
249
|
# assertion error in the runtime.
|
|
250
|
-
adapter_response = result.response
|
|
250
|
+
adapter_response = result.response
|
|
251
251
|
assert isinstance(adapter_response, AdapterResponse), (
|
|
252
252
|
f"Expected AdapterResponse from validate_sql macro execution, "
|
|
253
253
|
f"got {type(adapter_response)}."
|
|
@@ -61,36 +61,23 @@
|
|
|
61
61
|
{%- set dest_cols_csv = get_quoted_csv(dest_columns | map(attribute="name")) -%}
|
|
62
62
|
|
|
63
63
|
{% if unique_key %}
|
|
64
|
-
{% if unique_key is
|
|
65
|
-
|
|
66
|
-
using {{ source }}
|
|
67
|
-
where (
|
|
68
|
-
{% for key in unique_key %}
|
|
69
|
-
{% set source_unique_key = (source ~ "." ~ key) | trim %}
|
|
70
|
-
{% set target_unique_key = (target ~ "." ~ key) | trim %}
|
|
71
|
-
{{ equals(source_unique_key, target_unique_key) }}
|
|
72
|
-
{{ "and " if not loop.last}}
|
|
73
|
-
{% endfor %}
|
|
74
|
-
{% if incremental_predicates %}
|
|
75
|
-
{% for predicate in incremental_predicates %}
|
|
76
|
-
and {{ predicate }}
|
|
77
|
-
{% endfor %}
|
|
78
|
-
{% endif %}
|
|
79
|
-
);
|
|
80
|
-
{% else %}
|
|
81
|
-
delete from {{ target }}
|
|
82
|
-
where (
|
|
83
|
-
{{ unique_key }}) in (
|
|
84
|
-
select ({{ unique_key }})
|
|
85
|
-
from {{ source }}
|
|
86
|
-
)
|
|
87
|
-
{%- if incremental_predicates %}
|
|
88
|
-
{% for predicate in incremental_predicates %}
|
|
89
|
-
and {{ predicate }}
|
|
90
|
-
{% endfor %}
|
|
91
|
-
{%- endif -%};
|
|
92
|
-
|
|
64
|
+
{% if unique_key is string %}
|
|
65
|
+
{% set unique_key = [unique_key] %}
|
|
93
66
|
{% endif %}
|
|
67
|
+
|
|
68
|
+
{%- set unique_key_str = unique_key|join(', ') -%}
|
|
69
|
+
|
|
70
|
+
delete from {{ target }}
|
|
71
|
+
where ({{ unique_key_str }}) in (
|
|
72
|
+
select distinct {{ unique_key_str }}
|
|
73
|
+
from {{ source }}
|
|
74
|
+
)
|
|
75
|
+
{%- if incremental_predicates %}
|
|
76
|
+
{% for predicate in incremental_predicates %}
|
|
77
|
+
and {{ predicate }}
|
|
78
|
+
{% endfor %}
|
|
79
|
+
{%- endif -%};
|
|
80
|
+
|
|
94
81
|
{% endif %}
|
|
95
82
|
|
|
96
83
|
insert into {{ target }} ({{ dest_cols_csv }})
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: dbt-adapters
|
|
3
|
+
Version: 1.14.1
|
|
4
|
+
Summary: The set of adapter protocols and base functionality that supports integration with dbt-core
|
|
5
|
+
Project-URL: Homepage, https://github.com/dbt-labs/dbt-adapters/tree/main/dbt-adapters
|
|
6
|
+
Project-URL: Documentation, https://docs.getdbt.com
|
|
7
|
+
Project-URL: Repository, https://github.com/dbt-labs/dbt-adapters.git#subdirectory=dbt-adapters
|
|
8
|
+
Project-URL: Issues, https://github.com/dbt-labs/dbt-adapters/issues
|
|
9
|
+
Project-URL: Changelog, https://github.com/dbt-labs/dbt-adapters/blob/main/dbt-adapters/CHANGELOG.md
|
|
10
|
+
Author-email: dbt Labs <info@dbtlabs.com>
|
|
11
|
+
Maintainer-email: dbt Labs <info@dbtlabs.com>
|
|
12
|
+
License-File: LICENSE
|
|
13
|
+
Keywords: adapter,adapters,database,dbt,dbt Cloud,dbt Core,dbt Labs,dbt-core,elt
|
|
14
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
15
|
+
Classifier: License :: OSI Approved :: Apache Software License
|
|
16
|
+
Classifier: Operating System :: MacOS :: MacOS X
|
|
17
|
+
Classifier: Operating System :: Microsoft :: Windows
|
|
18
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
23
|
+
Requires-Python: >=3.9.0
|
|
24
|
+
Requires-Dist: agate<2.0,>=1.0
|
|
25
|
+
Requires-Dist: dbt-common<2.0,>=1.13
|
|
26
|
+
Requires-Dist: mashumaro[msgpack]<3.15,>=3.9
|
|
27
|
+
Requires-Dist: protobuf<6.0,>=5.0
|
|
28
|
+
Requires-Dist: pytz>=2015.7
|
|
29
|
+
Requires-Dist: typing-extensions<5.0,>=4.0
|
|
30
|
+
Description-Content-Type: text/markdown
|
|
31
|
+
|
|
32
|
+
<p align="center">
|
|
33
|
+
<img
|
|
34
|
+
src="https://raw.githubusercontent.com/dbt-labs/dbt/ec7dee39f793aa4f7dd3dae37282cc87664813e4/etc/dbt-logo-full.svg"
|
|
35
|
+
alt="dbt logo"
|
|
36
|
+
width="500"
|
|
37
|
+
/>
|
|
38
|
+
</p>
|
|
39
|
+
|
|
40
|
+
<p align="center">
|
|
41
|
+
<a href="https://pypi.org/project/dbt-adapters/">
|
|
42
|
+
<img src="https://badge.fury.io/py/dbt-adapters.svg" />
|
|
43
|
+
</a>
|
|
44
|
+
<a target="_blank" href="https://pypi.org/project/dbt-adapters/" style="background:none">
|
|
45
|
+
<img src="https://img.shields.io/pypi/pyversions/dbt-adapters">
|
|
46
|
+
</a>
|
|
47
|
+
<a href="https://github.com/psf/black">
|
|
48
|
+
<img src="https://img.shields.io/badge/code%20style-black-000000.svg" />
|
|
49
|
+
</a>
|
|
50
|
+
<a href="https://github.com/python/mypy">
|
|
51
|
+
<img src="https://www.mypy-lang.org/static/mypy_badge.svg" />
|
|
52
|
+
</a>
|
|
53
|
+
<a href="https://pepy.tech/project/dbt-athena">
|
|
54
|
+
<img src="https://static.pepy.tech/badge/dbt-adapters/month" />
|
|
55
|
+
</a>
|
|
56
|
+
</p>
|
|
57
|
+
|
|
58
|
+
# Adapters
|
|
59
|
+
|
|
60
|
+
There are two major adapter types: [base](/dbt-adapters/src/dbt/adapters/base/impl.py) and [sql](/dbt-adapters/src/dbt/adapters/sql/impl.py).
|
|
61
|
+
|
|
62
|
+
## `base`
|
|
63
|
+
|
|
64
|
+
`BaseAdapter` defines the base functionality an adapter is required to implement in order to function with `dbt-core`.
|
|
65
|
+
There are several methods which have default implementations as well as methods that require the concrete adapter to implement them.
|
|
66
|
+
|
|
67
|
+
## `sql`
|
|
68
|
+
|
|
69
|
+
`SQLAdapter` inherits from `BaseAdapter`, updates default implementations to work with SQL-based platforms,
|
|
70
|
+
and defines additional required methods to support those defaults.
|
|
71
|
+
|
|
72
|
+
# Components
|
|
73
|
+
|
|
74
|
+
An adapter is composed of several components.
|
|
75
|
+
|
|
76
|
+
- connections
|
|
77
|
+
- dialect
|
|
78
|
+
- relation caching
|
|
79
|
+
- integration with `dbt-core`
|
|
80
|
+
|
|
81
|
+
The first two are platform-specific and require significant implementation in a concrete adapter.
|
|
82
|
+
The last two are largely implemented in `dbt-adapters` with minor adjustments in a concrete adapter.
|
|
83
|
+
|
|
84
|
+
## Connections
|
|
85
|
+
|
|
86
|
+
This component is responsible for creating and managing connections to storage and compute.
|
|
87
|
+
|
|
88
|
+
#### Files
|
|
89
|
+
- `dbt/adapters/{base|sql}/connections.py`
|
|
90
|
+
|
|
91
|
+
## Dialect
|
|
92
|
+
|
|
93
|
+
This component is responsible for translating a request from `dbt-core` into a specific set of actions on the platform.
|
|
94
|
+
|
|
95
|
+
#### Files
|
|
96
|
+
- `dbt/adapters/base/column.py`
|
|
97
|
+
- `dbt/adapters/base/query_headers.py`
|
|
98
|
+
- `dbt/adapters/base/relation.py`
|
|
99
|
+
- `dbt/adapters/relation_configs/*`
|
|
100
|
+
- `dbt/adapters/clients/jinja.py`
|
|
101
|
+
- `dbt/include/global_project/*`
|
|
102
|
+
|
|
103
|
+
## Relation caching
|
|
104
|
+
|
|
105
|
+
This component is responsible for managing a local cache of relations, relation metadata, and dependencies between relations.
|
|
106
|
+
|
|
107
|
+
#### Files
|
|
108
|
+
- `dbt/adapters/cache.py`
|
|
109
|
+
|
|
110
|
+
## Integration with `dbt-core`
|
|
111
|
+
|
|
112
|
+
This component is responsible for managing the interface between `dbt-core` and a concrete adapter.
|
|
113
|
+
|
|
114
|
+
#### Files
|
|
115
|
+
- `dbt/adapters/{base|sql}/impl.py`
|
|
116
|
+
- `dbt/adapters/base/meta.py`
|
|
117
|
+
- `dbt/adapters/base/plugin.py`
|
|
118
|
+
- `dbt/adapters/capability.py`
|
|
119
|
+
- `dbt/adapters/factory.py`
|
|
120
|
+
- `dbt/adapters/protocol.py`
|
|
121
|
+
- `dbt/adapters/contracts/*`
|
|
122
|
+
- `dbt/adapters/events/*`
|
|
123
|
+
- `dbt/adapters/exceptions/*`
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
dbt/adapters/__about__.py,sha256=
|
|
1
|
+
dbt/adapters/__about__.py,sha256=26nkdQZKefPNAbIF7Yze47tJRP5s4mUkOm3Lsjdi2Sk,19
|
|
2
2
|
dbt/adapters/__init__.py,sha256=3noHsg-64qI0_Pw6OR9F7l1vU2_qrJvinq8POTtuaZM,252
|
|
3
3
|
dbt/adapters/cache.py,sha256=WGy4ewnz-J13LverTACBW2iFhGswrWLgm-wiBrQnMzo,20084
|
|
4
4
|
dbt/adapters/capability.py,sha256=M3FkC9veKnNB7a7uQyl7EHX_AGNXPChbHAkcY4cgXCY,2534
|
|
5
5
|
dbt/adapters/factory.py,sha256=9N-LjTnyqBKqK7KARjJdAPdQIRXQbVRfd2cBNDtU4Dc,9378
|
|
6
|
-
dbt/adapters/protocol.py,sha256=
|
|
6
|
+
dbt/adapters/protocol.py,sha256=4Em-TrGOlA7r8vcrKe7BtdIHKjVowWvZQRNisTu9Z8I,3796
|
|
7
7
|
dbt/adapters/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
8
8
|
dbt/adapters/reference_keys.py,sha256=lRN3gPdQD6Qciy-BAGx_rz3CFlbS7zMSZ43pZ_9ondE,1046
|
|
9
9
|
dbt/adapters/utils.py,sha256=OtakbxPgxwrxN5Yd2vAO-cvLETSgzBwMWebhgegAVyA,2414
|
|
@@ -11,15 +11,15 @@ dbt/adapters/base/README.md,sha256=muHQntC07Lh6L1XfVgwKhV5RltOPBLYPdQqd8_7l34c,5
|
|
|
11
11
|
dbt/adapters/base/__init__.py,sha256=Nc8lQVkOzAqdcxk4cw4E_raxN9CAWMwhQx4STdiicxg,456
|
|
12
12
|
dbt/adapters/base/column.py,sha256=Uj20UixoxCn2rlv4QDNONyys6CDkDFyG3anCXKf0T2c,5350
|
|
13
13
|
dbt/adapters/base/connections.py,sha256=-C5dOwGgMKH8n_v6wjwOxV7chBdS0GjOGwNQCUbhhWc,16951
|
|
14
|
-
dbt/adapters/base/impl.py,sha256=
|
|
15
|
-
dbt/adapters/base/meta.py,sha256=
|
|
14
|
+
dbt/adapters/base/impl.py,sha256=92zwLFAFe7DJH-raacInT78KIiOM6Mp1h7Ptr9X-sj4,74837
|
|
15
|
+
dbt/adapters/base/meta.py,sha256=c5j0qeGec1cAi-IlVV_JkhMk01p5XqbtGj02uxGP1S4,5686
|
|
16
16
|
dbt/adapters/base/plugin.py,sha256=rm0GjNHnWM2mn0GJOjciZLwn-02xlzWCoMT9u-epwP0,1076
|
|
17
17
|
dbt/adapters/base/query_headers.py,sha256=UluGd9IYCYkoMiDi5Yx_lnrCOSjWppjwRro4SIGgx8I,3496
|
|
18
|
-
dbt/adapters/base/relation.py,sha256=
|
|
18
|
+
dbt/adapters/base/relation.py,sha256=keN8E2gBbe6rKbguKYmFuLxCrc1qye-lpOeENt9Jeho,18896
|
|
19
19
|
dbt/adapters/clients/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
20
20
|
dbt/adapters/clients/jinja.py,sha256=NsZOiBpOLunS46hRL5OcX1MpY3Ih6_87Vgz4qd_PNbc,768
|
|
21
21
|
dbt/adapters/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
22
|
-
dbt/adapters/contracts/connection.py,sha256=
|
|
22
|
+
dbt/adapters/contracts/connection.py,sha256=35mErirojY6Au63wjFgQokk_x7JWHjPUa6hiXjDEs0k,6917
|
|
23
23
|
dbt/adapters/contracts/macros.py,sha256=NYVDi5ww7v4ksKBwF836TXE-2xU4IBaUINqvxMY-ieU,366
|
|
24
24
|
dbt/adapters/contracts/relation.py,sha256=H_IYxRtg9LV8kYAfAiWeQAf-2ByMRN-EkfxHim-7AJE,4731
|
|
25
25
|
dbt/adapters/events/README.md,sha256=kVUFIsDQrHTUmk9Mmu-yXYkWh4pA5MJK_H6739rQr5I,3521
|
|
@@ -46,12 +46,12 @@ dbt/adapters/record/cursor/fetchone.py,sha256=IKtzTMQjSeK3g0svtWMXLx_7OGx6HpbPh1
|
|
|
46
46
|
dbt/adapters/record/cursor/rowcount.py,sha256=BuiRd_JpQTPN3YaGACfsXe1vmsvO4c49kCpIBZoG6hE,515
|
|
47
47
|
dbt/adapters/relation_configs/README.md,sha256=VVeqMLbBWsBVNXHa9GLKLBN25Ivc8y78GR-6OB2tf4U,1809
|
|
48
48
|
dbt/adapters/relation_configs/__init__.py,sha256=Il1HHEI8HJGHEi2B8qsgv_CoNA2STO7SULDi78fQwZg,354
|
|
49
|
-
dbt/adapters/relation_configs/config_base.py,sha256=
|
|
49
|
+
dbt/adapters/relation_configs/config_base.py,sha256=CAsnpbNSlwMgy47oQ_Iv-hRu6mObsMZY-l6T3DG-VIo,1740
|
|
50
50
|
dbt/adapters/relation_configs/config_change.py,sha256=hf6fDWbZpKvZdM6z-OtY-GveipzfLRR_dsUZmYmXkdk,713
|
|
51
51
|
dbt/adapters/relation_configs/config_validation.py,sha256=wlJUMwOEPhYFch-LRtEWfLNJMq8jL1tRhOUHmNX8nFw,1978
|
|
52
52
|
dbt/adapters/sql/__init__.py,sha256=WLWZJfqc8pr1N1BMVe9gM-KQ4URJIeKfLqTuJBD1VN0,107
|
|
53
|
-
dbt/adapters/sql/connections.py,sha256=
|
|
54
|
-
dbt/adapters/sql/impl.py,sha256=
|
|
53
|
+
dbt/adapters/sql/connections.py,sha256=JEMvgOW167je6J33Xj_Q605cB-9gDNOmCo3zdAnWiI8,8424
|
|
54
|
+
dbt/adapters/sql/impl.py,sha256=mZ0yuvH4ee2CQm-Kt-2qt3ANMgIP8nQKdIYD0xTToU8,10703
|
|
55
55
|
dbt/include/__init__.py,sha256=qEFeq3yuf3lQKVseALmL8aPM8fpCS54B_5pry00M3hk,76
|
|
56
56
|
dbt/include/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
57
57
|
dbt/include/global_project/__init__.py,sha256=-0HL5OkeJSrxglm1Y-UltTiBPY2BbWx8ZpTiJ7ypSvw,73
|
|
@@ -88,7 +88,7 @@ dbt/include/global_project/macros/materializations/models/clone/create_or_replac
|
|
|
88
88
|
dbt/include/global_project/macros/materializations/models/incremental/column_helpers.sql,sha256=hslQlGKW0oW97srfugsFVRR-L6RrzRcnwr3uLhzI0X4,2577
|
|
89
89
|
dbt/include/global_project/macros/materializations/models/incremental/incremental.sql,sha256=8gyBXan-saJ9GTSa8d05vMa-RSwyZ7pStOeHJpHU4BI,4374
|
|
90
90
|
dbt/include/global_project/macros/materializations/models/incremental/is_incremental.sql,sha256=Sm1TqOeqcCQofj3REFcA97yukPB1J_mClDd55r5GewE,478
|
|
91
|
-
dbt/include/global_project/macros/materializations/models/incremental/merge.sql,sha256=
|
|
91
|
+
dbt/include/global_project/macros/materializations/models/incremental/merge.sql,sha256=slUOJSR6FzbQa3S6qbyxg-2OqyhI-SHZoT6a1T90dAk,4796
|
|
92
92
|
dbt/include/global_project/macros/materializations/models/incremental/on_schema_change.sql,sha256=EOgcrYhwOGVPnyaBu7kIfe8LTOYVOu-AhxMtBs8ETpQ,4927
|
|
93
93
|
dbt/include/global_project/macros/materializations/models/incremental/strategies.sql,sha256=ORGWiYfj-b3_VIps9FDlyx-Q4A2hZzX2aYLocW8b6pU,2613
|
|
94
94
|
dbt/include/global_project/macros/materializations/seeds/helpers.sql,sha256=Y15ej-D3gm1ExIOMNT208q43gRk8d985WQBuGSooNL0,3920
|
|
@@ -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.14.
|
|
161
|
-
dbt_adapters-1.14.
|
|
162
|
-
dbt_adapters-1.14.
|
|
163
|
-
dbt_adapters-1.14.
|
|
160
|
+
dbt_adapters-1.14.1.dist-info/METADATA,sha256=SG9otq8IHTaawNtOAJwWLi72QMWGWbtRq5hP67q0T18,4494
|
|
161
|
+
dbt_adapters-1.14.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
162
|
+
dbt_adapters-1.14.1.dist-info/licenses/LICENSE,sha256=9yjigiJhWcCZvQjdagGKDwrRph58QWc5P2bVSQwXo6s,11344
|
|
163
|
+
dbt_adapters-1.14.1.dist-info/RECORD,,
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: dbt-adapters
|
|
3
|
-
Version: 1.14.0
|
|
4
|
-
Summary: The set of adapter protocols and base functionality that supports integration with dbt-core
|
|
5
|
-
Project-URL: Homepage, https://github.com/dbt-labs/dbt-adapters/tree/main/dbt-adapters
|
|
6
|
-
Project-URL: Documentation, https://docs.getdbt.com
|
|
7
|
-
Project-URL: Repository, https://github.com/dbt-labs/dbt-adapters.git#subdirectory=dbt-adapters
|
|
8
|
-
Project-URL: Issues, https://github.com/dbt-labs/dbt-adapters/issues
|
|
9
|
-
Project-URL: Changelog, https://github.com/dbt-labs/dbt-adapters/blob/main/dbt-adapters/CHANGELOG.md
|
|
10
|
-
Author-email: dbt Labs <info@dbtlabs.com>
|
|
11
|
-
Maintainer-email: dbt Labs <info@dbtlabs.com>
|
|
12
|
-
License-File: LICENSE
|
|
13
|
-
Keywords: adapter,adapters,database,dbt,dbt Cloud,dbt Core,dbt Labs,dbt-core,elt
|
|
14
|
-
Classifier: Development Status :: 5 - Production/Stable
|
|
15
|
-
Classifier: License :: OSI Approved :: Apache Software License
|
|
16
|
-
Classifier: Operating System :: MacOS :: MacOS X
|
|
17
|
-
Classifier: Operating System :: Microsoft :: Windows
|
|
18
|
-
Classifier: Operating System :: POSIX :: Linux
|
|
19
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
20
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
21
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
22
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
23
|
-
Requires-Python: >=3.9.0
|
|
24
|
-
Requires-Dist: agate<2.0,>=1.0
|
|
25
|
-
Requires-Dist: dbt-common<2.0,>=1.13
|
|
26
|
-
Requires-Dist: mashumaro[msgpack]<3.15,>=3.9
|
|
27
|
-
Requires-Dist: protobuf<6.0,>=5.0
|
|
28
|
-
Requires-Dist: pytz>=2015.7
|
|
29
|
-
Requires-Dist: typing-extensions<5.0,>=4.0
|
|
30
|
-
Description-Content-Type: text/markdown
|
|
31
|
-
|
|
32
|
-
<p align="center">
|
|
33
|
-
<img src="https://raw.githubusercontent.com/dbt-labs/dbt/ec7dee39f793aa4f7dd3dae37282cc87664813e4/etc/dbt-logo-full.svg" alt="dbt logo" width="500"/>
|
|
34
|
-
</p>
|
|
35
|
-
|
|
36
|
-
# dbt-adapters
|
|
37
|
-
|
|
38
|
-
This package is responsible for:
|
|
39
|
-
|
|
40
|
-
- defining database connection methods
|
|
41
|
-
- caching information from databases
|
|
42
|
-
- determining how relations are defined
|
|
43
|
-
|
|
44
|
-
In this repo there is also our testing suite used for tesing adapter functionality
|
|
45
|
-
|
|
46
|
-
# Adapters
|
|
47
|
-
|
|
48
|
-
There are two major adapter types: base and sql
|
|
49
|
-
|
|
50
|
-
## `base`
|
|
51
|
-
|
|
52
|
-
Defines the base implementation Adapters can use to build out full functionality.
|
|
53
|
-
|
|
54
|
-
## `sql`
|
|
55
|
-
|
|
56
|
-
Defines a sql implementation for adapters that initially inherits the base implementation
|
|
57
|
-
and comes with some pre-made methods and macros that can be overwritten as needed per adapter.
|
|
58
|
-
(most common type of adapter.)
|
|
59
|
-
|
|
60
|
-
# Files
|
|
61
|
-
|
|
62
|
-
## `cache.py`
|
|
63
|
-
|
|
64
|
-
Cached information from the database.
|
|
65
|
-
|
|
66
|
-
## `factory.py`
|
|
67
|
-
|
|
68
|
-
Defines how we generate adapter objects
|
|
69
|
-
|
|
70
|
-
## `protocol.py`
|
|
71
|
-
|
|
72
|
-
Defines various interfaces for various adapter objects. Helps mypy correctly resolve methods.
|
|
73
|
-
|
|
74
|
-
## `reference_keys.py`
|
|
75
|
-
|
|
76
|
-
Configures naming scheme for cache elements to be universal.
|
|
File without changes
|
|
File without changes
|