package influxdb import ( "fmt" "code.google.com/p/log4go" ) type TimePrecision int const ( MicrosecondPrecision TimePrecision = iota MillisecondPrecision SecondPrecision ) func parseTimePrecision(s string) (TimePrecision, error) { switch s { case "u": return MicrosecondPrecision, nil case "m": log4go.Warn("time_precision=m will be disabled in future release, use time_precision=ms instead") fallthrough case "ms": return MillisecondPrecision, nil case "s": return SecondPrecision, nil case "": return MillisecondPrecision, nil } return 0, fmt.Errorf("Unknown time precision %s", s) } func hasDuplicates(ss []string) bool { m := make(map[string]struct{}, len(ss)) for _, s := range ss { if _, ok := m[s]; ok { return true } m[s] = struct{}{} } return false } func removeField(fields []string, name string) []string { index := -1 for idx, field := range fields { if field == name { index = idx break } } if index == -1 { return fields } return append(fields[:index], fields[index+1:]...) } func removeTimestampFieldDefinition(fields []string) []string { fields = removeField(fields, "time") return removeField(fields, "sequence_number") }