code: func (v *Vars) Scan(src interface{}) error {
  	h := hstore.Hstore{}
  	if err := h.Scan(src); err != nil {
  		return err
  	}
  
  	vars := make(Vars)
  
  	for k, v := range h.Map {
  		// Go reuses the same address space for v, so &v.String would always
  		// return the same address
  		tmp := v.String
  		vars[Variable(k)] = &tmp
  	}
  
  	*v = vars
  
  	return nil
  }
docs: // Scan implements the sql.Scanner interface.