func space_consumption(database *box.Database, arguments []string) (err error) { // Open database transaction var transaction *box.Transaction transaction, err = database.BeginTransaction() if err != nil { return } defer transaction.Rollback() // Handle arguments switch len(arguments) { case 0: var space map[string]uint64 // Execute the query space, err = transaction.QuerySpaceConsumption() if err != nil { return } // Print result for user, space := range space { fmt.Printf("%s %d\n", user, space) } case 1: var user string = arguments[0] var space uint64 // Execute the query space, err = transaction.QuerySpaceConsumptionFor(user) if err != nil { return } // Print result fmt.Printf("%s %d\n", user, space) default: err = fmt.Errorf("To many arguments. Usage: box_util space_consumption [USER]") } return }