@@ -538,23 +538,30 @@ def _process(self, stream, varname, has_nl):
538538 yield sql .Token (T .Operator , '(' )
539539 yield sql .Token (T .Text , "'" )
540540
541+ # Print the tokens on the quote
541542 for token in stream :
543+ # Token is a new line separator
542544 if token .is_whitespace () and '\n ' in token .value :
545+ # Close quote and add a new line
543546 yield sql .Token (T .Text , " '" )
544547 yield sql .Token (T .Whitespace , '\n ' )
545548
546549 # Quote header on secondary lines
547550 yield sql .Token (T .Whitespace , ' ' * (len (varname ) + 4 ))
548551 yield sql .Token (T .Text , "'" )
549552
553+ # Indentation
550554 after_lb = token .value .split ('\n ' , 1 )[1 ]
551- if after_lb : # it's the indendation
555+ if after_lb :
552556 yield sql .Token (T .Whitespace , after_lb )
553557 continue
554558
555- elif token .value and "'" in token .value :
559+ # Token has escape chars
560+ elif "'" in token .value :
556561 token .value = token .value .replace ("'" , "\\ '" )
557- yield sql .Token (T .Text , token .value or '' )
562+
563+ # Put the token
564+ yield sql .Token (T .Text , token .value )
558565
559566 # Close quote
560567 yield sql .Token (T .Text , "'" )
@@ -577,10 +584,12 @@ def _process(self, stream, varname, has_nl):
577584 yield sql .Token (T .Whitespace , ' ' )
578585 yield sql .Token (T .Text , '"' )
579586
587+ # Print the tokens on the quote
580588 for token in stream :
589+ # Token is a new line separator
581590 if token .is_whitespace () and '\n ' in token .value :
582- yield sql . Token ( T . Text , ' "' )
583- yield sql .Token (T .Operator , ';' )
591+ # Close quote and add a new line
592+ yield sql .Token (T .Text , ' " ;' )
584593 yield sql .Token (T .Whitespace , '\n ' )
585594
586595 # Quote header on secondary lines
@@ -590,13 +599,17 @@ def _process(self, stream, varname, has_nl):
590599 yield sql .Token (T .Whitespace , ' ' )
591600 yield sql .Token (T .Text , '"' )
592601
602+ # Indentation
593603 after_lb = token .value .split ('\n ' , 1 )[1 ]
594604 if after_lb :
595- yield sql .Token (T .Text , after_lb )
605+ yield sql .Token (T .Whitespace , after_lb )
596606 continue
597607
608+ # Token has escape chars
598609 elif '"' in token .value :
599610 token .value = token .value .replace ('"' , '\\ "' )
611+
612+ # Put the token
600613 yield sql .Token (T .Text , token .value )
601614
602615 # Close quote
0 commit comments