@@ -345,6 +345,18 @@ public virtual void Visit(SqlBinary node)
345345 return ;
346346 }
347347
348+ if ( node . NodeType == SqlNodeType . RawConcat ) {
349+ AppendSpace ( ) ;
350+ translator . Translate ( context , node , NodeSection . Entry ) ;
351+ node . Left . AcceptVisitor ( this ) ;
352+ AppendSpace ( ) ;
353+ translator . Translate ( context . Output , node . NodeType ) ;
354+ node . Right . AcceptVisitor ( this ) ;
355+ translator . Translate ( context , node , NodeSection . Exit ) ;
356+
357+ return ;
358+ }
359+
348360 using ( context . EnterScope ( node ) ) {
349361 AppendTranslatedEntry ( node ) ;
350362 node . Left . AcceptVisitor ( this ) ;
@@ -1385,7 +1397,7 @@ public virtual void Visit(SqlOrder node)
13851397 else if ( node . Position > 0 ) {
13861398 _ = context . Output . Append ( node . Position . ToString ( ) ) ;
13871399 }
1388- AppendSpaceIfNecessary ( ) ;
1400+ AppendSpace ( ) ;
13891401 translator . Translate ( context , node , NodeSection . Exit ) ;
13901402 }
13911403 }
@@ -1608,7 +1620,9 @@ protected virtual void VisitSelectFrom(SqlSelect node)
16081620 return ;
16091621 }
16101622
1611- AppendTranslated ( node , SelectSection . From ) ;
1623+ AppendSpace ( ) ;
1624+ translator . Translate ( context , node , SelectSection . From ) ;
1625+ AppendSpace ( ) ;
16121626
16131627 var joinedFrom = node . From as SqlJoinedTable ;
16141628 var linearJoinRequired = CheckFeature ( QueryFeatures . StrictJoinSyntax ) && joinedFrom != null ;
@@ -2790,6 +2804,7 @@ protected void AppendTranslated(SqlNative node)
27902804 {
27912805 AppendSpaceIfNecessary ( ) ;
27922806 translator . Translate ( context , node ) ;
2807+ AppendSpaceIfNecessary ( ) ;
27932808 }
27942809
27952810 protected void AppendTranslated ( SqlAssignment node , NodeSection section ) =>
0 commit comments