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 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.dev18'
21
- __version_tuple__ = version_tuple = (0, 209, 1, 'dev18')
20
+ __version__ = version = '0.209.1.dev19'
21
+ __version_tuple__ = version_tuple = (0, 209, 1, 'dev19')
@@ -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,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sqlmesh
3
- Version: 0.209.1.dev18
3
+ Version: 0.209.1.dev19
4
4
  Summary: Next-generation data transformation framework
5
5
  Author-email: "TobikoData Inc." <engineering@tobikodata.com>
6
6
  License: Apache License
@@ -1,5 +1,5 @@
1
1
  sqlmesh/__init__.py,sha256=QjwaamJIdW7voXoS880yAx7tHm-Im4_mqGA-XJgafos,7631
2
- sqlmesh/_version.py,sha256=VXqoS95PazQMdQuI-Ud6xRAzmn1s_sL1yIIWZt5amJI,530
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=CliBMyjTFTp4pVjV04ocxjLh3i0LjJevWdarZj3af8A,40954
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.dev18.dist-info/licenses/LICENSE,sha256=OlMefUjgWJdULtf84BLW0AZZcY8DwdgQqb_1j2862j8,11346
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.dev18.dist-info/METADATA,sha256=DhsqsAAfCLUo_qjBGTON1HbyNiXLjtm-eXvr1DlrUso,26686
417
- sqlmesh-0.209.1.dev18.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
418
- sqlmesh-0.209.1.dev18.dist-info/entry_points.txt,sha256=sHAf6tQczIM8xZoduN4qaUjV7QEPVUUW_LCT8EDUMv4,155
419
- sqlmesh-0.209.1.dev18.dist-info/top_level.txt,sha256=RQ-33FPe2IgL0rgossAfJkCRtqslz9b7wFARqiWLC5Q,24
420
- sqlmesh-0.209.1.dev18.dist-info/RECORD,,
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,,