@@ -155,7 +155,10 @@ func filesCoverageToTemplateData(fCov []*fileCoverageWithDetails) *templateHeatm
155155 return & res
156156}
157157
158- func filesCoverageWithDetailsStmt (ns , subsystem string , timePeriod coveragedb.TimePeriod ) spanner.Statement {
158+ func filesCoverageWithDetailsStmt (ns , subsystem , manager string , timePeriod coveragedb.TimePeriod ) spanner.Statement {
159+ if manager == "" {
160+ manager = "*"
161+ }
159162 stmt := spanner.Statement {
160163 SQL : `
161164select
@@ -170,22 +173,23 @@ from merge_history
170173 join file_subsystems
171174 on merge_history.namespace = file_subsystems.namespace and files.filepath = file_subsystems.filepath
172175where
173- merge_history.namespace=$1 and dateto=$2 and duration=$3 and manager='*' ` ,
176+ merge_history.namespace=$1 and dateto=$2 and duration=$3 and manager=$4 ` ,
174177 Params : map [string ]interface {}{
175178 "p1" : ns ,
176179 "p2" : timePeriod .DateTo ,
177180 "p3" : timePeriod .Days ,
181+ "p4" : manager ,
178182 },
179183 }
180184 if subsystem != "" {
181- stmt .SQL += " and $4 =ANY(subsystems)"
182- stmt .Params ["p4 " ] = subsystem
185+ stmt .SQL += " and $5 =ANY(subsystems)"
186+ stmt .Params ["p5 " ] = subsystem
183187 }
184188 return stmt
185189}
186190
187- func filesCoverageWithDetails (ctx context.Context , projectID , ns , subsystem string , timePeriods []coveragedb. TimePeriod ,
188- ) ([]* fileCoverageWithDetails , error ) {
191+ func filesCoverageWithDetails (ctx context.Context , projectID , ns , subsystem , manager string ,
192+ timePeriods []coveragedb. TimePeriod ) ([]* fileCoverageWithDetails , error ) {
189193 client , err := spannerclient .NewClient (ctx , projectID )
190194 if err != nil {
191195 return nil , fmt .Errorf ("spanner.NewClient() failed: %s" , err .Error ())
@@ -194,7 +198,7 @@ func filesCoverageWithDetails(ctx context.Context, projectID, ns, subsystem stri
194198
195199 res := []* fileCoverageWithDetails {}
196200 for _ , timePeriod := range timePeriods {
197- stmt := filesCoverageWithDetailsStmt (ns , subsystem , timePeriod )
201+ stmt := filesCoverageWithDetailsStmt (ns , subsystem , manager , timePeriod )
198202 iter := client .Single ().Query (ctx , stmt )
199203 defer iter .Stop ()
200204 for {
@@ -239,19 +243,19 @@ func stylesBodyJSTemplate(templData *templateHeatmap,
239243 template .HTML (js .Bytes ()), nil
240244}
241245
242- func DoHeatMapStyleBodyJS (ctx context.Context , projectID , ns , subsystem string , periods []coveragedb. TimePeriod ,
243- ) (template.CSS , template.HTML , template.HTML , error ) {
244- covAndDates , err := filesCoverageWithDetails (ctx , projectID , ns , subsystem , periods )
246+ func DoHeatMapStyleBodyJS (ctx context.Context , projectID , ns , subsystem , manager string ,
247+ periods []coveragedb. TimePeriod ) (template.CSS , template.HTML , template.HTML , error ) {
248+ covAndDates , err := filesCoverageWithDetails (ctx , projectID , ns , subsystem , manager , periods )
245249 if err != nil {
246250 return "" , "" , "" , fmt .Errorf ("failed to filesCoverageWithDetails: %w" , err )
247251 }
248252 templData := filesCoverageToTemplateData (covAndDates )
249253 return stylesBodyJSTemplate (templData )
250254}
251255
252- func DoSubsystemsHeatMapStyleBodyJS (ctx context.Context , projectID , ns , subsystem string ,
256+ func DoSubsystemsHeatMapStyleBodyJS (ctx context.Context , projectID , ns , subsystem , manager string ,
253257 periods []coveragedb.TimePeriod ) (template.CSS , template.HTML , template.HTML , error ) {
254- covWithDetails , err := filesCoverageWithDetails (ctx , projectID , ns , subsystem , periods )
258+ covWithDetails , err := filesCoverageWithDetails (ctx , projectID , ns , subsystem , manager , periods )
255259 if err != nil {
256260 panic (err )
257261 }
0 commit comments