sqlmesh 0.209.1.dev18__py3-none-any.whl → 0.209.1.dev19__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 +2 -2
- sqlmesh/core/plan/builder.py +20 -0
- {sqlmesh-0.209.1.dev18.dist-info → sqlmesh-0.209.1.dev19.dist-info}/METADATA +1 -1
- {sqlmesh-0.209.1.dev18.dist-info → sqlmesh-0.209.1.dev19.dist-info}/RECORD +8 -8
- {sqlmesh-0.209.1.dev18.dist-info → sqlmesh-0.209.1.dev19.dist-info}/WHEEL +0 -0
- {sqlmesh-0.209.1.dev18.dist-info → sqlmesh-0.209.1.dev19.dist-info}/entry_points.txt +0 -0
- {sqlmesh-0.209.1.dev18.dist-info → sqlmesh-0.209.1.dev19.dist-info}/licenses/LICENSE +0 -0
- {sqlmesh-0.209.1.dev18.dist-info → sqlmesh-0.209.1.dev19.dist-info}/top_level.txt +0 -0
sqlmesh/_version.py
CHANGED
|
@@ -17,5 +17,5 @@ __version__: str
|
|
|
17
17
|
__version_tuple__: VERSION_TUPLE
|
|
18
18
|
version_tuple: VERSION_TUPLE
|
|
19
19
|
|
|
20
|
-
__version__ = version = '0.209.1.
|
|
21
|
-
__version_tuple__ = version_tuple = (0, 209, 1, '
|
|
20
|
+
__version__ = version = '0.209.1.dev19'
|
|
21
|
+
__version_tuple__ = version_tuple = (0, 209, 1, 'dev19')
|
sqlmesh/core/plan/builder.py
CHANGED
|
@@ -155,6 +155,7 @@ class PlanBuilder:
|
|
|
155
155
|
|
|
156
156
|
self._backfill_models = backfill_models
|
|
157
157
|
self._end = end or default_end
|
|
158
|
+
self._default_start = default_start
|
|
158
159
|
self._apply = apply
|
|
159
160
|
self._console = console or get_console()
|
|
160
161
|
self._choices: t.Dict[SnapshotId, SnapshotChangeCategory] = {}
|
|
@@ -802,6 +803,25 @@ class PlanBuilder:
|
|
|
802
803
|
f"Plan end date: '{time_like_to_str(end)}' cannot be in the future (execution time: '{time_like_to_str(self.execution_time)}')"
|
|
803
804
|
)
|
|
804
805
|
|
|
806
|
+
# Validate model-specific start/end dates
|
|
807
|
+
if (start := self.start or self._default_start) and (end := self.end):
|
|
808
|
+
start_ts = to_datetime(start)
|
|
809
|
+
end_ts = to_datetime(end)
|
|
810
|
+
if start_ts > end_ts:
|
|
811
|
+
models_to_check: t.Set[str] = (
|
|
812
|
+
set(self._backfill_models or [])
|
|
813
|
+
| set(self._context_diff.modified_snapshots.keys())
|
|
814
|
+
| {s.name for s in self._context_diff.added}
|
|
815
|
+
| set((self._end_override_per_model or {}).keys())
|
|
816
|
+
)
|
|
817
|
+
for model_name in models_to_check:
|
|
818
|
+
if snapshot := self._model_fqn_to_snapshot.get(model_name):
|
|
819
|
+
if snapshot.node.start is None or to_datetime(snapshot.node.start) > end_ts:
|
|
820
|
+
raise PlanError(
|
|
821
|
+
f"Model '{model_name}': Start date / time '({time_like_to_str(start_ts)})' can't be greater than end date / time '({time_like_to_str(end_ts)})'.\n"
|
|
822
|
+
f"Set the `start` attribute in your project config model defaults to avoid this issue."
|
|
823
|
+
)
|
|
824
|
+
|
|
805
825
|
def _ensure_no_broken_references(self) -> None:
|
|
806
826
|
for snapshot in self._context_diff.snapshots.values():
|
|
807
827
|
broken_references = {
|
|
@@ -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=8WNclZZ6xNU2iOQSEBBv0F5OBfWlOhliTI3Qo2TIZH0,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
|
|
@@ -94,7 +94,7 @@ sqlmesh/core/model/meta.py,sha256=PCYfLMevlWExRHQtYs1H_158x3I5K-yUXbdjRzH2YQw,20
|
|
|
94
94
|
sqlmesh/core/model/schema.py,sha256=_HMYfzK9wWXh7_CQDIIGnuQUD4aiX3o5D2cRp2sERzc,3387
|
|
95
95
|
sqlmesh/core/model/seed.py,sha256=a0M-1zY1gOkN5ph2GQyataEdBSCtq50YjeFk2LyvInI,5058
|
|
96
96
|
sqlmesh/core/plan/__init__.py,sha256=NKSvM7ZBVjw9ho3J65M1wFvG3KURB8PJ0FHHLmtSF44,443
|
|
97
|
-
sqlmesh/core/plan/builder.py,sha256=
|
|
97
|
+
sqlmesh/core/plan/builder.py,sha256=vAfziTkuM4Oq2s-flqScQf-Mac-i21YVmLpKL_I3b0c,42176
|
|
98
98
|
sqlmesh/core/plan/common.py,sha256=xchdSb_XqQBu0S6OqnpeLBR5XB8Rmr9FRCfO_v4Tl50,768
|
|
99
99
|
sqlmesh/core/plan/definition.py,sha256=yrX_uZMXi29ltkuowWhNUOi1kd0Uq0TQoM574EI6JHo,14019
|
|
100
100
|
sqlmesh/core/plan/evaluator.py,sha256=0oqepq0qZ_tPhAye6Q9gLenBD_8yE3E8AAwt553lz7U,22163
|
|
@@ -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.dev19.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.dev19.dist-info/METADATA,sha256=jg2C1CgQA7axFa6dYesGsHKZ-BKU8u_escI1I12Hg3Q,26686
|
|
417
|
+
sqlmesh-0.209.1.dev19.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
418
|
+
sqlmesh-0.209.1.dev19.dist-info/entry_points.txt,sha256=sHAf6tQczIM8xZoduN4qaUjV7QEPVUUW_LCT8EDUMv4,155
|
|
419
|
+
sqlmesh-0.209.1.dev19.dist-info/top_level.txt,sha256=RQ-33FPe2IgL0rgossAfJkCRtqslz9b7wFARqiWLC5Q,24
|
|
420
|
+
sqlmesh-0.209.1.dev19.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|