@@ -233,7 +233,7 @@ def __init__(
233233 for var_name , var_value in value .items ()
234234 }
235235
236- self .locals [k . lower () ] = value
236+ self .locals [k ] = value
237237
238238 def send (
239239 self , name : str , * args : t .Any , ** kwargs : t .Any
@@ -342,7 +342,9 @@ def evaluate(self, node: MacroFunc) -> exp.Expression | t.List[exp.Expression] |
342342 args [0 ] if len (args ) == 1 else exp .Tuple (expressions = list (args ))
343343 )
344344 else :
345+ # Make variables defined through `@DEF` case-insensitive
345346 self .locals [node .name .lower ()] = self .transform (node .expression )
347+
346348 return node
347349
348350 if isinstance (node , (MacroSQL , MacroStrReplace )):
@@ -645,7 +647,7 @@ def substitute(
645647 ) -> exp .Expression | t .List [exp .Expression ] | None :
646648 if isinstance (node , (exp .Identifier , exp .Var )):
647649 if not isinstance (node .parent , exp .Column ):
648- name = node .name
650+ name = node .name . lower ()
649651 if name in args :
650652 return args [name ].copy ()
651653 if name in evaluator .locals :
@@ -678,7 +680,7 @@ def substitute(
678680 return expressions , lambda args : func .this .transform (
679681 substitute ,
680682 {
681- expression .name : arg
683+ expression .name . lower () : arg
682684 for expression , arg in zip (
683685 func .expressions , args .expressions if isinstance (args , exp .Tuple ) else [args ]
684686 )
0 commit comments