|
88 | 88 | NotificationTargetManager, |
89 | 89 | ) |
90 | 90 | from sqlmesh.core.plan import Plan, PlanBuilder, SnapshotIntervals |
| 91 | +from sqlmesh.core.plan.definition import UserProvidedFlags |
91 | 92 | from sqlmesh.core.reference import ReferenceGraph |
92 | 93 | from sqlmesh.core.scheduler import Scheduler, CompletionStatus |
93 | 94 | from sqlmesh.core.schema_loader import create_external_models_file |
@@ -1335,47 +1336,33 @@ def plan_builder( |
1335 | 1336 | Returns: |
1336 | 1337 | The plan builder. |
1337 | 1338 | """ |
1338 | | - kwargs: t.Dict[ |
1339 | | - str, |
1340 | | - t.Union[ |
1341 | | - t.Optional[TimeLike], |
1342 | | - t.Optional[str], |
1343 | | - t.Optional[bool], |
1344 | | - t.Optional[t.Iterable[str]], |
1345 | | - t.Optional[t.Collection[str]], |
1346 | | - ], |
1347 | | - ] = { |
| 1339 | + kwargs: t.Dict[str, t.Optional[UserProvidedFlags]] = { |
1348 | 1340 | "start": start, |
1349 | 1341 | "end": end, |
1350 | 1342 | "execution_time": execution_time, |
1351 | 1343 | "create_from": create_from, |
1352 | 1344 | "skip_tests": skip_tests, |
1353 | | - "restate_models": restate_models, |
| 1345 | + "restate_models": list(restate_models) if restate_models else None, |
1354 | 1346 | "no_gaps": no_gaps, |
1355 | 1347 | "skip_backfill": skip_backfill, |
1356 | 1348 | "empty_backfill": empty_backfill, |
1357 | 1349 | "forward_only": forward_only, |
1358 | | - "allow_destructive_models": allow_destructive_models, |
| 1350 | + "allow_destructive_models": list(allow_destructive_models) |
| 1351 | + if allow_destructive_models |
| 1352 | + else None, |
1359 | 1353 | "no_auto_categorization": no_auto_categorization, |
1360 | 1354 | "effective_from": effective_from, |
1361 | 1355 | "include_unmodified": include_unmodified, |
1362 | | - "select_models": select_models, |
1363 | | - "backfill_models": backfill_models, |
| 1356 | + "select_models": list(select_models) if select_models else None, |
| 1357 | + "backfill_models": list(backfill_models) if backfill_models else None, |
1364 | 1358 | "enable_preview": enable_preview, |
1365 | 1359 | "run": run, |
1366 | 1360 | "diff_rendered": diff_rendered, |
1367 | 1361 | "skip_linter": skip_linter, |
1368 | 1362 | } |
1369 | | - user_defined_flags: t.Dict[ |
1370 | | - str, |
1371 | | - t.Union[ |
1372 | | - t.Optional[TimeLike], |
1373 | | - t.Optional[str], |
1374 | | - t.Optional[bool], |
1375 | | - t.Optional[t.Iterable[str]], |
1376 | | - t.Optional[t.Collection[str]], |
1377 | | - ], |
1378 | | - ] = {k: v for k, v in kwargs.items() if v is not None} |
| 1363 | + user_provided_flags: t.Dict[str, UserProvidedFlags] = { |
| 1364 | + k: v for k, v in kwargs.items() if v is not None |
| 1365 | + } |
1379 | 1366 |
|
1380 | 1367 | skip_tests = skip_tests or False |
1381 | 1368 | no_gaps = no_gaps or False |
@@ -1519,7 +1506,7 @@ def plan_builder( |
1519 | 1506 | engine_schema_differ=self.engine_adapter.SCHEMA_DIFFER, |
1520 | 1507 | interval_end_per_model=max_interval_end_per_model, |
1521 | 1508 | console=self.console, |
1522 | | - user_defined_flags=user_defined_flags, |
| 1509 | + user_provided_flags=user_provided_flags, |
1523 | 1510 | ) |
1524 | 1511 |
|
1525 | 1512 | def apply( |
|
0 commit comments