Selaa lähdekoodia

Merge pull request #219 from cwandrews/master

fixed rowMap to copy slices instead of pass them in
Ben Hood 11 vuotta sitten
vanhempi
commit
6ba061b4e4
1 muutettua tiedostoa jossa 8 lisäystä ja 1 poistoa
  1. 8 1
      helpers.go

+ 8 - 1
helpers.go

@@ -107,7 +107,14 @@ func getApacheCassandraType(class string) Type {
 
 func (r *RowData) rowMap(m map[string]interface{}) {
 	for i, column := range r.Columns {
-		m[column] = dereference(r.Values[i])
+		val := dereference(r.Values[i])
+		if valVal := reflect.ValueOf(val); valVal.Kind() == reflect.Slice {
+			valCopy := reflect.MakeSlice(valVal.Type(), valVal.Len(), valVal.Cap())
+			reflect.Copy(valCopy, valVal)
+			m[column] = valCopy.Interface()
+		} else {
+			m[column] = val
+		}
 	}
 }