func (p *pgSerDe) fetchRoundRobinArchives(ds *rrd.DataSource) ([]*rrd.RoundRobinArchive, error) { const sql = `SELECT id, ds_id, cf, steps_per_row, size, width, xff, value, duration_ms, latest FROM %[1]srra rra WHERE ds_id = $1` rows, err := p.dbConn.Query(fmt.Sprintf(sql, p.prefix), ds.Id()) if err != nil { log.Printf("fetchRoundRobinArchives(): error querying database: %v", err) return nil, err } defer rows.Close() var rras []*rrd.RoundRobinArchive for rows.Next() { if rra, err := roundRobinArchiveFromRow(rows, ds.Step()); err == nil { rras = append(rras, rra) } else { log.Printf("fetchRoundRobinArchives(): error: %v", err) return nil, err } } return rras, nil }