// Add ConsumedCapacity from "this" Response to "all", the eventual stitched Response. func combineResponseMetadata(all, this *Response) error { if all == nil || this == nil { return errors.New("batch_write_item.combineResponseMetadata: all or this is nil") } combinedConsumedCapacity := make([]capacity.ConsumedCapacity, 0) for _, this_cc := range this.ConsumedCapacity { var cc capacity.ConsumedCapacity cc.TableName = this_cc.TableName cc.CapacityUnits = this_cc.CapacityUnits for _, all_cc := range all.ConsumedCapacity { if all_cc.TableName == this_cc.TableName { cc.CapacityUnits += all_cc.CapacityUnits } } combinedConsumedCapacity = append(combinedConsumedCapacity, cc) } all.ConsumedCapacity = combinedConsumedCapacity for tn := range this.ItemCollectionMetrics { for _, icm := range this.ItemCollectionMetrics[tn] { if _, tn_is_all := all.ItemCollectionMetrics[tn]; !tn_is_all { all.ItemCollectionMetrics[tn] = make([]*itemcollectionmetrics.ItemCollectionMetrics, 0) } all.ItemCollectionMetrics[tn] = append(all.ItemCollectionMetrics[tn], icm) } } return nil }
// Add ConsumedCapacity from "this" Response to "all", the eventual stitched Response. func combineResponseMetadata(all, this *Response) error { if all == nil || this == nil { return errors.New("batch_get_item.combineResponseMetadata: all or this is nil") } combinedConsumedCapacity := make([]capacity.ConsumedCapacity, 0) for _, this_cc := range this.ConsumedCapacity { var cc capacity.ConsumedCapacity cc.TableName = this_cc.TableName cc.CapacityUnits = this_cc.CapacityUnits for _, all_cc := range all.ConsumedCapacity { if all_cc.TableName == this_cc.TableName { cc.CapacityUnits += all_cc.CapacityUnits } } combinedConsumedCapacity = append(combinedConsumedCapacity, cc) } all.ConsumedCapacity = combinedConsumedCapacity return nil }