dbt-adapters 1.0.8b3__py3-none-any.whl → 1.1.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.0.8b3"
1
+ version = "1.1.0"
dbt/adapters/__init__.py CHANGED
@@ -2,6 +2,7 @@
2
2
  This adds all subdirectories of directories on `sys.path` to this package’s `__path__` .
3
3
  It effectively combines all adapters into a single namespace (dbt.adapter).
4
4
  """
5
+
5
6
  from pkgutil import extend_path
6
7
 
7
8
  __path__ = extend_path(__path__, __name__)
@@ -165,7 +165,9 @@ class BaseConnectionManager(metaclass=abc.ABCMeta):
165
165
  conn.handle = LazyHandle(self.open)
166
166
  # Add the connection to thread_connections for this thread
167
167
  self.set_thread_connection(conn)
168
- fire_event(NewConnection(conn_name=conn_name, conn_type=self.TYPE, node_info=get_node_info()))
168
+ fire_event(
169
+ NewConnection(conn_name=conn_name, conn_type=self.TYPE, node_info=get_node_info())
170
+ )
169
171
  else: # existing connection either wasn't open or didn't have the right name
170
172
  if conn.state != "open":
171
173
  conn.handle = LazyHandle(self.open)
dbt/adapters/base/impl.py CHANGED
@@ -1328,14 +1328,16 @@ class BaseAdapter(metaclass=AdapterMeta):
1328
1328
  # Track schema, identifiers of sources for lookup from batch query
1329
1329
  schema_identifier_to_source = {
1330
1330
  (
1331
- source.path.get_lowered_part(ComponentName.Schema),
1332
- source.path.get_lowered_part(ComponentName.Identifier),
1331
+ source.path.get_lowered_part(ComponentName.Schema), # type: ignore
1332
+ source.path.get_lowered_part(ComponentName.Identifier), # type: ignore
1333
1333
  ): source
1334
1334
  for source in sources
1335
1335
  }
1336
1336
 
1337
1337
  # Group metadata sources by information schema -- one query per information schema will be necessary
1338
- sources_by_info_schema: Dict[InformationSchema, List[BaseRelation]] = self._get_catalog_relations_by_info_schema(sources)
1338
+ sources_by_info_schema: Dict[InformationSchema, List[BaseRelation]] = (
1339
+ self._get_catalog_relations_by_info_schema(sources)
1340
+ )
1339
1341
 
1340
1342
  freshness_responses: Dict[BaseRelation, FreshnessResponse] = {}
1341
1343
  adapter_responses: List[Optional[AdapterResponse]] = []
@@ -1393,7 +1395,9 @@ class BaseAdapter(metaclass=AdapterMeta):
1393
1395
 
1394
1396
  return freshness
1395
1397
 
1396
- def _parse_freshness_row(self, row: "agate.Row", table: "agate.Table") -> Tuple[Any, FreshnessResponse]:
1398
+ def _parse_freshness_row(
1399
+ self, row: "agate.Row", table: "agate.Table"
1400
+ ) -> Tuple[Any, FreshnessResponse]:
1397
1401
  from dbt_common.clients.agate_helper import get_column_value_uncased
1398
1402
 
1399
1403
  try:
@@ -1404,10 +1408,7 @@ class BaseAdapter(metaclass=AdapterMeta):
1404
1408
  except Exception:
1405
1409
  raise MacroResultError(GET_RELATION_LAST_MODIFIED_MACRO_NAME, table)
1406
1410
 
1407
- freshness_response = self._create_freshness_response(
1408
- last_modified_val,
1409
- snapshotted_at_val
1410
- )
1411
+ freshness_response = self._create_freshness_response(last_modified_val, snapshotted_at_val)
1411
1412
  raw_relation = schema.lower().strip(), identifier.lower().strip()
1412
1413
  return raw_relation, freshness_response
1413
1414
 
@@ -47,6 +47,9 @@ class BaseRelation(FakeAPIObject, Hashable):
47
47
  quote_policy: Policy = field(default_factory=lambda: Policy())
48
48
  dbt_created: bool = False
49
49
  limit: Optional[int] = None
50
+ require_alias: bool = (
51
+ True # used to govern whether to add an alias when render_limited is called
52
+ )
50
53
 
51
54
  # register relation types that can be renamed for the purpose of replacing relations using stages and backups
52
55
  # adding a relation type here also requires defining the associated rename macro
@@ -205,14 +208,22 @@ class BaseRelation(FakeAPIObject, Hashable):
205
208
  # if there is nothing set, this will return the empty string.
206
209
  return ".".join(part for _, part in self._render_iterator() if part is not None)
207
210
 
211
+ def _render_limited_alias(self) -> str:
212
+ """Some databases require an alias for subqueries (postgres, mysql) for all others we want to avoid adding
213
+ an alias as it has the potential to introduce issues with the query if the user also defines an alias.
214
+ """
215
+ if self.require_alias:
216
+ return f" _dbt_limit_subq_{self.table}"
217
+ return ""
218
+
208
219
  def render_limited(self) -> str:
209
220
  rendered = self.render()
210
221
  if self.limit is None:
211
222
  return rendered
212
223
  elif self.limit == 0:
213
- return f"(select * from {rendered} where false limit 0) _dbt_limit_subq"
224
+ return f"(select * from {rendered} where false limit 0){self._render_limited_alias()}"
214
225
  else:
215
- return f"(select * from {rendered} limit {self.limit}) _dbt_limit_subq"
226
+ return f"(select * from {rendered} limit {self.limit}){self._render_limited_alias()}"
216
227
 
217
228
  def quoted(self, identifier):
218
229
  return "{quote_char}{identifier}{quote_char}".format(
@@ -40,11 +40,9 @@ class MaterializationConfig(Mapping, ABC):
40
40
  contract: MaterializationContract
41
41
  extra: Dict[str, Any]
42
42
 
43
- def __contains__(self, item):
44
- ...
43
+ def __contains__(self, item): ...
45
44
 
46
- def __delitem__(self, key):
47
- ...
45
+ def __delitem__(self, key): ...
48
46
 
49
47
 
50
48
  class RelationConfig(Protocol):
@@ -14,7 +14,7 @@ When events are processed via `fire_event`, nearly everything is logged. Whether
14
14
 
15
15
  We have switched from using betterproto to using google protobuf, because of a lack of support for Struct fields in betterproto.
16
16
 
17
- The google protobuf interface is janky and very much non-Pythonic. The "generated" classes in types_pb2.py do not resemble regular Python classes. They do not have normal constructors; they can only be constructed empty. They can be "filled" by setting fields individually or using a json_format method like ParseDict. We have wrapped the logging events with a class (in types.py) which allows using a constructor -- keywords only, no positional parameters.
17
+ The google protobuf interface is janky and very much non-Pythonic. The "generated" classes in types_pb2.py do not resemble regular Python classes. They do not have normal constructors; they can only be constructed empty. They can be "filled" by setting fields individually or using a json_format method like ParseDict. We have wrapped the logging events with a class (in types.py) which allows using a constructor -- keywords only, no positional parameters.
18
18
 
19
19
  ## Required for Every Event
20
20
 
dbt/adapters/factory.py CHANGED
@@ -101,17 +101,14 @@ class AdapterContainer:
101
101
  self,
102
102
  config: AdapterRequiredConfig,
103
103
  mp_context: SpawnContext,
104
- adapter_registered_log_level: Optional[EventLevel] = EventLevel.INFO
104
+ adapter_registered_log_level: Optional[EventLevel] = EventLevel.INFO,
105
105
  ) -> None:
106
106
  adapter_name = config.credentials.type
107
107
  adapter_type = self.get_adapter_class_by_name(adapter_name)
108
108
  adapter_version = self._adapter_version(adapter_name)
109
109
  fire_event(
110
- AdapterRegistered(
111
- adapter_name=adapter_name,
112
- adapter_version=adapter_version
113
- ),
114
- level=adapter_registered_log_level
110
+ AdapterRegistered(adapter_name=adapter_name, adapter_version=adapter_version),
111
+ level=adapter_registered_log_level,
115
112
  )
116
113
  with self.lock:
117
114
  if adapter_name in self.adapters:
@@ -199,9 +196,9 @@ FACTORY: AdapterContainer = AdapterContainer()
199
196
 
200
197
 
201
198
  def register_adapter(
202
- config: AdapterRequiredConfig,
203
- mp_context: SpawnContext,
204
- adapter_registered_log_level: Optional[EventLevel] = EventLevel.INFO
199
+ config: AdapterRequiredConfig,
200
+ mp_context: SpawnContext,
201
+ adapter_registered_log_level: Optional[EventLevel] = EventLevel.INFO,
205
202
  ) -> None:
206
203
  FACTORY.register_adapter(config, mp_context, adapter_registered_log_level)
207
204
 
dbt/adapters/protocol.py CHANGED
@@ -47,8 +47,7 @@ Self = TypeVar("Self", bound="RelationProtocol")
47
47
 
48
48
  class RelationProtocol(Protocol):
49
49
  @classmethod
50
- def get_default_quote_policy(cls) -> Policy:
51
- ...
50
+ def get_default_quote_policy(cls) -> Policy: ...
52
51
 
53
52
  @classmethod
54
53
  def create_from(
@@ -56,8 +55,7 @@ class RelationProtocol(Protocol):
56
55
  quoting: HasQuoting,
57
56
  relation_config: RelationConfig,
58
57
  **kwargs: Any,
59
- ) -> Self:
60
- ...
58
+ ) -> Self: ...
61
59
 
62
60
 
63
61
  AdapterConfig_T = TypeVar("AdapterConfig_T", bound=AdapterConfig)
@@ -73,8 +71,7 @@ class MacroContextGeneratorCallable(Protocol):
73
71
  config: AdapterRequiredConfig,
74
72
  macro_resolver: MacroResolverProtocol,
75
73
  package_name: Optional[str],
76
- ) -> Dict[str, Any]:
77
- ...
74
+ ) -> Dict[str, Any]: ...
78
75
 
79
76
 
80
77
  # TODO CT-211
@@ -96,81 +93,58 @@ class AdapterProtocol( # type: ignore[misc]
96
93
  ConnectionManager: Type[ConnectionManager_T]
97
94
  connections: ConnectionManager_T
98
95
 
99
- def __init__(self, config: AdapterRequiredConfig) -> None:
100
- ...
96
+ def __init__(self, config: AdapterRequiredConfig) -> None: ...
101
97
 
102
- def set_macro_resolver(self, macro_resolver: MacroResolverProtocol) -> None:
103
- ...
98
+ def set_macro_resolver(self, macro_resolver: MacroResolverProtocol) -> None: ...
104
99
 
105
- def get_macro_resolver(self) -> Optional[MacroResolverProtocol]:
106
- ...
100
+ def get_macro_resolver(self) -> Optional[MacroResolverProtocol]: ...
107
101
 
108
- def clear_macro_resolver(self) -> None:
109
- ...
102
+ def clear_macro_resolver(self) -> None: ...
110
103
 
111
104
  def set_macro_context_generator(
112
105
  self,
113
106
  macro_context_generator: MacroContextGeneratorCallable,
114
- ) -> None:
115
- ...
107
+ ) -> None: ...
116
108
 
117
109
  @classmethod
118
110
  def type(cls) -> str:
119
111
  pass
120
112
 
121
- def set_query_header(self, query_header_context: Dict[str, Any]) -> None:
122
- ...
113
+ def set_query_header(self, query_header_context: Dict[str, Any]) -> None: ...
123
114
 
124
115
  @staticmethod
125
- def get_thread_identifier() -> Hashable:
126
- ...
116
+ def get_thread_identifier() -> Hashable: ...
127
117
 
128
- def get_thread_connection(self) -> Connection:
129
- ...
118
+ def get_thread_connection(self) -> Connection: ...
130
119
 
131
- def set_thread_connection(self, conn: Connection) -> None:
132
- ...
120
+ def set_thread_connection(self, conn: Connection) -> None: ...
133
121
 
134
- def get_if_exists(self) -> Optional[Connection]:
135
- ...
122
+ def get_if_exists(self) -> Optional[Connection]: ...
136
123
 
137
- def clear_thread_connection(self) -> None:
138
- ...
124
+ def clear_thread_connection(self) -> None: ...
139
125
 
140
- def clear_transaction(self) -> None:
141
- ...
126
+ def clear_transaction(self) -> None: ...
142
127
 
143
- def exception_handler(self, sql: str) -> ContextManager:
144
- ...
128
+ def exception_handler(self, sql: str) -> ContextManager: ...
145
129
 
146
- def set_connection_name(self, name: Optional[str] = None) -> Connection:
147
- ...
130
+ def set_connection_name(self, name: Optional[str] = None) -> Connection: ...
148
131
 
149
- def cancel_open(self) -> Optional[List[str]]:
150
- ...
132
+ def cancel_open(self) -> Optional[List[str]]: ...
151
133
 
152
- def open(cls, connection: Connection) -> Connection:
153
- ...
134
+ def open(cls, connection: Connection) -> Connection: ...
154
135
 
155
- def release(self) -> None:
156
- ...
136
+ def release(self) -> None: ...
157
137
 
158
- def cleanup_all(self) -> None:
159
- ...
138
+ def cleanup_all(self) -> None: ...
160
139
 
161
- def begin(self) -> None:
162
- ...
140
+ def begin(self) -> None: ...
163
141
 
164
- def commit(self) -> None:
165
- ...
142
+ def commit(self) -> None: ...
166
143
 
167
- def close(cls, connection: Connection) -> Connection:
168
- ...
144
+ def close(cls, connection: Connection) -> Connection: ...
169
145
 
170
- def commit_if_has_connection(self) -> None:
171
- ...
146
+ def commit_if_has_connection(self) -> None: ...
172
147
 
173
148
  def execute(
174
149
  self, sql: str, auto_begin: bool = False, fetch: bool = False
175
- ) -> Tuple[AdapterResponse, "agate.Table"]:
176
- ...
150
+ ) -> Tuple[AdapterResponse, "agate.Table"]: ...
@@ -1,6 +1,6 @@
1
1
  # RelationConfig
2
2
  This package serves as an initial abstraction for managing the inspection of existing relations and determining
3
- changes on those relations. It arose from the materialized view work and is currently only supporting
3
+ changes on those relations. It arose from the materialized view work and is currently only supporting
4
4
  materialized views for Postgres and Redshift as well as dynamic tables for Snowflake. There are three main
5
5
  classes in this package.
6
6
 
@@ -16,7 +16,9 @@ class RelationConfigChangeAction(StrEnum):
16
16
  @dataclass(frozen=True, eq=True, unsafe_hash=True)
17
17
  class RelationConfigChange(RelationConfigBase, ABC):
18
18
  action: RelationConfigChangeAction
19
- context: Hashable # this is usually a RelationConfig, e.g. IndexConfig, but shouldn't be limited
19
+ context: (
20
+ Hashable # this is usually a RelationConfig, e.g. IndexConfig, but shouldn't be limited
21
+ )
20
22
 
21
23
  @property
22
24
  @abstractmethod
@@ -53,7 +53,7 @@
53
53
  {%- do col_naked_numeric.append(col['name']) -%}
54
54
  {%- endif -%}
55
55
  {% set col_name = adapter.quote(col['name']) if col.get('quote') else col['name'] %}
56
- cast(null as {{ col['data_type'] }}) as {{ col_name }}{{ ", " if not loop.last }}
56
+ {{ cast('null', col['data_type']) }} as {{ col_name }}{{ ", " if not loop.last }}
57
57
  {%- endfor -%}
58
58
  {%- if (col_err | length) > 0 -%}
59
59
  {{ exceptions.column_type_missing(column_names=col_err) }}
@@ -41,4 +41,4 @@ dbt_internal_unit_test_expected as (
41
41
  select * from dbt_internal_unit_test_actual
42
42
  union all
43
43
  select * from dbt_internal_unit_test_expected
44
- {%- endmacro %}
44
+ {%- endmacro %}
@@ -79,7 +79,7 @@ union all
79
79
  {%- endif -%}
80
80
 
81
81
  {%- set column_type = column_name_to_data_types[column_name] %}
82
-
82
+
83
83
  {#-- sanitize column_value: wrap yaml strings in quotes, apply cast --#}
84
84
  {%- set column_value_clean = column_value -%}
85
85
  {%- if column_value is string -%}
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: dbt-adapters
3
- Version: 1.0.8b3
3
+ Version: 1.1.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
@@ -20,6 +20,7 @@ Classifier: Programming Language :: Python :: 3.8
20
20
  Classifier: Programming Language :: Python :: 3.9
21
21
  Classifier: Programming Language :: Python :: 3.10
22
22
  Classifier: Programming Language :: Python :: 3.11
23
+ Classifier: Programming Language :: Python :: 3.12
23
24
  Requires-Python: >=3.8.0
24
25
  Requires-Dist: agate<2.0,>=1.0
25
26
  Requires-Dist: dbt-common<2.0
@@ -1,29 +1,29 @@
1
1
  dbt/__init__.py,sha256=iY4jdvOxcDhkdr5FiyOTZPHadKtMZDQ-qC6Fw6_EHPM,277
2
- dbt/adapters/__about__.py,sha256=PvUYcO9ElxeCMKZNgXIQYaCQCwAER92MIOjSL5JiUFo,20
3
- dbt/adapters/__init__.py,sha256=5Cy35DPhUOt8EdFO-2dplHygsmUVONNwrCtGfUPApQA,251
2
+ dbt/adapters/__about__.py,sha256=s2Ub2ir58wRlYlwo-oIC_0mBAViCnB9La690rWDGBd8,18
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=mIAZwwKetWpG71pg9oofwOeOTTrDYrtKoWwhbtVQOmE,2160
6
- dbt/adapters/factory.py,sha256=ZG4BLfjtOyftJJVa7XgUEtbyJOtxVf4qQJG0iHkpfKs,9423
7
- dbt/adapters/protocol.py,sha256=il8qcg78mXc3kHyVO0FPFwTkrq_cjQO69BuR7KGBU3I,4026
6
+ dbt/adapters/factory.py,sha256=JxNxhMqemZ6ARWbROQZhkhJehiIenuR9ZQYS8gvzbDg,9368
7
+ dbt/adapters/protocol.py,sha256=qRsEFAKjUMVnoBspAiCUTICez1ckson-dFS04dTXSco,3818
8
8
  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
12
  dbt/adapters/base/__init__.py,sha256=KGGGbj8jGMjAFJdQ5YHcOpApMMVZ_6Xuni1swhpkqRY,423
13
13
  dbt/adapters/base/column.py,sha256=M3iotEY5yi4xikXyXzD9oshBF9-xcJrIeQVu1sB85DI,5450
14
- dbt/adapters/base/connections.py,sha256=Poll7ofPUw16MafuzhZbSZ4DIVbiUC5H69OB5_Surs4,16921
15
- dbt/adapters/base/impl.py,sha256=liTptKD1WO0xFs0sv6-8N1Duphwyet5ReXrQv2Q_r6g,68316
14
+ dbt/adapters/base/connections.py,sha256=-C5dOwGgMKH8n_v6wjwOxV7chBdS0GjOGwNQCUbhhWc,16951
15
+ dbt/adapters/base/impl.py,sha256=k33sdoIvHCH4f2Acc9YZxQWEYYEjYI7BrOZ6xW3yw_s,68352
16
16
  dbt/adapters/base/meta.py,sha256=MMqL2xBqdvoacNs9JcL0E38NZIhCP4RH4OD_z_jo7GQ,4644
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=vCylzcBRi3aW-vp-731pmsCTQJoSTXxjR-lS9DPjxHo,15642
19
+ dbt/adapters/base/relation.py,sha256=r6phmxz4Uu3JG3Kxh_GUstA1NyBaiAA57u3yKTKSv80,16173
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
23
23
  dbt/adapters/contracts/connection.py,sha256=F1Lw75trgYUX_FZOYzYguJgOzO8TPT4qnwP3gzm2aeY,6860
24
24
  dbt/adapters/contracts/macros.py,sha256=NYVDi5ww7v4ksKBwF836TXE-2xU4IBaUINqvxMY-ieU,366
25
- dbt/adapters/contracts/relation.py,sha256=bow0ijWEMlcNpsd7HmHQlDNJ1kB8NpAs_2i5LCBK-P0,4652
26
- dbt/adapters/events/README.md,sha256=5Vd6xD9HlwYMknUeZVtBa06tiM2Lvn6abiYvjdIV9wc,3522
25
+ dbt/adapters/contracts/relation.py,sha256=EHRHUfI50YpTiw2P4ZsQXp9aVtzdIcnlCC5Px--ytio,4636
26
+ dbt/adapters/events/README.md,sha256=kVUFIsDQrHTUmk9Mmu-yXYkWh4pA5MJK_H6739rQr5I,3521
27
27
  dbt/adapters/events/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
28
28
  dbt/adapters/events/adapter_types.proto,sha256=wFhPMVokFgU1KFyc4h4OKzX1I0I_d2AVBcXdpS0KoW4,9648
29
29
  dbt/adapters/events/adapter_types_pb2.py,sha256=06gi23B_q_wGp2EnjGuLW09SV578IjPsyH6RhACuBFU,26480
@@ -36,10 +36,10 @@ dbt/adapters/exceptions/cache.py,sha256=u720DQQKm8pyf_9loD9HGA9WgaeZAlg0sBn0sGc-
36
36
  dbt/adapters/exceptions/compilation.py,sha256=KAiCwxyE1B3PrxU-aHvpJp4h6fgEcZf44h4iVz__jFY,8586
37
37
  dbt/adapters/exceptions/connection.py,sha256=x82j2Ix242Slm6Ima8Tol3GLOB9yZYH5lq6IV1WKq54,445
38
38
  dbt/adapters/exceptions/database.py,sha256=nIXJdQyPQOZaiKvCkQ3MoKlKOiaN58rtDZflw3CSkug,1618
39
- dbt/adapters/relation_configs/README.md,sha256=BIRqn7gUwIHzDlFueD2eq6HVAjd6gN7vGTU3hG4looo,1810
39
+ dbt/adapters/relation_configs/README.md,sha256=VVeqMLbBWsBVNXHa9GLKLBN25Ivc8y78GR-6OB2tf4U,1809
40
40
  dbt/adapters/relation_configs/__init__.py,sha256=Il1HHEI8HJGHEi2B8qsgv_CoNA2STO7SULDi78fQwZg,354
41
41
  dbt/adapters/relation_configs/config_base.py,sha256=IK9oKf9TuOTLIiKX8ms_X-p4yxZvPAlM7qg94mozvrA,1756
42
- dbt/adapters/relation_configs/config_change.py,sha256=0yF-wRmXgxydDXCErK2waz5eY2aknLs5dVBLw2u4CCo,697
42
+ dbt/adapters/relation_configs/config_change.py,sha256=hf6fDWbZpKvZdM6z-OtY-GveipzfLRR_dsUZmYmXkdk,713
43
43
  dbt/adapters/relation_configs/config_validation.py,sha256=wlJUMwOEPhYFch-LRtEWfLNJMq8jL1tRhOUHmNX8nFw,1978
44
44
  dbt/adapters/sql/__init__.py,sha256=WLWZJfqc8pr1N1BMVe9gM-KQ4URJIeKfLqTuJBD1VN0,107
45
45
  dbt/adapters/sql/connections.py,sha256=aRZGkiMYwfuA7hR08LOVDzDLbBQP05KUVIHOCuU0KOU,6565
@@ -50,7 +50,7 @@ dbt/include/global_project/__init__.py,sha256=-0HL5OkeJSrxglm1Y-UltTiBPY2BbWx8Zp
50
50
  dbt/include/global_project/dbt_project.yml,sha256=RTtOhnBpEL0gbd1GlpxuVr6eZJBPvgWfNw-F88sKQ-w,109
51
51
  dbt/include/global_project/docs/overview.md,sha256=VuObM4pcS-TvwYeAjjUbe0TBhEnxf6g30EPWrGjya_w,1824
52
52
  dbt/include/global_project/macros/adapters/apply_grants.sql,sha256=Vyb0VNmlgoXzE1Dh2myVjujztM8VX06t3h9wGceMEeQ,6825
53
- dbt/include/global_project/macros/adapters/columns.sql,sha256=ztwOfKtWfzDuuxK2OLvbCUK9oQJbH9GvKLPzSAZgdog,5438
53
+ dbt/include/global_project/macros/adapters/columns.sql,sha256=EUze4gUUDD1pnWytOpjk3p-7EFpqeqeI0LiPf2FbUVo,5438
54
54
  dbt/include/global_project/macros/adapters/freshness.sql,sha256=FKi-xsBCOYjGYp103O1mVTeWKy2blb_JefyoLDF0aXI,599
55
55
  dbt/include/global_project/macros/adapters/indexes.sql,sha256=DasPn32Cm0OZyjBPBWzL4BpK9PZ3xF_Pu8Nh4NgASaw,1366
56
56
  dbt/include/global_project/macros/adapters/metadata.sql,sha256=WsVAT1SGs18TRnwq-PbYhCfPCaF_IOxI68KPRlUoDYA,3147
@@ -89,7 +89,7 @@ dbt/include/global_project/macros/materializations/snapshots/helpers.sql,sha256=
89
89
  dbt/include/global_project/macros/materializations/snapshots/snapshot.sql,sha256=q-Uaz9B2070fpruz5HEJiCqPUJNgXl7dsM5a0_v0fkg,3680
90
90
  dbt/include/global_project/macros/materializations/snapshots/snapshot_merge.sql,sha256=Ik3OyDqqkt0z4lrNUvMKYVmZxqAdtaN1FvtMgg0VF6g,849
91
91
  dbt/include/global_project/macros/materializations/snapshots/strategies.sql,sha256=ahWDMnD-Q_fTGKSjvm5ZwvypmNC6BDVguk-LNk-nHhU,6286
92
- dbt/include/global_project/macros/materializations/tests/helpers.sql,sha256=tuiLwdkruULYzFJ8vSJTg5hG89VYh-iCCP3NzJw1KbM,1730
92
+ dbt/include/global_project/macros/materializations/tests/helpers.sql,sha256=rxUxDZm4EvrDbi0H_ePghE34_QLmxGEY2o_LTMc9CU0,1731
93
93
  dbt/include/global_project/macros/materializations/tests/test.sql,sha256=Rz3O_3dWHlIofG3d2CwsP2bXFimRZUIwOevyB0iz1J4,1831
94
94
  dbt/include/global_project/macros/materializations/tests/unit.sql,sha256=KonePuFfwcz5uJ-JW0CrEy8_q-Gl45fonngGmFvQcNU,1252
95
95
  dbt/include/global_project/macros/materializations/tests/where_subquery.sql,sha256=xjuYd18tXo99OReJGQsfgEPYljUUyF00XzK4h0SJjdM,497
@@ -118,7 +118,7 @@ dbt/include/global_project/macros/relations/view/create.sql,sha256=FkLYXnCPj2HLC
118
118
  dbt/include/global_project/macros/relations/view/drop.sql,sha256=WszUTZrkd93_OCEha4OuRWyCucqxGRTm07Zvn25RHXs,488
119
119
  dbt/include/global_project/macros/relations/view/rename.sql,sha256=P4hpxlrR0wiBTZFJ8N3GyUUbqgKgMfgzUUbIWw8fui0,348
120
120
  dbt/include/global_project/macros/relations/view/replace.sql,sha256=5_Lky7KUixyYOOOahooD0VnmHOiOVqmxrI0ihwRjX08,2584
121
- dbt/include/global_project/macros/unit_test_sql/get_fixture_sql.sql,sha256=Woe20TPF54pd6RN6C1wi3BxNQ8wo1sS2JZtdWoEtuCk,3841
121
+ dbt/include/global_project/macros/unit_test_sql/get_fixture_sql.sql,sha256=gv5obF7n-mKrzBHu5kCBNVfSlKbfuTqkIPl-vzUEVFs,3833
122
122
  dbt/include/global_project/macros/utils/any_value.sql,sha256=leK-fCUhDNt6MFkGofafYjv-0LtL0fkb3sJXe-aIorU,213
123
123
  dbt/include/global_project/macros/utils/array_append.sql,sha256=XsC-kchlWxVwc-_1CoBs1RkGYt8qsOAVbq5JlsV2WIc,357
124
124
  dbt/include/global_project/macros/utils/array_concat.sql,sha256=0c4w5kP1N_9BY-wppx1OBCCIDOsC1HhimkSDghjjx2Y,248
@@ -147,7 +147,7 @@ dbt/include/global_project/macros/utils/right.sql,sha256=EwNG98CAFIwNDmarwopf7Rk
147
147
  dbt/include/global_project/macros/utils/safe_cast.sql,sha256=1mswwkDACmIi1I99JKb_-vq3kjMe4HhMRV70mW8Bt4Y,298
148
148
  dbt/include/global_project/macros/utils/split_part.sql,sha256=fXEIS0oIiYR7-4lYbb0QbZdG-q2TpV63AFd1ky4I5UM,714
149
149
  dbt/include/global_project/tests/generic/builtin.sql,sha256=p94xdyPwb2TlxgLBqCfrcRfJ1QNgsjPvBm8f0Q5eqZM,1022
150
- dbt_adapters-1.0.8b3.dist-info/METADATA,sha256=Z-R5zjpOuS9ezUf0Rjb9VPRJQs-dqDO5SUIiqUKMIlQ,2484
151
- dbt_adapters-1.0.8b3.dist-info/WHEEL,sha256=K0BPUNF1N3kQ9olb8aVEtkObePEjdr2JOLT1N83EVws,87
152
- dbt_adapters-1.0.8b3.dist-info/licenses/LICENSE,sha256=9yjigiJhWcCZvQjdagGKDwrRph58QWc5P2bVSQwXo6s,11344
153
- dbt_adapters-1.0.8b3.dist-info/RECORD,,
150
+ dbt_adapters-1.1.0.dist-info/METADATA,sha256=XlN48XZd7VpUxkF_88uB2Ufun5UyXDnhh-yS8GPMkOU,2533
151
+ dbt_adapters-1.1.0.dist-info/WHEEL,sha256=zEMcRr9Kr03x1ozGwg5v9NQBKn3kndp6LSoSlVg-jhU,87
152
+ dbt_adapters-1.1.0.dist-info/licenses/LICENSE,sha256=9yjigiJhWcCZvQjdagGKDwrRph58QWc5P2bVSQwXo6s,11344
153
+ dbt_adapters-1.1.0.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: hatchling 1.24.0
2
+ Generator: hatchling 1.24.2
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any