code: func (t *KVMsTable) fetch(c context.Context) error {
  	db := database.Get(c)
  	rows, err := db.QueryContext(c, `
  		SELECT k.id, h.id, h.name, i.ipv4, k.description, k.mac_address, k.state, k.platform_id, k.rack_id
  		FROM kvms k, hostnames h, ips i
  		WHERE k.hostname_id = h.id AND i.hostname_id = h.id
  	`)
  	if err != nil {
  		return errors.Annotate(err, "failed to select KVMs").Err()
  	}
  	defer rows.Close()
  	for rows.Next() {
  		kvm := &KVM{}
  		if err := rows.Scan(&kvm.Id, &kvm.HostnameId, &kvm.Name, &kvm.IPv4, &kvm.Description, &kvm.MacAddress, &kvm.State, &kvm.PlatformId, &kvm.RackId); err != nil {
  			return errors.Annotate(err, "failed to scan KVM").Err()
  		}
  		t.current = append(t.current, kvm)
  	}
  	return nil
  }
docs: // fetch fetches the KVMs from the database.