dmohan001c commented on a change in pull request #6003:
URL: https://github.com/apache/trafficcontrol/pull/6003#discussion_r685691936



##########
File path: traffic_ops/traffic_ops_golang/profile/profiles.go
##########
@@ -113,19 +113,19 @@ func (prof *TOProfile) Read(h http.Header, useIMS bool) 
([]interface{}, error, e
        // Query Parameters to Database Query column mappings
        // see the fields mapped in the SQL query
        queryParamsToQueryCols := map[string]dbhelpers.WhereColumnInfo{
-               CDNQueryParam:  dbhelpers.WhereColumnInfo{Column: "c.id"},
-               NameQueryParam: dbhelpers.WhereColumnInfo{Column: "prof.name"},
-               IDQueryParam:   dbhelpers.WhereColumnInfo{Column: "prof.id", 
Checker: api.IsInt},
+               CDNQueryParam:   dbhelpers.WhereColumnInfo{Column: "c.id", 
Checker: api.IsInt},
+               NameQueryParam:  dbhelpers.WhereColumnInfo{Column: "prof.name"},
+               IDQueryParam:    dbhelpers.WhereColumnInfo{Column: "prof.id", 
Checker: api.IsInt},
+               ParamQueryParam: dbhelpers.WhereColumnInfo{Column: 
"pp.parameter", Checker: api.IsInt},
        }
        where, orderBy, pagination, queryValues, errs := 
dbhelpers.BuildWhereAndOrderByAndPagination(prof.APIInfo().Params, 
queryParamsToQueryCols)
 
        // Narrow down if the query parameter is 'param'
-
        // TODO add generic where clause to api.GenericRead
        if paramValue, ok := prof.APIInfo().Params[ParamQueryParam]; ok {
                queryValues["parameter_id"] = paramValue
                if len(paramValue) > 0 {
-                       where += " LEFT JOIN profile_parameter pp ON prof.id  = 
pp.profile where pp.parameter=:parameter_id"
+                       where = " LEFT JOIN profile_parameter pp ON prof.id = 
pp.profile " + where + " AND pp.parameter=:parameter_id"

Review comment:
       with the current changes the query comes out to be like this: 
   `SELECT prof.description, prof.id, prof.last_updated, prof.name, 
prof.routing_disabled, prof.type, c.id as cdn, c.name as cdn_name FROM profile 
prof 
   LEFT JOIN cdn c ON prof.cdn = c.id LEFT JOIN profile_parameter pp ON prof.id 
= pp.profile 
   WHERE pp.parameter=:param AND pp.parameter=:parameter_id`




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to