dbt-adapters 1.16.5__py3-none-any.whl → 1.16.7__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 +8 -13
- dbt/adapters/catalogs/__init__.py +1 -0
- dbt/adapters/catalogs/_exceptions.py +7 -0
- dbt/adapters/exceptions/compilation.py +12 -0
- dbt/adapters/record/base.py +85 -2
- dbt/adapters/record/serialization.py +33 -1
- dbt/adapters/sql/impl.py +4 -1
- dbt/include/global_project/macros/materializations/snapshots/helpers.sql +1 -1
- dbt/include/global_project/macros/materializations/tests/unit.sql +3 -10
- dbt/include/global_project/macros/unit_test_sql/get_fixture_sql.sql +4 -7
- {dbt_adapters-1.16.5.dist-info → dbt_adapters-1.16.7.dist-info}/METADATA +1 -1
- {dbt_adapters-1.16.5.dist-info → dbt_adapters-1.16.7.dist-info}/RECORD +15 -15
- {dbt_adapters-1.16.5.dist-info → dbt_adapters-1.16.7.dist-info}/WHEEL +0 -0
- {dbt_adapters-1.16.5.dist-info → dbt_adapters-1.16.7.dist-info}/licenses/LICENSE +0 -0
dbt/adapters/__about__.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
version = "1.16.
|
|
1
|
+
version = "1.16.7"
|
dbt/adapters/base/impl.py
CHANGED
|
@@ -30,6 +30,7 @@ from dbt.adapters.record.base import (
|
|
|
30
30
|
AdapterGetPartitionsMetadataRecord,
|
|
31
31
|
AdapterConvertTypeRecord,
|
|
32
32
|
AdapterStandardizeGrantsDictRecord,
|
|
33
|
+
AdapterListRelationsWithoutCachingRecord,
|
|
33
34
|
)
|
|
34
35
|
from dbt_common.behavior_flags import Behavior, BehaviorFlag
|
|
35
36
|
from dbt_common.clients.jinja import CallableMacroGenerator
|
|
@@ -103,9 +104,7 @@ from dbt.adapters.exceptions import (
|
|
|
103
104
|
UnexpectedNonTimestampError,
|
|
104
105
|
)
|
|
105
106
|
from dbt.adapters.protocol import AdapterConfig, MacroContextGeneratorCallable
|
|
106
|
-
from dbt.adapters.events.logging import AdapterLogger
|
|
107
107
|
|
|
108
|
-
logger = AdapterLogger(__name__)
|
|
109
108
|
if TYPE_CHECKING:
|
|
110
109
|
import agate
|
|
111
110
|
|
|
@@ -155,25 +154,15 @@ def _catalog_filter_schemas(
|
|
|
155
154
|
"""Return a function that takes a row and decides if the row should be
|
|
156
155
|
included in the catalog output.
|
|
157
156
|
"""
|
|
158
|
-
schemas = frozenset(
|
|
159
|
-
(d.lower(), s.lower()) for d, s in used_schemas if d is not None and s is not None
|
|
160
|
-
)
|
|
161
|
-
if null_schemas := [d for d, s in used_schemas if d is None or s is None]:
|
|
162
|
-
logger.debug(
|
|
163
|
-
f"used_schemas contains None for either database or schema, skipping {null_schemas}"
|
|
164
|
-
)
|
|
157
|
+
schemas = frozenset((d.lower(), s.lower()) for d, s in used_schemas)
|
|
165
158
|
|
|
166
159
|
def test(row: "agate.Row") -> bool:
|
|
167
160
|
table_database = _expect_row_value("table_database", row)
|
|
168
161
|
table_schema = _expect_row_value("table_schema", row)
|
|
169
162
|
# the schema may be present but None, which is not an error and should
|
|
170
163
|
# be filtered out
|
|
171
|
-
|
|
172
164
|
if table_schema is None:
|
|
173
165
|
return False
|
|
174
|
-
if table_database is None:
|
|
175
|
-
logger.debug(f"table_database is None, skipping {table_schema}")
|
|
176
|
-
return False
|
|
177
166
|
return (table_database.lower(), table_schema.lower()) in schemas
|
|
178
167
|
|
|
179
168
|
return test
|
|
@@ -772,6 +761,12 @@ class BaseAdapter(metaclass=AdapterMeta):
|
|
|
772
761
|
"`expand_target_column_types` is not implemented for this adapter!"
|
|
773
762
|
)
|
|
774
763
|
|
|
764
|
+
@record_function(
|
|
765
|
+
AdapterListRelationsWithoutCachingRecord,
|
|
766
|
+
method=True,
|
|
767
|
+
index_on_thread_id=True,
|
|
768
|
+
id_field_name="thread_id",
|
|
769
|
+
)
|
|
775
770
|
@abc.abstractmethod
|
|
776
771
|
def list_relations_without_caching(self, schema_relation: BaseRelation) -> List[BaseRelation]:
|
|
777
772
|
"""List relations in the given schema, bypassing the cache.
|
|
@@ -3,6 +3,7 @@ from dbt.adapters.catalogs._exceptions import (
|
|
|
3
3
|
DbtCatalogIntegrationAlreadyExistsError,
|
|
4
4
|
DbtCatalogIntegrationNotFoundError,
|
|
5
5
|
DbtCatalogIntegrationNotSupportedError,
|
|
6
|
+
InvalidCatalogIntegrationConfigError,
|
|
6
7
|
)
|
|
7
8
|
from dbt.adapters.catalogs._integration import (
|
|
8
9
|
CatalogIntegration,
|
|
@@ -30,3 +30,10 @@ class DbtCatalogIntegrationNotSupportedError(DbtConfigError):
|
|
|
30
30
|
f"Expected one of: {', '.join(supported_catalog_types)}"
|
|
31
31
|
)
|
|
32
32
|
super().__init__(msg)
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
class InvalidCatalogIntegrationConfigError(DbtConfigError):
|
|
36
|
+
def __init__(self, catalog_name: str, msg: str) -> None:
|
|
37
|
+
self.catalog_name = catalog_name
|
|
38
|
+
msg = f"Invalid catalog integration config: {self.catalog_name}. {msg}"
|
|
39
|
+
super().__init__(msg)
|
|
@@ -255,3 +255,15 @@ class RelationWrongTypeError(CompilationError):
|
|
|
255
255
|
)
|
|
256
256
|
|
|
257
257
|
return msg
|
|
258
|
+
|
|
259
|
+
|
|
260
|
+
class InvalidRelationConfigError(CompilationError):
|
|
261
|
+
def __init__(self, relation, config, msg):
|
|
262
|
+
self.relation = relation
|
|
263
|
+
self.config = config
|
|
264
|
+
self.msg = msg
|
|
265
|
+
super().__init__(msg=self.get_message())
|
|
266
|
+
|
|
267
|
+
def get_message(self) -> str:
|
|
268
|
+
msg = f"Invalid relation config: {self.config}"
|
|
269
|
+
return msg
|
dbt/adapters/record/base.py
CHANGED
|
@@ -2,14 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
import dataclasses
|
|
4
4
|
|
|
5
|
-
from typing import Optional, Tuple, Dict, Any, TYPE_CHECKING
|
|
5
|
+
from typing import Optional, Tuple, Dict, Any, TYPE_CHECKING, List
|
|
6
6
|
|
|
7
7
|
from dbt.adapters.contracts.connection import AdapterResponse
|
|
8
|
-
from dbt.adapters.record.serialization import serialize_agate_table
|
|
8
|
+
from dbt.adapters.record.serialization import serialize_agate_table, serialize_bindings
|
|
9
9
|
from dbt_common.record import Record, Recorder
|
|
10
10
|
|
|
11
11
|
if TYPE_CHECKING:
|
|
12
12
|
from agate import Table
|
|
13
|
+
from dbt.adapters.base.relation import BaseRelation
|
|
13
14
|
|
|
14
15
|
|
|
15
16
|
@dataclasses.dataclass
|
|
@@ -161,3 +162,85 @@ class AdapterStandardizeGrantsDictRecord(Record):
|
|
|
161
162
|
params_cls = AdapterStandardizeGrantsDictParams
|
|
162
163
|
result_cls = AdapterStandardizeGrantsDictResult
|
|
163
164
|
group = "Available"
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
@dataclasses.dataclass
|
|
168
|
+
class AdapterAddQueryParams:
|
|
169
|
+
thread_id: str
|
|
170
|
+
sql: str
|
|
171
|
+
auto_begin: bool = True
|
|
172
|
+
bindings: Optional[Any] = None
|
|
173
|
+
abridge_sql_log: bool = False
|
|
174
|
+
|
|
175
|
+
def _to_dict(self):
|
|
176
|
+
return {
|
|
177
|
+
"thread_id": self.thread_id,
|
|
178
|
+
"sql": self.sql,
|
|
179
|
+
"auto_begin": self.auto_begin,
|
|
180
|
+
"bindings": serialize_bindings(self.bindings),
|
|
181
|
+
"abridge_sql_log": self.abridge_sql_log,
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
@dataclasses.dataclass
|
|
186
|
+
class AdapterAddQueryResult:
|
|
187
|
+
return_val: Tuple[str, str]
|
|
188
|
+
|
|
189
|
+
def _to_dict(self):
|
|
190
|
+
return {
|
|
191
|
+
"return_val": {
|
|
192
|
+
"conn": "conn",
|
|
193
|
+
"cursor": "cursor",
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
@Recorder.register_record_type
|
|
199
|
+
class AdapterAddQueryRecord(Record):
|
|
200
|
+
params_cls = AdapterAddQueryParams
|
|
201
|
+
result_cls = AdapterAddQueryResult
|
|
202
|
+
group = "Available"
|
|
203
|
+
|
|
204
|
+
|
|
205
|
+
@dataclasses.dataclass
|
|
206
|
+
class AdapterListRelationsWithoutCachingParams:
|
|
207
|
+
thread_id: str
|
|
208
|
+
schema_relation: "BaseRelation"
|
|
209
|
+
|
|
210
|
+
def _to_dict(self):
|
|
211
|
+
from dbt.adapters.record.serialization import serialize_base_relation
|
|
212
|
+
|
|
213
|
+
return {
|
|
214
|
+
"thread_id": self.thread_id,
|
|
215
|
+
"schema_relation": serialize_base_relation(self.schema_relation),
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
def _from_dict(self, data: Dict[str, Any]):
|
|
219
|
+
from dbt.adapters.record.serialization import deserialize_base_relation
|
|
220
|
+
|
|
221
|
+
self.thread_id = data["thread_id"]
|
|
222
|
+
self.schema_relation = deserialize_base_relation(data["schema_relation"])
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
@dataclasses.dataclass
|
|
226
|
+
class AdapterListRelationsWithoutCachingResult:
|
|
227
|
+
return_val: List["BaseRelation"]
|
|
228
|
+
|
|
229
|
+
def _to_dict(self):
|
|
230
|
+
from dbt.adapters.record.serialization import serialize_base_relation_list
|
|
231
|
+
|
|
232
|
+
return {"return_val": serialize_base_relation_list(self.return_val)}
|
|
233
|
+
|
|
234
|
+
def _from_dict(self, data: Dict[str, Any]):
|
|
235
|
+
from dbt.adapters.record.serialization import deserialize_base_relation_list
|
|
236
|
+
|
|
237
|
+
self.return_val = deserialize_base_relation_list(data["return_val"])
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
@Recorder.register_record_type
|
|
241
|
+
class AdapterListRelationsWithoutCachingRecord(Record):
|
|
242
|
+
"""Implements record/replay support for the BaseAdapter.list_relations_without_caching() method."""
|
|
243
|
+
|
|
244
|
+
params_cls = AdapterListRelationsWithoutCachingParams
|
|
245
|
+
result_cls = AdapterListRelationsWithoutCachingResult
|
|
246
|
+
group = "Available"
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
from datetime import datetime, date
|
|
2
2
|
from decimal import Decimal
|
|
3
|
-
from typing import Any, Dict, TYPE_CHECKING
|
|
3
|
+
from typing import Any, Dict, TYPE_CHECKING, List, Union
|
|
4
4
|
|
|
5
5
|
if TYPE_CHECKING:
|
|
6
6
|
from agate import Table
|
|
7
|
+
from dbt.adapters.base.relation import BaseRelation
|
|
7
8
|
|
|
8
9
|
|
|
9
10
|
def _column_filter(val: Any) -> Any:
|
|
@@ -29,3 +30,34 @@ def serialize_agate_table(table: "Table") -> Dict[str, Any]:
|
|
|
29
30
|
"column_types": [t.__class__.__name__ for t in table.column_types],
|
|
30
31
|
"rows": rows,
|
|
31
32
|
}
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
def serialize_bindings(bindings: Any) -> Union[None, List[Any], str]:
|
|
36
|
+
if bindings is None:
|
|
37
|
+
return None
|
|
38
|
+
elif isinstance(bindings, list):
|
|
39
|
+
return list(map(_column_filter, bindings))
|
|
40
|
+
else:
|
|
41
|
+
return "bindings"
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
def serialize_base_relation(relation: "BaseRelation") -> Dict[str, Any]:
|
|
45
|
+
"""Serialize a BaseRelation object for recording."""
|
|
46
|
+
return relation.to_dict(omit_none=True)
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
def serialize_base_relation_list(relations: List["BaseRelation"]) -> List[Dict[str, Any]]:
|
|
50
|
+
"""Serialize a list of BaseRelation objects for recording."""
|
|
51
|
+
return [serialize_base_relation(relation) for relation in relations]
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
def deserialize_base_relation(relation_dict: Dict[str, Any]) -> "BaseRelation":
|
|
55
|
+
"""Deserialize a BaseRelation object from a dictionary."""
|
|
56
|
+
from dbt.adapters.base.relation import BaseRelation
|
|
57
|
+
|
|
58
|
+
return BaseRelation.from_dict(relation_dict)
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
def deserialize_base_relation_list(relations_data: List[Dict[str, Any]]) -> List["BaseRelation"]:
|
|
62
|
+
"""Deserialize a list of BaseRelation objects from dictionaries."""
|
|
63
|
+
return [deserialize_base_relation(relation_dict) for relation_dict in relations_data]
|
dbt/adapters/sql/impl.py
CHANGED
|
@@ -8,7 +8,7 @@ from dbt.adapters.cache import _make_ref_key_dict
|
|
|
8
8
|
from dbt.adapters.contracts.connection import AdapterResponse, Connection
|
|
9
9
|
from dbt.adapters.events.types import ColTypeChange, SchemaCreation, SchemaDrop
|
|
10
10
|
from dbt.adapters.exceptions import RelationTypeNullError
|
|
11
|
-
from dbt.adapters.record.base import AdapterTestSqlRecord
|
|
11
|
+
from dbt.adapters.record.base import AdapterTestSqlRecord, AdapterAddQueryRecord
|
|
12
12
|
from dbt.adapters.sql.connections import SQLConnectionManager
|
|
13
13
|
|
|
14
14
|
LIST_RELATIONS_MACRO_NAME = "list_relations_without_caching"
|
|
@@ -49,6 +49,9 @@ class SQLAdapter(BaseAdapter):
|
|
|
49
49
|
connections: SQLConnectionManager
|
|
50
50
|
|
|
51
51
|
@available.parse(lambda *a, **k: (None, None))
|
|
52
|
+
@record_function(
|
|
53
|
+
AdapterAddQueryRecord, method=True, index_on_thread_id=True, id_field_name="thread_id"
|
|
54
|
+
)
|
|
52
55
|
def add_query(
|
|
53
56
|
self,
|
|
54
57
|
sql: str,
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
{% macro default__create_columns(relation, columns) %}
|
|
9
9
|
{% for column in columns %}
|
|
10
10
|
{% call statement() %}
|
|
11
|
-
alter table {{ relation.render() }} add column {{
|
|
11
|
+
alter table {{ relation.render() }} add column "{{ column.name }}" {{ column.data_type }};
|
|
12
12
|
{% endcall %}
|
|
13
13
|
{% endfor %}
|
|
14
14
|
{% endmacro %}
|
|
@@ -4,28 +4,21 @@
|
|
|
4
4
|
|
|
5
5
|
{% set expected_rows = config.get('expected_rows') %}
|
|
6
6
|
{% set expected_sql = config.get('expected_sql') %}
|
|
7
|
-
{% set tested_expected_column_names = expected_rows[0].keys() if (expected_rows | length ) > 0 else get_columns_in_query(sql) %}
|
|
7
|
+
{% set tested_expected_column_names = expected_rows[0].keys() if (expected_rows | length ) > 0 else get_columns_in_query(sql) %} %}
|
|
8
8
|
|
|
9
9
|
{%- set target_relation = this.incorporate(type='table') -%}
|
|
10
10
|
{%- set temp_relation = make_temp_relation(target_relation)-%}
|
|
11
11
|
{% do run_query(get_create_table_as_sql(True, temp_relation, get_empty_subquery_sql(sql))) %}
|
|
12
12
|
{%- set columns_in_relation = adapter.get_columns_in_relation(temp_relation) -%}
|
|
13
13
|
{%- set column_name_to_data_types = {} -%}
|
|
14
|
-
{%- set column_name_to_quoted = {} -%}
|
|
15
14
|
{%- for column in columns_in_relation -%}
|
|
16
15
|
{%- do column_name_to_data_types.update({column.name|lower: column.data_type}) -%}
|
|
17
|
-
{%- do column_name_to_quoted.update({column.name|lower: column.quoted}) -%}
|
|
18
|
-
{%- endfor -%}
|
|
19
|
-
|
|
20
|
-
{%- set expected_column_names_quoted = [] -%}
|
|
21
|
-
{%- for column_name in tested_expected_column_names -%}
|
|
22
|
-
{%- do expected_column_names_quoted.append(column_name_to_quoted[column_name|lower]) -%}
|
|
23
16
|
{%- endfor -%}
|
|
24
17
|
|
|
25
18
|
{% if not expected_sql %}
|
|
26
|
-
{% set expected_sql = get_expected_sql(expected_rows, column_name_to_data_types
|
|
19
|
+
{% set expected_sql = get_expected_sql(expected_rows, column_name_to_data_types) %}
|
|
27
20
|
{% endif %}
|
|
28
|
-
{% set unit_test_sql = get_unit_test_sql(sql, expected_sql,
|
|
21
|
+
{% set unit_test_sql = get_unit_test_sql(sql, expected_sql, tested_expected_column_names) %}
|
|
29
22
|
|
|
30
23
|
{% call statement('main', fetch_result=True) -%}
|
|
31
24
|
|
|
@@ -8,12 +8,9 @@
|
|
|
8
8
|
{%- set columns_in_relation = adapter.get_columns_in_relation(this_or_defer_relation) -%}
|
|
9
9
|
|
|
10
10
|
{%- set column_name_to_data_types = {} -%}
|
|
11
|
-
{%- set column_name_to_quoted = {} -%}
|
|
12
11
|
{%- for column in columns_in_relation -%}
|
|
13
|
-
|
|
14
12
|
{#-- This needs to be a case-insensitive comparison --#}
|
|
15
13
|
{%- do column_name_to_data_types.update({column.name|lower: column.data_type}) -%}
|
|
16
|
-
{%- do column_name_to_quoted.update({column.name|lower: column.quoted}) -%}
|
|
17
14
|
{%- endfor -%}
|
|
18
15
|
{%- endif -%}
|
|
19
16
|
|
|
@@ -32,7 +29,7 @@
|
|
|
32
29
|
{%- set default_row_copy = default_row.copy() -%}
|
|
33
30
|
{%- do default_row_copy.update(formatted_row) -%}
|
|
34
31
|
select
|
|
35
|
-
{%- for column_name, column_value in default_row_copy.items() %} {{ column_value }} as {{
|
|
32
|
+
{%- for column_name, column_value in default_row_copy.items() %} {{ column_value }} as {{ column_name }}{% if not loop.last -%}, {%- endif %}
|
|
36
33
|
{%- endfor %}
|
|
37
34
|
{%- if not loop.last %}
|
|
38
35
|
union all
|
|
@@ -41,14 +38,14 @@ union all
|
|
|
41
38
|
|
|
42
39
|
{%- if (rows | length) == 0 -%}
|
|
43
40
|
select
|
|
44
|
-
{%- for column_name, column_value in default_row.items() %} {{ column_value }} as {{
|
|
41
|
+
{%- for column_name, column_value in default_row.items() %} {{ column_value }} as {{ column_name }}{% if not loop.last -%},{%- endif %}
|
|
45
42
|
{%- endfor %}
|
|
46
43
|
limit 0
|
|
47
44
|
{%- endif -%}
|
|
48
45
|
{% endmacro %}
|
|
49
46
|
|
|
50
47
|
|
|
51
|
-
{% macro get_expected_sql(rows, column_name_to_data_types
|
|
48
|
+
{% macro get_expected_sql(rows, column_name_to_data_types) %}
|
|
52
49
|
|
|
53
50
|
{%- if (rows | length) == 0 -%}
|
|
54
51
|
select * from dbt_internal_unit_test_actual
|
|
@@ -57,7 +54,7 @@ union all
|
|
|
57
54
|
{%- for row in rows -%}
|
|
58
55
|
{%- set formatted_row = format_row(row, column_name_to_data_types) -%}
|
|
59
56
|
select
|
|
60
|
-
{%- for column_name, column_value in formatted_row.items() %} {{ column_value }} as {{
|
|
57
|
+
{%- for column_name, column_value in formatted_row.items() %} {{ column_value }} as {{ column_name }}{% if not loop.last -%}, {%- endif %}
|
|
61
58
|
{%- endfor %}
|
|
62
59
|
{%- if not loop.last %}
|
|
63
60
|
union all
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dbt-adapters
|
|
3
|
-
Version: 1.16.
|
|
3
|
+
Version: 1.16.7
|
|
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/tree/main/dbt-adapters
|
|
6
6
|
Project-URL: Documentation, https://docs.getdbt.com
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
dbt/adapters/__about__.py,sha256=
|
|
1
|
+
dbt/adapters/__about__.py,sha256=qawJQEbA0VcAfYV0P6yiD2cdsYWbKCiS1jWXQMpfTnQ,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
|
|
@@ -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=
|
|
14
|
+
dbt/adapters/base/impl.py,sha256=GNFQCEGJ22fuoOpdUGlhM6gorst6KltJJYfpwOk88cY,78699
|
|
15
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=rHgux9b_vPp_xRsg8QU3NE202Hho4i4zO9u9Gx_BCF4,3651
|
|
18
18
|
dbt/adapters/base/relation.py,sha256=eePneHZQ-bb0ZFaEpC_1xzsxJF38e6k7b3FUxD8PK0I,19383
|
|
19
|
-
dbt/adapters/catalogs/__init__.py,sha256=
|
|
19
|
+
dbt/adapters/catalogs/__init__.py,sha256=jiZb5IchAHnHSHz5J44l3Wzc0-oHeYXv4_7SBKOL7Pw,498
|
|
20
20
|
dbt/adapters/catalogs/_client.py,sha256=bIXZxEL1-4kSXHFPnMw3egIOx1fKZmjxKiO1Wv-KuHg,2258
|
|
21
21
|
dbt/adapters/catalogs/_constants.py,sha256=8O5wLK4oVqirpC9ap7PIXodq8XtkQhHJ5W0OU1xtwjk,55
|
|
22
|
-
dbt/adapters/catalogs/_exceptions.py,sha256=
|
|
22
|
+
dbt/adapters/catalogs/_exceptions.py,sha256=exanVSndLgMlpCyVIg5p1AUkQO2HiI4bkFtS3ADFVUQ,1407
|
|
23
23
|
dbt/adapters/catalogs/_integration.py,sha256=0acuF_Awoe-GJrCdNwBQldtgRmBtpqYpZkTPRVJFhys,6594
|
|
24
24
|
dbt/adapters/clients/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
25
25
|
dbt/adapters/clients/jinja.py,sha256=NsZOiBpOLunS46hRL5OcX1MpY3Ih6_87Vgz4qd_PNbc,768
|
|
@@ -36,13 +36,13 @@ dbt/adapters/events/types.py,sha256=cxGUlR2WceSOis81FwHS7rwfFpxCmy31ur5Yp8Pz4o0,
|
|
|
36
36
|
dbt/adapters/exceptions/__init__.py,sha256=LxRkxHARMzrPegrjha5tQ8vQi1PnL_ooq1SVqm9aiZs,1268
|
|
37
37
|
dbt/adapters/exceptions/alias.py,sha256=QlCd2jvatfndec1DQLMMBJ-C_7w8yAySuAFHK2ga1g8,798
|
|
38
38
|
dbt/adapters/exceptions/cache.py,sha256=u720DQQKm8pyf_9loD9HGA9WgaeZAlg0sBn0sGc-rhA,2492
|
|
39
|
-
dbt/adapters/exceptions/compilation.py,sha256=
|
|
39
|
+
dbt/adapters/exceptions/compilation.py,sha256=ylUvVLwlzeKqFr16pGhSqHBbE3Z-lneDppUQtNmrE-o,9065
|
|
40
40
|
dbt/adapters/exceptions/connection.py,sha256=x82j2Ix242Slm6Ima8Tol3GLOB9yZYH5lq6IV1WKq54,445
|
|
41
41
|
dbt/adapters/exceptions/database.py,sha256=nIXJdQyPQOZaiKvCkQ3MoKlKOiaN58rtDZflw3CSkug,1618
|
|
42
42
|
dbt/adapters/record/__init__.py,sha256=u_0eJzN5RL90oL-RNoP2wWGMCGp0kG0lZ0uVWnnGdxs,123
|
|
43
|
-
dbt/adapters/record/base.py,sha256=
|
|
43
|
+
dbt/adapters/record/base.py,sha256=4HAGpxUX-9JoWgrWctM29xX_EBfVUD-FbLGukQH33kM,6714
|
|
44
44
|
dbt/adapters/record/handle.py,sha256=hCQpDmZGKqJXrSqgYcb-F542TZi069uz1MY9fS15INo,1907
|
|
45
|
-
dbt/adapters/record/serialization.py,sha256=
|
|
45
|
+
dbt/adapters/record/serialization.py,sha256=aysH908v3qURycAPZ4a-TwDa5UQZrcmaeu1Zj_RFTvE,1987
|
|
46
46
|
dbt/adapters/record/cursor/cursor.py,sha256=AW0B1g0j5mn7pUnvsE7zd4_Zi7cSFOsyvPbE2HV0CPI,2967
|
|
47
47
|
dbt/adapters/record/cursor/description.py,sha256=5LNebP2AF2aicPWfM9FsD5r7SAmdac8TX_4NZfJQgPk,1060
|
|
48
48
|
dbt/adapters/record/cursor/execute.py,sha256=f8Yc1MKExj7QLbFnK8WnnwsoGESuYMWnFWhytbcAPjc,1271
|
|
@@ -57,7 +57,7 @@ dbt/adapters/relation_configs/config_change.py,sha256=hf6fDWbZpKvZdM6z-OtY-Gveip
|
|
|
57
57
|
dbt/adapters/relation_configs/config_validation.py,sha256=wlJUMwOEPhYFch-LRtEWfLNJMq8jL1tRhOUHmNX8nFw,1978
|
|
58
58
|
dbt/adapters/sql/__init__.py,sha256=WLWZJfqc8pr1N1BMVe9gM-KQ4URJIeKfLqTuJBD1VN0,107
|
|
59
59
|
dbt/adapters/sql/connections.py,sha256=N7Mmg9ZS5ztKQCbJgbb1jwVhaBeMBqnR_3SWxEytxzY,8453
|
|
60
|
-
dbt/adapters/sql/impl.py,sha256=
|
|
60
|
+
dbt/adapters/sql/impl.py,sha256=mTzK7vK-Nf6PdJwh8lzMnqOP5I6663s1ZMc3LomsYh4,11090
|
|
61
61
|
dbt/include/__init__.py,sha256=qEFeq3yuf3lQKVseALmL8aPM8fpCS54B_5pry00M3hk,76
|
|
62
62
|
dbt/include/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
63
63
|
dbt/include/global_project/__init__.py,sha256=-0HL5OkeJSrxglm1Y-UltTiBPY2BbWx8ZpTiJ7ypSvw,73
|
|
@@ -99,13 +99,13 @@ dbt/include/global_project/macros/materializations/models/incremental/on_schema_
|
|
|
99
99
|
dbt/include/global_project/macros/materializations/models/incremental/strategies.sql,sha256=ORGWiYfj-b3_VIps9FDlyx-Q4A2hZzX2aYLocW8b6pU,2613
|
|
100
100
|
dbt/include/global_project/macros/materializations/seeds/helpers.sql,sha256=Y15ej-D3gm1ExIOMNT208q43gRk8d985WQBuGSooNL0,3920
|
|
101
101
|
dbt/include/global_project/macros/materializations/seeds/seed.sql,sha256=YSoGzVO3iIUiOKIUM9G7yApGLFH4O9bv_d4KjHo3p4Q,2155
|
|
102
|
-
dbt/include/global_project/macros/materializations/snapshots/helpers.sql,sha256=
|
|
102
|
+
dbt/include/global_project/macros/materializations/snapshots/helpers.sql,sha256=7-W1PHBjeUhTpCXEPH0vb2jMSN-w_M6i6ksTFCduNSE,12455
|
|
103
103
|
dbt/include/global_project/macros/materializations/snapshots/snapshot.sql,sha256=clIZtCE7vvOXxzz1t2KlmPZM7AuSGsK7MInspo0N5Qg,4043
|
|
104
104
|
dbt/include/global_project/macros/materializations/snapshots/snapshot_merge.sql,sha256=WaGQCuv4o_qxBw7b2KQvUnSg0UkPklwAQHK1-QngN_M,1369
|
|
105
105
|
dbt/include/global_project/macros/materializations/snapshots/strategies.sql,sha256=AfIsRiw0YnQym5wUiWR2JpiEEky4_WBTpTtE0HJvpZw,6928
|
|
106
106
|
dbt/include/global_project/macros/materializations/tests/helpers.sql,sha256=rxUxDZm4EvrDbi0H_ePghE34_QLmxGEY2o_LTMc9CU0,1731
|
|
107
107
|
dbt/include/global_project/macros/materializations/tests/test.sql,sha256=LP4ya-X5n499ccab7n1jqvGbZWZsG6hqJmWlx60BvHQ,2247
|
|
108
|
-
dbt/include/global_project/macros/materializations/tests/unit.sql,sha256=
|
|
108
|
+
dbt/include/global_project/macros/materializations/tests/unit.sql,sha256=KonePuFfwcz5uJ-JW0CrEy8_q-Gl45fonngGmFvQcNU,1252
|
|
109
109
|
dbt/include/global_project/macros/materializations/tests/where_subquery.sql,sha256=xjuYd18tXo99OReJGQsfgEPYljUUyF00XzK4h0SJjdM,497
|
|
110
110
|
dbt/include/global_project/macros/python_model/python.sql,sha256=qWoouNOP4Qdune_2Vitzmrzb0soHRzu0S4K22amVZK8,4056
|
|
111
111
|
dbt/include/global_project/macros/relations/create.sql,sha256=99LLak1bhlhRw7yiI0c_4CKPlGyzqPBeBYBNeBPSmDo,701
|
|
@@ -132,7 +132,7 @@ dbt/include/global_project/macros/relations/view/create.sql,sha256=VXIsJWo4OZ_8k
|
|
|
132
132
|
dbt/include/global_project/macros/relations/view/drop.sql,sha256=iFjhEwzip00TGd8h6T5UsXo4dK440EvgdKwR_j4XX78,497
|
|
133
133
|
dbt/include/global_project/macros/relations/view/rename.sql,sha256=P4hpxlrR0wiBTZFJ8N3GyUUbqgKgMfgzUUbIWw8fui0,348
|
|
134
134
|
dbt/include/global_project/macros/relations/view/replace.sql,sha256=cLqNkmTxAxsJS8g-dj4K6IikpjDGKlyCECA3nerPMzg,2593
|
|
135
|
-
dbt/include/global_project/macros/unit_test_sql/get_fixture_sql.sql,sha256=
|
|
135
|
+
dbt/include/global_project/macros/unit_test_sql/get_fixture_sql.sql,sha256=cNZhMdNOFBGftr9ij_2TY_GCUaKGMU5YVTcIb5jHBpo,4222
|
|
136
136
|
dbt/include/global_project/macros/utils/any_value.sql,sha256=leK-fCUhDNt6MFkGofafYjv-0LtL0fkb3sJXe-aIorU,213
|
|
137
137
|
dbt/include/global_project/macros/utils/array_append.sql,sha256=XsC-kchlWxVwc-_1CoBs1RkGYt8qsOAVbq5JlsV2WIc,357
|
|
138
138
|
dbt/include/global_project/macros/utils/array_concat.sql,sha256=0c4w5kP1N_9BY-wppx1OBCCIDOsC1HhimkSDghjjx2Y,248
|
|
@@ -163,7 +163,7 @@ dbt/include/global_project/macros/utils/right.sql,sha256=EwNG98CAFIwNDmarwopf7Rk
|
|
|
163
163
|
dbt/include/global_project/macros/utils/safe_cast.sql,sha256=1mswwkDACmIi1I99JKb_-vq3kjMe4HhMRV70mW8Bt4Y,298
|
|
164
164
|
dbt/include/global_project/macros/utils/split_part.sql,sha256=fXEIS0oIiYR7-4lYbb0QbZdG-q2TpV63AFd1ky4I5UM,714
|
|
165
165
|
dbt/include/global_project/tests/generic/builtin.sql,sha256=p94xdyPwb2TlxgLBqCfrcRfJ1QNgsjPvBm8f0Q5eqZM,1022
|
|
166
|
-
dbt_adapters-1.16.
|
|
167
|
-
dbt_adapters-1.16.
|
|
168
|
-
dbt_adapters-1.16.
|
|
169
|
-
dbt_adapters-1.16.
|
|
166
|
+
dbt_adapters-1.16.7.dist-info/METADATA,sha256=yM_qrBMbl4CgmXgrj3NYArh3M94EpdWLeHkj4bRway8,4534
|
|
167
|
+
dbt_adapters-1.16.7.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
168
|
+
dbt_adapters-1.16.7.dist-info/licenses/LICENSE,sha256=9yjigiJhWcCZvQjdagGKDwrRph58QWc5P2bVSQwXo6s,11344
|
|
169
|
+
dbt_adapters-1.16.7.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|