@@ -19,7 +19,6 @@ public TSQLExpression Parse(ITSQLTokenizer tokenizer)
1919
2020 if (
2121 tokenizer . Current != null &&
22- tokenizer . Current . Text != "*" &&
2322 tokenizer . Current . Type . In (
2423 TSQLTokenType . Operator ) )
2524 {
@@ -111,6 +110,7 @@ public TSQLExpression ParseNext(
111110 group . InnerExpression =
112111 new TSQLValueExpressionParser ( ) . Parse (
113112 tokenizer ) ;
113+
114114 group . Tokens . AddRange ( group . InnerExpression . Tokens ) ;
115115
116116 if ( tokenizer . Current . IsCharacter (
@@ -293,7 +293,8 @@ public TSQLExpression ParseNext(
293293
294294 #endregion
295295 }
296- else if ( tokenizer . Current . Text == "*" )
296+ else if ( tokenizer . Current . Text == "*" &&
297+ tokens . Last ( ) . IsCharacter ( TSQLCharacters . Period ) )
297298 {
298299 #region parse multi column reference
299300
@@ -309,18 +310,15 @@ public TSQLExpression ParseNext(
309310 . Where ( t => ! t . IsComment ( ) && ! t . IsWhitespace ( ) )
310311 . ToList ( ) ;
311312
312- if ( columnReference . Count > 0 )
313- {
314- // p.* will have the single token p in the final list
313+ // p.* will have the single token p in the final list
315314
316- // AdventureWorks..ErrorLog.* will have 4 tokens in the final list
317- // e.g. {AdventureWorks, ., ., ErrorLog}
315+ // AdventureWorks..ErrorLog.* will have 4 tokens in the final list
316+ // e.g. {AdventureWorks, ., ., ErrorLog}
318317
319- multi . TableReference = columnReference
320- . GetRange ( 0 , columnReference
321- . FindLastIndex ( t => t . IsCharacter ( TSQLCharacters . Period ) ) )
322- . ToList ( ) ;
323- }
318+ multi . TableReference = columnReference
319+ . GetRange ( 0 , columnReference
320+ . FindLastIndex ( t => t . IsCharacter ( TSQLCharacters . Period ) ) )
321+ . ToList ( ) ;
324322
325323 TSQLTokenParserHelper . ReadThroughAnyCommentsOrWhitespace (
326324 tokenizer ,
0 commit comments