code: func (s *StringSlice) Scan(src interface{}) error {
  	asBytes, ok := src.([]byte)
  	if !ok {
  		return errors.New("scan source was not []bytes")
  	}
  	str := string(asBytes)
  	str = QuoteEscapeRegex.ReplaceAllString(str, `$1""`)
  	str = strings.Replace(str, `\\`, `\`, -1)
  	str = str[1 : len(str)-1]
  	csvReader := csv.NewReader(strings.NewReader(str))
  	slice, err := csvReader.Read()
  	if err != nil && err.Error() != "EOF" {
  		return err
  	}
  	*s = StringSlice(slice)
  	return nil
  }
docs: // Scan converts to a slice of strings. See:
  // http://www.postgresql.org/docs/9.1/static/arrays.html#ARRAYS-IO