Exemplo n.º 1
0
func (p *PostgresDataSource) AggregateType(q straumur.Query, s string) (map[string]int, error) {

	if !q.IsValidArrayType(s) {
		return nil, errors.New("Invalid type")
	}

	query, args := buildAggregateQuery(q, s)
	m := make(map[string]int)

	err := p.wrapTransaction(func(tx *sql.Tx) error {
		rows, err := tx.Query(query, args...)
		defer rows.Close()
		for rows.Next() {
			var cStr string
			var cInt int
			rows.Scan(&cStr, &cInt)
			m[cStr] = cInt
		}
		return err
	})

	return m, err
}