sqlmesh 0.209.1.dev14__py3-none-any.whl → 0.209.1.dev16__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.
- sqlmesh/_version.py +3 -16
- sqlmesh/core/engine_adapter/postgres.py +14 -6
- sqlmesh/core/state_sync/db/snapshot.py +11 -5
- {sqlmesh-0.209.1.dev14.dist-info → sqlmesh-0.209.1.dev16.dist-info}/METADATA +1 -1
- {sqlmesh-0.209.1.dev14.dist-info → sqlmesh-0.209.1.dev16.dist-info}/RECORD +10 -10
- /sqlmesh/migrations/{v0088_add_virtual_environment_mode.py → v0089_add_virtual_environment_mode.py} +0 -0
- {sqlmesh-0.209.1.dev14.dist-info → sqlmesh-0.209.1.dev16.dist-info}/WHEEL +0 -0
- {sqlmesh-0.209.1.dev14.dist-info → sqlmesh-0.209.1.dev16.dist-info}/entry_points.txt +0 -0
- {sqlmesh-0.209.1.dev14.dist-info → sqlmesh-0.209.1.dev16.dist-info}/licenses/LICENSE +0 -0
- {sqlmesh-0.209.1.dev14.dist-info → sqlmesh-0.209.1.dev16.dist-info}/top_level.txt +0 -0
sqlmesh/_version.py
CHANGED
|
@@ -1,14 +1,7 @@
|
|
|
1
1
|
# file generated by setuptools-scm
|
|
2
2
|
# don't change, don't track in version control
|
|
3
3
|
|
|
4
|
-
__all__ = [
|
|
5
|
-
"__version__",
|
|
6
|
-
"__version_tuple__",
|
|
7
|
-
"version",
|
|
8
|
-
"version_tuple",
|
|
9
|
-
"__commit_id__",
|
|
10
|
-
"commit_id",
|
|
11
|
-
]
|
|
4
|
+
__all__ = ["__version__", "__version_tuple__", "version", "version_tuple"]
|
|
12
5
|
|
|
13
6
|
TYPE_CHECKING = False
|
|
14
7
|
if TYPE_CHECKING:
|
|
@@ -16,19 +9,13 @@ if TYPE_CHECKING:
|
|
|
16
9
|
from typing import Union
|
|
17
10
|
|
|
18
11
|
VERSION_TUPLE = Tuple[Union[int, str], ...]
|
|
19
|
-
COMMIT_ID = Union[str, None]
|
|
20
12
|
else:
|
|
21
13
|
VERSION_TUPLE = object
|
|
22
|
-
COMMIT_ID = object
|
|
23
14
|
|
|
24
15
|
version: str
|
|
25
16
|
__version__: str
|
|
26
17
|
__version_tuple__: VERSION_TUPLE
|
|
27
18
|
version_tuple: VERSION_TUPLE
|
|
28
|
-
commit_id: COMMIT_ID
|
|
29
|
-
__commit_id__: COMMIT_ID
|
|
30
19
|
|
|
31
|
-
__version__ = version = '0.209.1.
|
|
32
|
-
__version_tuple__ = version_tuple = (0, 209, 1, '
|
|
33
|
-
|
|
34
|
-
__commit_id__ = commit_id = None
|
|
20
|
+
__version__ = version = '0.209.1.dev16'
|
|
21
|
+
__version_tuple__ = version_tuple = (0, 209, 1, 'dev16')
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
3
|
import logging
|
|
4
|
+
import re
|
|
4
5
|
import typing as t
|
|
5
|
-
from functools import partial
|
|
6
|
+
from functools import cached_property, partial
|
|
6
7
|
from sqlglot import exp
|
|
7
8
|
|
|
8
9
|
from sqlmesh.core.engine_adapter.base_postgres import BasePostgresEngineAdapter
|
|
@@ -112,11 +113,8 @@ class PostgresEngineAdapter(
|
|
|
112
113
|
**kwargs: t.Any,
|
|
113
114
|
) -> None:
|
|
114
115
|
# Merge isn't supported until Postgres 15
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
if self._connection_pool.get().server_version >= 150000
|
|
118
|
-
else partial(logical_merge, self)
|
|
119
|
-
)
|
|
116
|
+
major, minor = self.server_version
|
|
117
|
+
merge_impl = super().merge if major >= 15 else partial(logical_merge, self)
|
|
120
118
|
merge_impl( # type: ignore
|
|
121
119
|
target_table,
|
|
122
120
|
source_table,
|
|
@@ -125,3 +123,13 @@ class PostgresEngineAdapter(
|
|
|
125
123
|
when_matched=when_matched,
|
|
126
124
|
merge_filter=merge_filter,
|
|
127
125
|
)
|
|
126
|
+
|
|
127
|
+
@cached_property
|
|
128
|
+
def server_version(self) -> t.Tuple[int, int]:
|
|
129
|
+
"""Lazily fetch and cache major and minor server version"""
|
|
130
|
+
if result := self.fetchone("SHOW server_version"):
|
|
131
|
+
server_version, *_ = result
|
|
132
|
+
match = re.search(r"(\d+)\.(\d+)", server_version)
|
|
133
|
+
if match:
|
|
134
|
+
return int(match.group(1)), int(match.group(2))
|
|
135
|
+
return 0, 0
|
|
@@ -372,25 +372,31 @@ class SnapshotState:
|
|
|
372
372
|
Args:
|
|
373
373
|
next_auto_restatement_ts: A dictionary of snapshot name version to the next auto restatement timestamp.
|
|
374
374
|
"""
|
|
375
|
+
next_auto_restatement_ts_deleted = []
|
|
376
|
+
next_auto_restatement_ts_filtered = {}
|
|
377
|
+
for k, v in next_auto_restatement_ts.items():
|
|
378
|
+
if v is None:
|
|
379
|
+
next_auto_restatement_ts_deleted.append(k)
|
|
380
|
+
else:
|
|
381
|
+
next_auto_restatement_ts_filtered[k] = v
|
|
382
|
+
|
|
375
383
|
for where in snapshot_name_version_filter(
|
|
376
384
|
self.engine_adapter,
|
|
377
|
-
|
|
385
|
+
next_auto_restatement_ts_deleted,
|
|
378
386
|
column_prefix="snapshot",
|
|
379
387
|
alias=None,
|
|
380
388
|
batch_size=self.SNAPSHOT_BATCH_SIZE,
|
|
381
389
|
):
|
|
382
390
|
self.engine_adapter.delete_from(self.auto_restatements_table, where=where)
|
|
383
391
|
|
|
384
|
-
next_auto_restatement_ts_filtered = {
|
|
385
|
-
k: v for k, v in next_auto_restatement_ts.items() if v is not None
|
|
386
|
-
}
|
|
387
392
|
if not next_auto_restatement_ts_filtered:
|
|
388
393
|
return
|
|
389
394
|
|
|
390
|
-
self.engine_adapter.
|
|
395
|
+
self.engine_adapter.merge(
|
|
391
396
|
self.auto_restatements_table,
|
|
392
397
|
_auto_restatements_to_df(next_auto_restatement_ts_filtered),
|
|
393
398
|
columns_to_types=self._auto_restatement_columns_to_types,
|
|
399
|
+
unique_key=(exp.column("snapshot_name"), exp.column("snapshot_version")),
|
|
394
400
|
)
|
|
395
401
|
|
|
396
402
|
def count(self) -> int:
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
sqlmesh/__init__.py,sha256=QjwaamJIdW7voXoS880yAx7tHm-Im4_mqGA-XJgafos,7631
|
|
2
|
-
sqlmesh/_version.py,sha256=
|
|
2
|
+
sqlmesh/_version.py,sha256=4Mu3IvkM85xxXlyuqCYfaducuxHPKHdTCXnlsA7DPls,530
|
|
3
3
|
sqlmesh/magics.py,sha256=bEzYqXHcM0P3CjyUZ1O9arlmXAdLAhoglKbQ29fD9AE,41842
|
|
4
4
|
sqlmesh/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
5
|
sqlmesh/cicd/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -68,7 +68,7 @@ sqlmesh/core/engine_adapter/duckdb.py,sha256=bv1kfcaDtYlAtJBjxxfteG-dIf31-6r-Nip
|
|
|
68
68
|
sqlmesh/core/engine_adapter/mixins.py,sha256=2f6I97iRoeEX2c_BB5Pu8ruIrozwtCZPrxN3a-ANBr8,22495
|
|
69
69
|
sqlmesh/core/engine_adapter/mssql.py,sha256=N-l9RReP45hg9CNKCQTrg4BmwKtN-v9xK68JJW-xYc8,17647
|
|
70
70
|
sqlmesh/core/engine_adapter/mysql.py,sha256=lVC-siXZK3iSfqCmBjZNw8uy09Z8la8v8_oUZ-E2OwI,6966
|
|
71
|
-
sqlmesh/core/engine_adapter/postgres.py,sha256
|
|
71
|
+
sqlmesh/core/engine_adapter/postgres.py,sha256=-FgNIb9r0QXxmtbnbJ3GXhFz7JhewCfXEQk5qkiVqUE,5016
|
|
72
72
|
sqlmesh/core/engine_adapter/redshift.py,sha256=RdEPTBmW2zrruiY7mbbbCJnvTCKHcHBep1MgpXoOZl4,17005
|
|
73
73
|
sqlmesh/core/engine_adapter/risingwave.py,sha256=GY0u085TWerl8kTRNJpEutdD5FBsoPijQ0CcOkWOJEE,2359
|
|
74
74
|
sqlmesh/core/engine_adapter/shared.py,sha256=pvYU-sC2WEIOENm4oG4UrOCWXF56h-FEmlAqAR8TYoA,13500
|
|
@@ -115,7 +115,7 @@ sqlmesh/core/state_sync/db/environment.py,sha256=iTxrdNlKB36S54PUdlqEqlxiAZJtKNE
|
|
|
115
115
|
sqlmesh/core/state_sync/db/facade.py,sha256=WWditN46A9DXHDcHT7kUZaCfkkjcaDfMC9qO1EfH4Og,25266
|
|
116
116
|
sqlmesh/core/state_sync/db/interval.py,sha256=aMQSF42bVOUU05g7oizcrKR6TBVzR6TJppxzlxkmJFU,17985
|
|
117
117
|
sqlmesh/core/state_sync/db/migrator.py,sha256=2LNUwOBNFkA1ntp-Z93S_OWxFQhOBj3ZD_ZqPCyPEAE,18139
|
|
118
|
-
sqlmesh/core/state_sync/db/snapshot.py,sha256=
|
|
118
|
+
sqlmesh/core/state_sync/db/snapshot.py,sha256=NsgMbiQGfu64l6zVEO5Ci5CD_A1nCjmkfRIP6cf6bUY,29845
|
|
119
119
|
sqlmesh/core/state_sync/db/utils.py,sha256=204OpT3ISFPCwWP9Aqq8nr6ETl24sbG5uOyo86IJv6E,3819
|
|
120
120
|
sqlmesh/core/state_sync/db/version.py,sha256=fl5g1tNMYu8O6WTN4J3bciwjGq0c5nZlRDlxxRKGU78,2210
|
|
121
121
|
sqlmesh/core/test/__init__.py,sha256=e83TJPwPRR_rAG29Y0OVbZb-5oWVBzz-_wrcd22Qk10,418
|
|
@@ -265,8 +265,8 @@ sqlmesh/migrations/v0084_normalize_quote_when_matched_and_merge_filter.py,sha256
|
|
|
265
265
|
sqlmesh/migrations/v0085_deterministic_repr.py,sha256=mkbZV0rzXJ5bmN1Y75kFI9T6gbnx_sy-zn_UzbOL1Sg,4265
|
|
266
266
|
sqlmesh/migrations/v0086_check_deterministic_bug.py,sha256=WiYcmhQD434GXWiiakQtcy9ESmB35spXMltV43nvU7Q,2953
|
|
267
267
|
sqlmesh/migrations/v0087_normalize_blueprint_variables.py,sha256=GI6KKA-6PtONUoOnyvLpRTUmPjbpa-CKhDa0iqJW01U,4421
|
|
268
|
-
sqlmesh/migrations/v0088_add_virtual_environment_mode.py,sha256=rm6k7CRy2uHozo1Oy17D8WhiV1JldPNCpJ8PukoHSwM,122
|
|
269
268
|
sqlmesh/migrations/v0088_warn_about_variable_python_env_diffs.py,sha256=zCLT6Yqwny73SlfACWjO1bZfs8lZ7gJBov5Iz4akwiQ,3254
|
|
269
|
+
sqlmesh/migrations/v0089_add_virtual_environment_mode.py,sha256=rm6k7CRy2uHozo1Oy17D8WhiV1JldPNCpJ8PukoHSwM,122
|
|
270
270
|
sqlmesh/schedulers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
271
271
|
sqlmesh/utils/__init__.py,sha256=51VqA2etTZ6kX54250s1hN5ui7D89OeUTUQ9kgMze7s,11554
|
|
272
272
|
sqlmesh/utils/aws.py,sha256=krxyhrKtsMJDEjT567UbGZogjJ9JRHkvAV-Cg3FVndM,1062
|
|
@@ -291,7 +291,7 @@ sqlmesh/utils/pydantic.py,sha256=o_NsXbIpDqNpUA1Uc5xF0ZzoXQYYB0DfHwdRxBwXPNk,120
|
|
|
291
291
|
sqlmesh/utils/rich.py,sha256=cwQ5nJ6sgz64xHtoh6_ec7ReV5YpsOGhMtUJnwoRfEI,3549
|
|
292
292
|
sqlmesh/utils/windows.py,sha256=r7Yin4WEwbvH7sKA3hOJtRsclmscNuBeCklCfVPvtQs,611
|
|
293
293
|
sqlmesh/utils/yaml.py,sha256=hvo5lmybYLcIx4p6CQwufS8X4MbwS60lEBnCmYJCXmU,2336
|
|
294
|
-
sqlmesh-0.209.1.
|
|
294
|
+
sqlmesh-0.209.1.dev16.dist-info/licenses/LICENSE,sha256=OlMefUjgWJdULtf84BLW0AZZcY8DwdgQqb_1j2862j8,11346
|
|
295
295
|
sqlmesh_dbt/__init__.py,sha256=awYS5y5mz-1NUmx6i5h5NSTJ7tidRl9NC0FAnFWSF6U,350
|
|
296
296
|
sqlmesh_dbt/cli.py,sha256=Ekn77WLMmyyr31aoDoWrZp5DS0rfiddy7pNohBK8G0s,2115
|
|
297
297
|
sqlmesh_dbt/console.py,sha256=1B0B5_R1DlrEkyWVDl8G78-B6_K-ZtLPsQEhqPCfLEU,188
|
|
@@ -413,8 +413,8 @@ web/server/api/endpoints/models.py,sha256=kwj0s7uve3iZSMfmjkoPVMFMeY1sD0peTeyrWf
|
|
|
413
413
|
web/server/api/endpoints/modules.py,sha256=8hqqgonGay_mJmpCw0IdbjsPhWlQH2VLdKAqha-myac,468
|
|
414
414
|
web/server/api/endpoints/plan.py,sha256=bbbY50W_2MsZSTxOHWMKz0tbIm75nsRSlPy8GI2fg9Q,9306
|
|
415
415
|
web/server/api/endpoints/table_diff.py,sha256=SCy3-pr5x6bEEiOaZGCDbiHQhpgxwmnz3Acqa2Ie6jI,2090
|
|
416
|
-
sqlmesh-0.209.1.
|
|
417
|
-
sqlmesh-0.209.1.
|
|
418
|
-
sqlmesh-0.209.1.
|
|
419
|
-
sqlmesh-0.209.1.
|
|
420
|
-
sqlmesh-0.209.1.
|
|
416
|
+
sqlmesh-0.209.1.dev16.dist-info/METADATA,sha256=LoLr0pM2D6yfZeuWFu4MGt1XUeluS72i0AC7ojNT4K8,26686
|
|
417
|
+
sqlmesh-0.209.1.dev16.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
418
|
+
sqlmesh-0.209.1.dev16.dist-info/entry_points.txt,sha256=sHAf6tQczIM8xZoduN4qaUjV7QEPVUUW_LCT8EDUMv4,155
|
|
419
|
+
sqlmesh-0.209.1.dev16.dist-info/top_level.txt,sha256=RQ-33FPe2IgL0rgossAfJkCRtqslz9b7wFARqiWLC5Q,24
|
|
420
|
+
sqlmesh-0.209.1.dev16.dist-info/RECORD,,
|
/sqlmesh/migrations/{v0088_add_virtual_environment_mode.py → v0089_add_virtual_environment_mode.py}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|