func preprocessSetString()

in cassandra-bigtable-migration-tools/cassandra-bigtable-proxy/translator/utils.go [444:459]


func preprocessSetString(input string) string {
	if (strings.HasPrefix(input, "{") && strings.HasSuffix(input, "}")) || (strings.HasPrefix(input, "[") && strings.HasSuffix(input, "]")) {
		input = input[1 : len(input)-1]
	}
	values := strings.Split(input, ",")
	for i, value := range values {
		value = strings.TrimSpace(value)
		if !strings.HasPrefix(value, "\"") && !strings.HasSuffix(value, "\"") && !strings.HasPrefix(value, "'") && !strings.HasSuffix(value, "'") {
			values[i] = fmt.Sprintf("\"%s\"", value)
		} else {
			values[i] = strings.Trim(value, "'")
			values[i] = fmt.Sprintf("\"%s\"", values[i])
		}
	}
	return "[" + strings.Join(values, ",") + "]"
}