generated from oracle/template-repo
-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
In query.go, the else branch for 'results[2] != "" ' seems dead code to me. Could you please review?
var tableRegexp = regexp.MustCompile(`^"(\w+)"\s+"?(\w+)"?$`) -----> This regex matches tables like ("users" u) or ("users" "u")
func BeforeQuery(db *gorm.DB) {
if db == nil || db.Statement == nil || db.Statement.TableExpr == nil {
return
}
name := db.Statement.TableExpr.SQL
if strings.Contains(name, " ") || strings.Contains(name, "`") {
if results := tableRegexp.FindStringSubmatch(name); len(results) == 3 { ----> here the table name must match either ("users" u) or ("users" "u"), the returned results will be either ["users" u, "users", u] or ["users" "u", "users", "u"], so results[2] cannot be empty
if results[2] != "" {
db.Statement.Table = results[2]
} else {
db.Statement.Table = results[1]
}
}
}
return
}
Metadata
Metadata
Assignees
Labels
No labels