@@ -78,7 +78,7 @@ func (v *Visitor) tableName(in ast.Node) {
7878 }
7979 }
8080 if len (TableSource .AsName .String ()) > 0 {
81- v .Analyzer .TableName = TableSource .AsName .String ()
81+ v .Analyzer .TableAsName = TableSource .AsName .String ()
8282 }
8383 }
8484 }
@@ -119,7 +119,7 @@ func (v *Visitor) isNullExpr(in ast.Node) {
119119 if columnNameExpr , ok := isNullExpr .Expr .(* ast.ColumnNameExpr ); ok {
120120 v .Analyzer .NotNullColumns = append (
121121 v .Analyzer .NotNullColumns ,
122- formatColumnName (columnNameExpr .Name .String (), v .Analyzer .TableName ))
122+ formatColumnName (columnNameExpr .Name .String (), v .Analyzer .TableName , v . Analyzer . TableAsName ))
123123 }
124124 }
125125}
@@ -129,7 +129,7 @@ func (v *Visitor) patternInExpr(in ast.Node) {
129129 var operation model.AnalyzerOperation
130130 operation .Type = model .OpTypeIn
131131 if columnNameExpr , ok := patternInExpr .Expr .(* ast.ColumnNameExpr ); ok {
132- operation .Column = formatColumnName (columnNameExpr .Name .String (), v .Analyzer .TableName )
132+ operation .Column = formatColumnName (columnNameExpr .Name .String (), v .Analyzer .TableName , v . Analyzer . TableAsName )
133133 }
134134 if valueExpr , ok := patternInExpr .List [0 ].(* test_driver.ValueExpr ); ok {
135135 operation .Value = valueExpr .Datum .GetInt64 ()
@@ -147,7 +147,7 @@ func (v *Visitor) binaryOperationExpr(in ast.Node) {
147147 var operation model.AnalyzerOperation
148148 operation .Type = model .OpType (binaryOperationExpr .Op .String ())
149149 if columnNameExpr , ok := binaryOperationExpr .L .(* ast.ColumnNameExpr ); ok {
150- operation .Column = formatColumnName (columnNameExpr .Name .String (), v .Analyzer .TableName )
150+ operation .Column = formatColumnName (columnNameExpr .Name .String (), v .Analyzer .TableName , v . Analyzer . TableAsName )
151151 }
152152 if valueExpr , ok := binaryOperationExpr .R .(* test_driver.ValueExpr ); ok {
153153 operation .Value = valueExpr .Datum .GetValue ()
@@ -174,14 +174,17 @@ func (v *Visitor) Leave(in ast.Node) (ast.Node, bool) {
174174 return in , true
175175}
176176
177- func formatColumnName (column string , tableName string ) string {
177+ func formatColumnName (column string , tableName string , tableAsName string ) string {
178178 slice := strings .Split (column , "." )
179179 if len (slice ) == 1 {
180180 return column
181181 }
182182 if slice [0 ] == tableName {
183183 return slice [1 ]
184184 }
185+ if slice [0 ] == tableAsName {
186+ return slice [1 ]
187+ }
185188 return column
186189}
187190
0 commit comments