@@ -210,7 +210,12 @@ def __init__(
210210 self .macros [normalize_macro_name (k )] = self .env [k ]
211211 elif v .is_value :
212212 value = self .env [k ]
213- if k in (c .SQLMESH_VARS , c .SQLMESH_BLUEPRINT_VARS ):
213+ if k in (
214+ c .SQLMESH_VARS ,
215+ c .SQLMESH_VARS_METADATA ,
216+ c .SQLMESH_BLUEPRINT_VARS ,
217+ c .SQLMESH_BLUEPRINT_VARS_METADATA ,
218+ ):
214219 value = {
215220 var_name : (
216221 self .parse_one (var_value .sql )
@@ -557,17 +562,25 @@ def views(self) -> t.List[str]:
557562
558563 def var (self , var_name : str , default : t .Optional [t .Any ] = None ) -> t .Optional [t .Any ]:
559564 """Returns the value of the specified variable, or the default value if it doesn't exist."""
560- return (self .locals .get (c .SQLMESH_VARS ) or {}).get (var_name .lower (), default )
565+ return {
566+ ** (self .locals .get (c .SQLMESH_VARS ) or {}),
567+ ** (self .locals .get (c .SQLMESH_VARS_METADATA ) or {}),
568+ }.get (var_name .lower (), default )
561569
562570 def blueprint_var (self , var_name : str , default : t .Optional [t .Any ] = None ) -> t .Optional [t .Any ]:
563571 """Returns the value of the specified blueprint variable, or the default value if it doesn't exist."""
564- return (self .locals .get (c .SQLMESH_BLUEPRINT_VARS ) or {}).get (var_name .lower (), default )
572+ return {
573+ ** (self .locals .get (c .SQLMESH_BLUEPRINT_VARS ) or {}),
574+ ** (self .locals .get (c .SQLMESH_BLUEPRINT_VARS_METADATA ) or {}),
575+ }.get (var_name .lower (), default )
565576
566577 @property
567578 def variables (self ) -> t .Dict [str , t .Any ]:
568579 return {
569580 ** self .locals .get (c .SQLMESH_VARS , {}),
581+ ** self .locals .get (c .SQLMESH_VARS_METADATA , {}),
570582 ** self .locals .get (c .SQLMESH_BLUEPRINT_VARS , {}),
583+ ** self .locals .get (c .SQLMESH_BLUEPRINT_VARS_METADATA , {}),
571584 }
572585
573586 def _coerce (self , expr : exp .Expression , typ : t .Any , strict : bool = False ) -> t .Any :
0 commit comments