sqlmesh 0.187.6.dev10__py3-none-any.whl → 0.187.6.dev11__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.187.6.dev10'
21
- __version_tuple__ = version_tuple = (0, 187, 6, 'dev10')
20
+ __version__ = version = '0.187.6.dev11'
21
+ __version_tuple__ = version_tuple = (0, 187, 6, 'dev11')
@@ -47,8 +47,8 @@ class SchedulerConfig(abc.ABC):
47
47
  """
48
48
 
49
49
  @abc.abstractmethod
50
- def get_default_catalog(self, context: GenericContext) -> t.Optional[str]:
51
- """Returns the default catalog for the Scheduler.
50
+ def get_default_catalog_per_gateway(self, context: GenericContext) -> t.Dict[str, str]:
51
+ """Returns the default catalog for each gateway.
52
52
 
53
53
  Args:
54
54
  context: The SQLMesh Context.
@@ -66,7 +66,7 @@ class SchedulerConfig(abc.ABC):
66
66
  class _EngineAdapterStateSyncSchedulerConfig(SchedulerConfig):
67
67
  def create_state_sync(self, context: GenericContext) -> StateSync:
68
68
  state_connection = (
69
- context.config.get_state_connection(context.gateway) or context._connection_config
69
+ context.config.get_state_connection(context.gateway) or context.connection_config
70
70
  )
71
71
 
72
72
  warehouse_connection = context.config.get_connection(context.gateway)
@@ -110,7 +110,7 @@ class _EngineAdapterStateSyncSchedulerConfig(SchedulerConfig):
110
110
 
111
111
  def state_sync_fingerprint(self, context: GenericContext) -> str:
112
112
  state_connection = (
113
- context.config.get_state_connection(context.gateway) or context._connection_config
113
+ context.config.get_state_connection(context.gateway) or context.connection_config
114
114
  )
115
115
  return md5(
116
116
  [
@@ -132,12 +132,16 @@ class BuiltInSchedulerConfig(_EngineAdapterStateSyncSchedulerConfig, BaseConfig)
132
132
  state_sync=context.state_sync,
133
133
  snapshot_evaluator=context.snapshot_evaluator,
134
134
  create_scheduler=context.create_scheduler,
135
- default_catalog=self.get_default_catalog(context),
135
+ default_catalog=context.default_catalog,
136
136
  console=context.console,
137
137
  )
138
138
 
139
- def get_default_catalog(self, context: GenericContext) -> t.Optional[str]:
140
- return context.engine_adapter.default_catalog
139
+ def get_default_catalog_per_gateway(self, context: GenericContext) -> t.Dict[str, str]:
140
+ default_catalogs_per_gateway: t.Dict[str, str] = {}
141
+ for gateway, adapter in context.engine_adapters.items():
142
+ if catalog := adapter.default_catalog:
143
+ default_catalogs_per_gateway[gateway] = catalog
144
+ return default_catalogs_per_gateway
141
145
 
142
146
 
143
147
  SCHEDULER_CONFIG_TO_TYPE = {
sqlmesh/core/context.py CHANGED
@@ -62,7 +62,9 @@ from sqlmesh.core.config import (
62
62
  Config,
63
63
  load_configs,
64
64
  )
65
+ from sqlmesh.core.config.connection import ConnectionConfig
65
66
  from sqlmesh.core.config.loader import C
67
+ from sqlmesh.core.config.root import RegexKeyDict
66
68
  from sqlmesh.core.console import get_console
67
69
  from sqlmesh.core.context_diff import ContextDiff
68
70
  from sqlmesh.core.dialect import (
@@ -91,6 +93,7 @@ from sqlmesh.core.plan import Plan, PlanBuilder, SnapshotIntervals
91
93
  from sqlmesh.core.plan.definition import UserProvidedFlags
92
94
  from sqlmesh.core.reference import ReferenceGraph
93
95
  from sqlmesh.core.scheduler import Scheduler, CompletionStatus
96
+ from sqlmesh.core.schema_diff import SchemaDiffer
94
97
  from sqlmesh.core.schema_loader import create_external_models_file
95
98
  from sqlmesh.core.selector import Selector
96
99
  from sqlmesh.core.snapshot import (
@@ -367,6 +370,9 @@ class GenericContext(BaseContext, t.Generic[C]):
367
370
  self._excluded_requirements: t.Set[str] = set()
368
371
  self._default_catalog: t.Optional[str] = None
369
372
  self._default_catalog_per_gateway: t.Optional[t.Dict[str, str]] = None
373
+ self._engine_adapter: t.Optional[EngineAdapter] = None
374
+ self._connection_config: t.Optional[ConnectionConfig] = None
375
+ self._test_connection_config: t.Optional[ConnectionConfig] = None
370
376
  self._linters: t.Dict[str, Linter] = {}
371
377
  self._loaded: bool = False
372
378
 
@@ -407,24 +413,15 @@ class GenericContext(BaseContext, t.Generic[C]):
407
413
  for path, config in self.configs.items()
408
414
  ]
409
415
 
410
- self._connection_config = self.config.get_connection(self.gateway)
416
+ self._concurrent_tasks = concurrent_tasks
411
417
  self._state_connection_config = (
412
- self.config.get_state_connection(self.gateway) or self._connection_config
418
+ self.config.get_state_connection(self.gateway) or self.connection_config
413
419
  )
414
- self.concurrent_tasks = concurrent_tasks or self._connection_config.concurrent_tasks
415
-
416
- self._engine_adapters: t.Dict[str, EngineAdapter] = {
417
- self.selected_gateway: self._connection_config.create_engine_adapter()
418
- }
419
420
 
420
421
  self._snapshot_evaluator: t.Optional[SnapshotEvaluator] = None
421
422
 
422
423
  self.console = get_console()
423
- setattr(self.console, "dialect", self.engine_adapter.dialect)
424
-
425
- self._test_connection_config = self.config.get_test_connection(
426
- self.gateway, self.default_catalog, default_catalog_dialect=self.engine_adapter.DIALECT
427
- )
424
+ setattr(self.console, "dialect", self.config.dialect)
428
425
 
429
426
  self._provided_state_sync: t.Optional[StateSync] = state_sync
430
427
  self._state_sync: t.Optional[StateSync] = None
@@ -435,14 +432,6 @@ class GenericContext(BaseContext, t.Generic[C]):
435
432
  self.users = list({user.username: user for user in self.users}.values())
436
433
  self._register_notification_targets()
437
434
 
438
- if (
439
- self.config.environment_catalog_mapping
440
- and not self.engine_adapter.catalog_support.is_multi_catalog_supported
441
- ):
442
- raise SQLMeshError(
443
- "Environment catalog mapping is only supported for engine adapters that support multiple catalogs"
444
- )
445
-
446
435
  if load:
447
436
  self.load()
448
437
 
@@ -453,7 +442,9 @@ class GenericContext(BaseContext, t.Generic[C]):
453
442
  @property
454
443
  def engine_adapter(self) -> EngineAdapter:
455
444
  """Returns the default engine adapter."""
456
- return self._engine_adapters[self.selected_gateway]
445
+ if self._engine_adapter is None:
446
+ self._engine_adapter = self.connection_config.create_engine_adapter()
447
+ return self._engine_adapter
457
448
 
458
449
  @property
459
450
  def snapshot_evaluator(self) -> SnapshotEvaluator:
@@ -980,8 +971,8 @@ class GenericContext(BaseContext, t.Generic[C]):
980
971
 
981
972
  @property
982
973
  def default_catalog(self) -> t.Optional[str]:
983
- if self._default_catalog is None:
984
- self._default_catalog = self._scheduler.get_default_catalog(self)
974
+ if self._default_catalog is None and self.default_catalog_per_gateway:
975
+ self._default_catalog = self.default_catalog_per_gateway[self.selected_gateway]
985
976
  return self._default_catalog
986
977
 
987
978
  @python_api_analytics
@@ -1538,7 +1529,7 @@ class GenericContext(BaseContext, t.Generic[C]):
1538
1529
  allow_destructive_models=expanded_destructive_models,
1539
1530
  environment_ttl=environment_ttl,
1540
1531
  environment_suffix_target=self.config.environment_suffix_target,
1541
- environment_catalog_mapping=self.config.environment_catalog_mapping,
1532
+ environment_catalog_mapping=self.environment_catalog_mapping,
1542
1533
  categorizer_config=categorizer_config or self.auto_categorize_changes,
1543
1534
  auto_categorization_enabled=not no_auto_categorization,
1544
1535
  effective_from=effective_from,
@@ -1550,7 +1541,7 @@ class GenericContext(BaseContext, t.Generic[C]):
1550
1541
  ),
1551
1542
  end_bounded=not run,
1552
1543
  ensure_finalized_snapshots=self.config.plan.use_finalized_state,
1553
- engine_schema_differ=self.engine_adapter.SCHEMA_DIFFER,
1544
+ engine_schema_differ=SchemaDiffer(), # TODO: fix to properly handle it
1554
1545
  interval_end_per_model=max_interval_end_per_model,
1555
1546
  console=self.console,
1556
1547
  user_provided_flags=user_provided_flags,
@@ -1639,7 +1630,7 @@ class GenericContext(BaseContext, t.Generic[C]):
1639
1630
  self.console.show_model_difference_summary(
1640
1631
  context_diff,
1641
1632
  EnvironmentNamingInfo.from_environment_catalog_mapping(
1642
- self.config.environment_catalog_mapping,
1633
+ self.environment_catalog_mapping,
1643
1634
  name=environment,
1644
1635
  suffix_target=self.config.environment_suffix_target,
1645
1636
  normalize_name=context_diff.normalize_environment_name,
@@ -1993,7 +1984,7 @@ class GenericContext(BaseContext, t.Generic[C]):
1993
1984
 
1994
1985
  try:
1995
1986
  model_to_test = self.get_model(model, raise_if_missing=True)
1996
- test_adapter = self._test_connection_config.create_engine_adapter(
1987
+ test_adapter = self.test_connection_config.create_engine_adapter(
1997
1988
  register_comments_override=False
1998
1989
  )
1999
1990
 
@@ -2039,7 +2030,7 @@ class GenericContext(BaseContext, t.Generic[C]):
2039
2030
  preserve_fixtures=preserve_fixtures,
2040
2031
  stream=stream,
2041
2032
  default_catalog=self.default_catalog,
2042
- default_catalog_dialect=self.engine_adapter.DIALECT,
2033
+ default_catalog_dialect=self.config.dialect or "",
2043
2034
  )
2044
2035
 
2045
2036
  @python_api_analytics
@@ -2478,7 +2469,7 @@ class GenericContext(BaseContext, t.Generic[C]):
2478
2469
  self.console.log_test_results(
2479
2470
  result,
2480
2471
  test_output,
2481
- self._test_connection_config._engine_adapter.DIALECT,
2472
+ self.test_connection_config._engine_adapter.DIALECT,
2482
2473
  )
2483
2474
  if not result.wasSuccessful():
2484
2475
  raise PlanError(
@@ -2499,7 +2490,7 @@ class GenericContext(BaseContext, t.Generic[C]):
2499
2490
  if snapshot.version
2500
2491
  else snapshot.qualified_view_name.for_environment(
2501
2492
  EnvironmentNamingInfo.from_environment_catalog_mapping(
2502
- self.config.environment_catalog_mapping,
2493
+ self.environment_catalog_mapping,
2503
2494
  name=c.PROD,
2504
2495
  suffix_target=self.config.environment_suffix_target,
2505
2496
  )
@@ -2511,24 +2502,63 @@ class GenericContext(BaseContext, t.Generic[C]):
2511
2502
  @cached_property
2512
2503
  def engine_adapters(self) -> t.Dict[str, EngineAdapter]:
2513
2504
  """Returns all the engine adapters for the gateways defined in the configuration."""
2505
+ adapters: t.Dict[str, EngineAdapter] = {self.selected_gateway: self.engine_adapter}
2514
2506
  for gateway_name in self.config.gateways:
2515
2507
  if gateway_name != self.selected_gateway:
2516
2508
  connection = self.config.get_connection(gateway_name)
2517
2509
  adapter = connection.create_engine_adapter(concurrent_tasks=self.concurrent_tasks)
2518
- self._engine_adapters[gateway_name] = adapter
2519
- return self._engine_adapters
2510
+ adapters[gateway_name] = adapter
2511
+ return adapters
2520
2512
 
2521
2513
  @cached_property
2522
2514
  def default_catalog_per_gateway(self) -> t.Dict[str, str]:
2523
2515
  """Returns the default catalogs for each engine adapter."""
2524
2516
  if self._default_catalog_per_gateway is None:
2525
- self._default_catalog_per_gateway = {
2526
- name: adapter.default_catalog
2527
- for name, adapter in self.engine_adapters.items()
2528
- if adapter.default_catalog
2529
- }
2517
+ self._default_catalog_per_gateway = self._scheduler.get_default_catalog_per_gateway(
2518
+ self
2519
+ )
2530
2520
  return self._default_catalog_per_gateway
2531
2521
 
2522
+ @cached_property
2523
+ def concurrent_tasks(self) -> int:
2524
+ if self._concurrent_tasks is None:
2525
+ self._concurrent_tasks = self.connection_config.concurrent_tasks
2526
+ return self._concurrent_tasks
2527
+
2528
+ @cached_property
2529
+ def connection_config(self) -> ConnectionConfig:
2530
+ if self._connection_config is None:
2531
+ self._connection_config = self.config.get_connection(self.selected_gateway)
2532
+ return self._connection_config
2533
+
2534
+ @cached_property
2535
+ def test_connection_config(self) -> ConnectionConfig:
2536
+ if self._test_connection_config is None:
2537
+ self._test_connection_config = self.config.get_test_connection(
2538
+ self.gateway,
2539
+ self.default_catalog,
2540
+ default_catalog_dialect=self.engine_adapter.DIALECT,
2541
+ )
2542
+ return self._test_connection_config
2543
+
2544
+ @cached_property
2545
+ def environment_catalog_mapping(self) -> RegexKeyDict:
2546
+ engine_adapter = None
2547
+ try:
2548
+ engine_adapter = self.engine_adapter
2549
+ except Exception:
2550
+ pass
2551
+
2552
+ if (
2553
+ self.config.environment_catalog_mapping
2554
+ and engine_adapter
2555
+ and not self.engine_adapter.catalog_support.is_multi_catalog_supported
2556
+ ):
2557
+ raise SQLMeshError(
2558
+ "Environment catalog mapping is only supported for engine adapters that support multiple catalogs"
2559
+ )
2560
+ return self.config.environment_catalog_mapping
2561
+
2532
2562
  def _get_engine_adapter(self, gateway: t.Optional[str] = None) -> EngineAdapter:
2533
2563
  if gateway:
2534
2564
  if adapter := self.engine_adapters.get(gateway):
@@ -726,7 +726,7 @@ class GithubController:
726
726
  self._console.log_test_results(
727
727
  result,
728
728
  output,
729
- self._context._test_connection_config._engine_adapter.DIALECT,
729
+ self._context.test_connection_config._engine_adapter.DIALECT,
730
730
  )
731
731
  test_summary = self._console.consume_captured_output()
732
732
  test_title = "Tests Passed" if result.wasSuccessful() else "Tests Failed"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sqlmesh
3
- Version: 0.187.6.dev10
3
+ Version: 0.187.6.dev11
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=69xw6bTmi4cW90M-sl3g6wLDgxVcLHcKg1q8GS3lqyA,7466
2
- sqlmesh/_version.py,sha256=yMb0V9qRMBu4NnvEh3nDRsh79cGqQdC-fTdlfGM614Y,530
2
+ sqlmesh/_version.py,sha256=i568mvr4ypNSszdDvZr4JgAp-aw-eTdLM_JqGZyZ2ro,530
3
3
  sqlmesh/magics.py,sha256=JHorAZNtezf123jmTyNSoUC9yHmv-08hMP205PJmmIo,39750
4
4
  sqlmesh/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  sqlmesh/cicd/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -13,7 +13,7 @@ sqlmesh/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
13
  sqlmesh/core/_typing.py,sha256=e1f7xO2aZCy38M_3VoDy-XI3shyd99-IFctgIFSgXWM,497
14
14
  sqlmesh/core/console.py,sha256=ZAaGLOWBJGBxPzLV7KZZ9akPExgD5m5AboCM8O0Q0nY,150944
15
15
  sqlmesh/core/constants.py,sha256=oqt6zjepUhQoWlgapKn_HpG7Pu9mrFwepdX5caNfJUI,2499
16
- sqlmesh/core/context.py,sha256=qdnbqhTJsxYXs8RcqSq8KRBOlxN6BL0XMFCmHHz0XTc,115784
16
+ sqlmesh/core/context.py,sha256=-pg6ZTvamwAc1SrAF2WhvAuMDTaOZipXSEVP-EiiDso,116971
17
17
  sqlmesh/core/context_diff.py,sha256=s9toP17d4tJfOpFH91LcjGK2CM64PVuB0MPkeFgF4hQ,20415
18
18
  sqlmesh/core/dialect.py,sha256=fPTV517IOS0nWMxYznNNQnXkQkFFrPOSKe8ghsQ0o8A,49759
19
19
  sqlmesh/core/environment.py,sha256=Fsih6WZ7Tx4ec0XIlmIIspUWcmijPNW5uHPRQSWuhA8,12315
@@ -54,7 +54,7 @@ sqlmesh/core/config/naming.py,sha256=KVGaxUgswoQajXR_cHFJvgkmEFcU1V182GkOH1SJxuE
54
54
  sqlmesh/core/config/plan.py,sha256=Sql_bdO2H_vVrIYosf8rWOTRVoMURciX7mEcbMNFFdg,1389
55
55
  sqlmesh/core/config/root.py,sha256=q4yD5S6ZoUvCaDNWkm47rGbvITp0JBfBUC37P1a9I9U,14735
56
56
  sqlmesh/core/config/run.py,sha256=rIK0QnN_vArrwps2TXGVEbvao2AnGZgzXo7EliJa42E,852
57
- sqlmesh/core/config/scheduler.py,sha256=essKKkJ6jD5gRT_l-WiKwGKVO1hpDlnf_UdrCvyN5JY,6786
57
+ sqlmesh/core/config/scheduler.py,sha256=k3BVMpy5ZrC05ZlyE3vec8ZGfTjUjWyfsKZtYgflbyA,7029
58
58
  sqlmesh/core/config/ui.py,sha256=jsO-S6_d9NkLZGG5pT4mgKgxMF34KzkDociZAMvCX3U,278
59
59
  sqlmesh/core/engine_adapter/__init__.py,sha256=two_WTs4UnSNp-fscJh8vOunJq0Xi37EuDuMjKsKuNE,2281
60
60
  sqlmesh/core/engine_adapter/_typing.py,sha256=BAM_U7Vsi0k37XHu_nNnu3whXxuTVDey_uZe3aelKYY,1033
@@ -154,7 +154,7 @@ sqlmesh/integrations/github/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMp
154
154
  sqlmesh/integrations/github/cicd/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
155
155
  sqlmesh/integrations/github/cicd/command.py,sha256=3toifUNTXpYvvOVXb_BiOAgna8CNOQfFEyUTFuDyK10,11515
156
156
  sqlmesh/integrations/github/cicd/config.py,sha256=tRhMZaLf1p6AWXvi67n85Q-lptJNGt1Wk_Jr61ytpiM,2104
157
- sqlmesh/integrations/github/cicd/controller.py,sha256=EXFB_AHR_B4gTXMjX3CE6jZSvlENJ2BiI-Y7Wg6eGq4,41667
157
+ sqlmesh/integrations/github/cicd/controller.py,sha256=FmOO93RF5auSU6aDU2beiP5LblLs38eAUYgHGWB9jYc,41666
158
158
  sqlmesh/lsp/api.py,sha256=LJdECSaEZoPbu_Xl4KscVG-WLt7_g4dY-zKGO68dH14,2162
159
159
  sqlmesh/lsp/completions.py,sha256=Uo8lUzPBeoB58Eu2642YoAtNI0pgIFWFSvwmuJALTv4,3583
160
160
  sqlmesh/lsp/context.py,sha256=nCWg2uVH28-IJC2uDYuCbiXTh1lUFElSpNu4Q-fDWi4,2918
@@ -270,7 +270,7 @@ sqlmesh/utils/pydantic.py,sha256=I898jAFqa3qU6lG2uPpRebVFncOUo8ZrLWM_R3K3DHU,116
270
270
  sqlmesh/utils/rich.py,sha256=xNZyPCqEc4TAlJlsEthg-5eYUWpaizz0QjBzO7a1Yv4,1509
271
271
  sqlmesh/utils/windows.py,sha256=r7Yin4WEwbvH7sKA3hOJtRsclmscNuBeCklCfVPvtQs,611
272
272
  sqlmesh/utils/yaml.py,sha256=np-WVcwmwsKghCgAj1OBBMsK1SXSRn4wR-H37cGiFr8,2282
273
- sqlmesh-0.187.6.dev10.dist-info/licenses/LICENSE,sha256=OlMefUjgWJdULtf84BLW0AZZcY8DwdgQqb_1j2862j8,11346
273
+ sqlmesh-0.187.6.dev11.dist-info/licenses/LICENSE,sha256=OlMefUjgWJdULtf84BLW0AZZcY8DwdgQqb_1j2862j8,11346
274
274
  web/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
275
275
  web/client/dist/index.html,sha256=8vySM6CmjEU7pX2XGNeYyHR4PwjYGMsYT_RJn3p8Qt8,5472
276
276
  web/client/dist/assets/Audits-C6gUfP0Y.js,sha256=fgwKzn8EkoySQW3vumBtag39Tf7tKZ1CAjrtgiV6nVg,1041
@@ -377,7 +377,7 @@ web/server/utils.py,sha256=xqfzyqzsFSZu9Q9QHBCNvULUpAC6viInsznOJwcU6ig,3988
377
377
  web/server/watcher.py,sha256=5biJ8gbHmGNUrooMFWRmw00XDVg0bMx6Hub571cs6TI,5246
378
378
  web/server/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
379
379
  web/server/api/endpoints/__init__.py,sha256=FcXl56-kPqbKgCZKOx0kjE50hn37q1m-nwOCxI9tRcc,932
380
- web/server/api/endpoints/commands.py,sha256=MVlxC-QG6VMEcboHYeuTdtsd7WgPpqJcQDa1OLxZtLI,8367
380
+ web/server/api/endpoints/commands.py,sha256=MpFiGihTNH074q06-7JyJ6x_kiV2C91Qq4pOWdlDkNg,8366
381
381
  web/server/api/endpoints/directories.py,sha256=Aa8U4pTs3Saj5DnJ9TDnX9mZois-EXgpcBm5GpNNM_s,1822
382
382
  web/server/api/endpoints/environments.py,sha256=g3YC6j4LLlG_wjJqn-Hrz78BWmgS7vhUhzaycsiez00,2124
383
383
  web/server/api/endpoints/events.py,sha256=tjhOhGe9jt7L1mOLLapl5qTvicDRnP5lPZHSq9OnSVI,932
@@ -388,8 +388,8 @@ web/server/api/endpoints/models.py,sha256=ud-lRwriyI_OYg9tZchrBgeiXELiRTLNEodraf
388
388
  web/server/api/endpoints/modules.py,sha256=8hqqgonGay_mJmpCw0IdbjsPhWlQH2VLdKAqha-myac,468
389
389
  web/server/api/endpoints/plan.py,sha256=OYuQ_4dgbhG9ibTcX1a8mvYgH3ANxw9Fhbb4wg6QWqc,9222
390
390
  web/server/api/endpoints/table_diff.py,sha256=Wd5YxeKbZB7AkrDvqFgvV9ZQlnKYOF1n5W_w2EHE_Zw,2085
391
- sqlmesh-0.187.6.dev10.dist-info/METADATA,sha256=hx6VrKpzK450fH03oRTwQupodofqEvmwyXvycZt8wdc,26494
392
- sqlmesh-0.187.6.dev10.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
393
- sqlmesh-0.187.6.dev10.dist-info/entry_points.txt,sha256=pIYKtg-u-uO7BK_Y0qrdmfyj0bYrcMc3Xiqr5WE3VFk,121
394
- sqlmesh-0.187.6.dev10.dist-info/top_level.txt,sha256=bspjo5vjELQkuN0qKuTFIbsrUt3Zeo8D2mlKeHG1LdE,12
395
- sqlmesh-0.187.6.dev10.dist-info/RECORD,,
391
+ sqlmesh-0.187.6.dev11.dist-info/METADATA,sha256=Vb0ZE8jBYegqvGr34pW0i9vjhsldtVolMJkP2hdGE6I,26494
392
+ sqlmesh-0.187.6.dev11.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
393
+ sqlmesh-0.187.6.dev11.dist-info/entry_points.txt,sha256=pIYKtg-u-uO7BK_Y0qrdmfyj0bYrcMc3Xiqr5WE3VFk,121
394
+ sqlmesh-0.187.6.dev11.dist-info/top_level.txt,sha256=bspjo5vjELQkuN0qKuTFIbsrUt3Zeo8D2mlKeHG1LdE,12
395
+ sqlmesh-0.187.6.dev11.dist-info/RECORD,,
@@ -159,7 +159,7 @@ async def test(
159
159
  context.console.log_test_results(
160
160
  result,
161
161
  test_output.getvalue(),
162
- context._test_connection_config._engine_adapter.DIALECT,
162
+ context.test_connection_config._engine_adapter.DIALECT,
163
163
  )
164
164
 
165
165
  def _test_path(test: ModelTest) -> t.Optional[str]: