Skip to content

Commit 16f84e5

Browse files
author
tkc
committed
Add properties for table as name
1 parent 633a4af commit 16f84e5

File tree

2 files changed

+9
-10
lines changed

2 files changed

+9
-10
lines changed

src/domain/model/model.go

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,9 @@
11
package model
22

3-
import (
4-
// test_driver
5-
_ "github.com/pingcap/parser/test_driver"
6-
)
7-
83
type Analyzer struct {
94
SQL string
105
TableName string
6+
TableAsName string
117
StmtType StmtType
128
InsertColumns []string
139
NotNullColumns []string

src/usecase/services/analyzer_service.go

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)