zrhoffman commented on a change in pull request #5299:
URL: https://github.com/apache/trafficcontrol/pull/5299#discussion_r526421077



##########
File path: traffic_ops/traffic_ops_golang/dbhelpers/db_helpers.go
##########
@@ -881,6 +881,51 @@ WHERE
        return dses, nil
 }
 
+// GetDeliveryServiceCDNsByTopology returns a slice of CDN IDs for all 
delivery services
+// assigned to the given topology.
+func GetDeliveryServiceCDNsByTopology(tx *sql.Tx, topology string) ([]int, 
error) {
+       q := `
+SELECT
+  COALESCE(ARRAY_AGG(DISTINCT d.cdn_id), '{}'::BIGINT[])
+FROM
+  deliveryservice d
+WHERE
+  d.topology = $1
+`
+       cdnIDs := []int64{}
+       if err := tx.QueryRow(q, topology).Scan(pq.Array(&cdnIDs)); err != nil {
+               return nil, fmt.Errorf("in GetDeliveryServiceCDNsByTopology: 
querying deliveryservices by topology '%s': %v", topology, err)
+       }
+       res := make([]int, len(cdnIDs))
+       for i, id := range cdnIDs {
+               res[i] = int(id)
+       }
+       return res, nil
+}
+
+// CheckCachegroupHasTopologyBasedDeliveryServicesOnCDN returns true if the 
given cachegroup is assigned to
+// any topologies with delivery services assigned on the given CDN.
+func CachegroupHasTopologyBasedDeliveryServicesOnCDN(tx *sql.Tx, cachegroupID 
int, CDNID int) (bool, error) {
+       q := `
+SELECT EXISTS(
+  SELECT
+    1

Review comment:
       The `1` is unnecessary, can be just `SELECT FROM`

##########
File path: traffic_ops/traffic_ops_golang/dbhelpers/db_helpers.go
##########
@@ -881,6 +881,51 @@ WHERE
        return dses, nil
 }
 
+// GetDeliveryServiceCDNsByTopology returns a slice of CDN IDs for all 
delivery services
+// assigned to the given topology.
+func GetDeliveryServiceCDNsByTopology(tx *sql.Tx, topology string) ([]int, 
error) {
+       q := `
+SELECT
+  COALESCE(ARRAY_AGG(DISTINCT d.cdn_id), '{}'::BIGINT[])
+FROM
+  deliveryservice d
+WHERE
+  d.topology = $1
+`
+       cdnIDs := []int64{}
+       if err := tx.QueryRow(q, topology).Scan(pq.Array(&cdnIDs)); err != nil {
+               return nil, fmt.Errorf("in GetDeliveryServiceCDNsByTopology: 
querying deliveryservices by topology '%s': %v", topology, err)
+       }
+       res := make([]int, len(cdnIDs))
+       for i, id := range cdnIDs {
+               res[i] = int(id)
+       }
+       return res, nil
+}
+
+// CheckCachegroupHasTopologyBasedDeliveryServicesOnCDN returns true if the 
given cachegroup is assigned to
+// any topologies with delivery services assigned on the given CDN.
+func CachegroupHasTopologyBasedDeliveryServicesOnCDN(tx *sql.Tx, cachegroupID 
int, CDNID int) (bool, error) {

Review comment:
       Godoc doesn't match function name




----------------------------------------------------------------
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.

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


Reply via email to