diff --git a/go/arrow/go.mod b/go/arrow/go.mod index ac0e6d57a52..e46257ccbb3 100644 --- a/go/arrow/go.mod +++ b/go/arrow/go.mod @@ -18,7 +18,7 @@ module github.com/apache/arrow/go/arrow require ( github.com/davecgh/go-spew v1.1.0 // indirect - github.com/google/flatbuffers v1.10.0 + github.com/google/flatbuffers v1.11.0 github.com/pkg/errors v0.8.1 github.com/pmezard/go-difflib v1.0.0 // indirect github.com/stretchr/testify v1.2.0 diff --git a/go/arrow/go.sum b/go/arrow/go.sum index 990cb77fedd..ce4ea3667d0 100644 --- a/go/arrow/go.sum +++ b/go/arrow/go.sum @@ -1,7 +1,7 @@ github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/google/flatbuffers v1.10.0 h1:wHCM5N1xsJ3VwePcIpVqnmjAqRXlR44gv4hpGi+/LIw= -github.com/google/flatbuffers v1.10.0/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= +github.com/google/flatbuffers v1.11.0 h1:O7CEyB8Cb3/DmtxODGtLHcEvpr81Jm5qLg/hsHnxA2A= +github.com/google/flatbuffers v1.11.0/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= diff --git a/go/arrow/internal/flatbuf/Date.go b/go/arrow/internal/flatbuf/Date.go index d1fce940ae4..476aa03ce7e 100644 --- a/go/arrow/internal/flatbuf/Date.go +++ b/go/arrow/internal/flatbuf/Date.go @@ -48,7 +48,7 @@ func (rcv *Date) Table() flatbuffers.Table { return rcv._tab } -func (rcv *Date) Unit() int16 { +func (rcv *Date) Unit() DateUnit { o := flatbuffers.UOffsetT(rcv._tab.Offset(4)) if o != 0 { return rcv._tab.GetInt16(o + rcv._tab.Pos) @@ -56,7 +56,7 @@ func (rcv *Date) Unit() int16 { return 1 } -func (rcv *Date) MutateUnit(n int16) bool { +func (rcv *Date) MutateUnit(n DateUnit) bool { return rcv._tab.MutateInt16Slot(4, n) } diff --git a/go/arrow/internal/flatbuf/DictionaryBatch.go b/go/arrow/internal/flatbuf/DictionaryBatch.go index ad3bc1716a2..1cd63106304 100644 --- a/go/arrow/internal/flatbuf/DictionaryBatch.go +++ b/go/arrow/internal/flatbuf/DictionaryBatch.go @@ -75,18 +75,18 @@ func (rcv *DictionaryBatch) Data(obj *RecordBatch) *RecordBatch { /// If isDelta is true the values in the dictionary are to be appended to a /// dictionary with the indicated id -func (rcv *DictionaryBatch) IsDelta() byte { +func (rcv *DictionaryBatch) IsDelta() bool { o := flatbuffers.UOffsetT(rcv._tab.Offset(8)) if o != 0 { - return rcv._tab.GetByte(o + rcv._tab.Pos) + return rcv._tab.GetBool(o + rcv._tab.Pos) } - return 0 + return false } /// If isDelta is true the values in the dictionary are to be appended to a /// dictionary with the indicated id -func (rcv *DictionaryBatch) MutateIsDelta(n byte) bool { - return rcv._tab.MutateByteSlot(8, n) +func (rcv *DictionaryBatch) MutateIsDelta(n bool) bool { + return rcv._tab.MutateBoolSlot(8, n) } func DictionaryBatchStart(builder *flatbuffers.Builder) { @@ -98,8 +98,8 @@ func DictionaryBatchAddId(builder *flatbuffers.Builder, id int64) { func DictionaryBatchAddData(builder *flatbuffers.Builder, data flatbuffers.UOffsetT) { builder.PrependUOffsetTSlot(1, flatbuffers.UOffsetT(data), 0) } -func DictionaryBatchAddIsDelta(builder *flatbuffers.Builder, isDelta byte) { - builder.PrependByteSlot(2, isDelta, 0) +func DictionaryBatchAddIsDelta(builder *flatbuffers.Builder, isDelta bool) { + builder.PrependBoolSlot(2, isDelta, false) } func DictionaryBatchEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT { return builder.EndObject() diff --git a/go/arrow/internal/flatbuf/DictionaryEncoding.go b/go/arrow/internal/flatbuf/DictionaryEncoding.go index 1e7c12fe9b4..592b6fcf924 100644 --- a/go/arrow/internal/flatbuf/DictionaryEncoding.go +++ b/go/arrow/internal/flatbuf/DictionaryEncoding.go @@ -83,20 +83,20 @@ func (rcv *DictionaryEncoding) IndexType(obj *Int) *Int { /// semantic meaning. In some statistical, applications, dictionary-encoding /// is used to represent ordered categorical data, and we provide a way to /// preserve that metadata here -func (rcv *DictionaryEncoding) IsOrdered() byte { +func (rcv *DictionaryEncoding) IsOrdered() bool { o := flatbuffers.UOffsetT(rcv._tab.Offset(8)) if o != 0 { - return rcv._tab.GetByte(o + rcv._tab.Pos) + return rcv._tab.GetBool(o + rcv._tab.Pos) } - return 0 + return false } /// By default, dictionaries are not ordered, or the order does not have /// semantic meaning. In some statistical, applications, dictionary-encoding /// is used to represent ordered categorical data, and we provide a way to /// preserve that metadata here -func (rcv *DictionaryEncoding) MutateIsOrdered(n byte) bool { - return rcv._tab.MutateByteSlot(8, n) +func (rcv *DictionaryEncoding) MutateIsOrdered(n bool) bool { + return rcv._tab.MutateBoolSlot(8, n) } func DictionaryEncodingStart(builder *flatbuffers.Builder) { @@ -108,8 +108,8 @@ func DictionaryEncodingAddId(builder *flatbuffers.Builder, id int64) { func DictionaryEncodingAddIndexType(builder *flatbuffers.Builder, indexType flatbuffers.UOffsetT) { builder.PrependUOffsetTSlot(1, flatbuffers.UOffsetT(indexType), 0) } -func DictionaryEncodingAddIsOrdered(builder *flatbuffers.Builder, isOrdered byte) { - builder.PrependByteSlot(2, isOrdered, 0) +func DictionaryEncodingAddIsOrdered(builder *flatbuffers.Builder, isOrdered bool) { + builder.PrependBoolSlot(2, isOrdered, false) } func DictionaryEncodingEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT { return builder.EndObject() diff --git a/go/arrow/internal/flatbuf/Field.go b/go/arrow/internal/flatbuf/Field.go index 1310b9db9c4..67ac3df5f47 100644 --- a/go/arrow/internal/flatbuf/Field.go +++ b/go/arrow/internal/flatbuf/Field.go @@ -57,16 +57,16 @@ func (rcv *Field) Name() []byte { return nil } -func (rcv *Field) Nullable() byte { +func (rcv *Field) Nullable() bool { o := flatbuffers.UOffsetT(rcv._tab.Offset(6)) if o != 0 { - return rcv._tab.GetByte(o + rcv._tab.Pos) + return rcv._tab.GetBool(o + rcv._tab.Pos) } - return 0 + return false } -func (rcv *Field) MutateNullable(n byte) bool { - return rcv._tab.MutateByteSlot(6, n) +func (rcv *Field) MutateNullable(n bool) bool { + return rcv._tab.MutateBoolSlot(6, n) } func (rcv *Field) TypeType() byte { @@ -149,8 +149,8 @@ func FieldStart(builder *flatbuffers.Builder) { func FieldAddName(builder *flatbuffers.Builder, name flatbuffers.UOffsetT) { builder.PrependUOffsetTSlot(0, flatbuffers.UOffsetT(name), 0) } -func FieldAddNullable(builder *flatbuffers.Builder, nullable byte) { - builder.PrependByteSlot(1, nullable, 0) +func FieldAddNullable(builder *flatbuffers.Builder, nullable bool) { + builder.PrependBoolSlot(1, nullable, false) } func FieldAddTypeType(builder *flatbuffers.Builder, typeType byte) { builder.PrependByteSlot(2, typeType, 0) diff --git a/go/arrow/internal/flatbuf/FloatingPoint.go b/go/arrow/internal/flatbuf/FloatingPoint.go index d039f3462ec..975a52dbe0a 100644 --- a/go/arrow/internal/flatbuf/FloatingPoint.go +++ b/go/arrow/internal/flatbuf/FloatingPoint.go @@ -42,7 +42,7 @@ func (rcv *FloatingPoint) Table() flatbuffers.Table { return rcv._tab } -func (rcv *FloatingPoint) Precision() int16 { +func (rcv *FloatingPoint) Precision() Precision { o := flatbuffers.UOffsetT(rcv._tab.Offset(4)) if o != 0 { return rcv._tab.GetInt16(o + rcv._tab.Pos) @@ -50,7 +50,7 @@ func (rcv *FloatingPoint) Precision() int16 { return 0 } -func (rcv *FloatingPoint) MutatePrecision(n int16) bool { +func (rcv *FloatingPoint) MutatePrecision(n Precision) bool { return rcv._tab.MutateInt16Slot(4, n) } diff --git a/go/arrow/internal/flatbuf/Footer.go b/go/arrow/internal/flatbuf/Footer.go index 516e96079b0..6802e77c032 100644 --- a/go/arrow/internal/flatbuf/Footer.go +++ b/go/arrow/internal/flatbuf/Footer.go @@ -45,7 +45,7 @@ func (rcv *Footer) Table() flatbuffers.Table { return rcv._tab } -func (rcv *Footer) Version() int16 { +func (rcv *Footer) Version() MetadataVersion { o := flatbuffers.UOffsetT(rcv._tab.Offset(4)) if o != 0 { return rcv._tab.GetInt16(o + rcv._tab.Pos) @@ -53,7 +53,7 @@ func (rcv *Footer) Version() int16 { return 0 } -func (rcv *Footer) MutateVersion(n int16) bool { +func (rcv *Footer) MutateVersion(n MetadataVersion) bool { return rcv._tab.MutateInt16Slot(4, n) } diff --git a/go/arrow/internal/flatbuf/Int.go b/go/arrow/internal/flatbuf/Int.go index 791f2fed792..9f4b1911705 100644 --- a/go/arrow/internal/flatbuf/Int.go +++ b/go/arrow/internal/flatbuf/Int.go @@ -54,16 +54,16 @@ func (rcv *Int) MutateBitWidth(n int32) bool { return rcv._tab.MutateInt32Slot(4, n) } -func (rcv *Int) IsSigned() byte { +func (rcv *Int) IsSigned() bool { o := flatbuffers.UOffsetT(rcv._tab.Offset(6)) if o != 0 { - return rcv._tab.GetByte(o + rcv._tab.Pos) + return rcv._tab.GetBool(o + rcv._tab.Pos) } - return 0 + return false } -func (rcv *Int) MutateIsSigned(n byte) bool { - return rcv._tab.MutateByteSlot(6, n) +func (rcv *Int) MutateIsSigned(n bool) bool { + return rcv._tab.MutateBoolSlot(6, n) } func IntStart(builder *flatbuffers.Builder) { @@ -72,8 +72,8 @@ func IntStart(builder *flatbuffers.Builder) { func IntAddBitWidth(builder *flatbuffers.Builder, bitWidth int32) { builder.PrependInt32Slot(0, bitWidth, 0) } -func IntAddIsSigned(builder *flatbuffers.Builder, isSigned byte) { - builder.PrependByteSlot(1, isSigned, 0) +func IntAddIsSigned(builder *flatbuffers.Builder, isSigned bool) { + builder.PrependBoolSlot(1, isSigned, false) } func IntEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT { return builder.EndObject() diff --git a/go/arrow/internal/flatbuf/Interval.go b/go/arrow/internal/flatbuf/Interval.go index 91023dd58f7..21970ef1080 100644 --- a/go/arrow/internal/flatbuf/Interval.go +++ b/go/arrow/internal/flatbuf/Interval.go @@ -42,7 +42,7 @@ func (rcv *Interval) Table() flatbuffers.Table { return rcv._tab } -func (rcv *Interval) Unit() int16 { +func (rcv *Interval) Unit() IntervalUnit { o := flatbuffers.UOffsetT(rcv._tab.Offset(4)) if o != 0 { return rcv._tab.GetInt16(o + rcv._tab.Pos) @@ -50,7 +50,7 @@ func (rcv *Interval) Unit() int16 { return 0 } -func (rcv *Interval) MutateUnit(n int16) bool { +func (rcv *Interval) MutateUnit(n IntervalUnit) bool { return rcv._tab.MutateInt16Slot(4, n) } diff --git a/go/arrow/internal/flatbuf/Map.go b/go/arrow/internal/flatbuf/Map.go index e41f1e3a427..d548358a198 100644 --- a/go/arrow/internal/flatbuf/Map.go +++ b/go/arrow/internal/flatbuf/Map.go @@ -67,24 +67,24 @@ func (rcv *Map) Table() flatbuffers.Table { } /// Set to true if the keys within each value are sorted -func (rcv *Map) KeysSorted() byte { +func (rcv *Map) KeysSorted() bool { o := flatbuffers.UOffsetT(rcv._tab.Offset(4)) if o != 0 { - return rcv._tab.GetByte(o + rcv._tab.Pos) + return rcv._tab.GetBool(o + rcv._tab.Pos) } - return 0 + return false } /// Set to true if the keys within each value are sorted -func (rcv *Map) MutateKeysSorted(n byte) bool { - return rcv._tab.MutateByteSlot(4, n) +func (rcv *Map) MutateKeysSorted(n bool) bool { + return rcv._tab.MutateBoolSlot(4, n) } func MapStart(builder *flatbuffers.Builder) { builder.StartObject(1) } -func MapAddKeysSorted(builder *flatbuffers.Builder, keysSorted byte) { - builder.PrependByteSlot(0, keysSorted, 0) +func MapAddKeysSorted(builder *flatbuffers.Builder, keysSorted bool) { + builder.PrependBoolSlot(0, keysSorted, false) } func MapEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT { return builder.EndObject() diff --git a/go/arrow/internal/flatbuf/Message.go b/go/arrow/internal/flatbuf/Message.go index f91ebf622a9..76fcc389d1d 100644 --- a/go/arrow/internal/flatbuf/Message.go +++ b/go/arrow/internal/flatbuf/Message.go @@ -42,7 +42,7 @@ func (rcv *Message) Table() flatbuffers.Table { return rcv._tab } -func (rcv *Message) Version() int16 { +func (rcv *Message) Version() MetadataVersion { o := flatbuffers.UOffsetT(rcv._tab.Offset(4)) if o != 0 { return rcv._tab.GetInt16(o + rcv._tab.Pos) @@ -50,7 +50,7 @@ func (rcv *Message) Version() int16 { return 0 } -func (rcv *Message) MutateVersion(n int16) bool { +func (rcv *Message) MutateVersion(n MetadataVersion) bool { return rcv._tab.MutateInt16Slot(4, n) } diff --git a/go/arrow/internal/flatbuf/Schema.go b/go/arrow/internal/flatbuf/Schema.go index a8011c52422..d3e27373b2e 100644 --- a/go/arrow/internal/flatbuf/Schema.go +++ b/go/arrow/internal/flatbuf/Schema.go @@ -47,7 +47,7 @@ func (rcv *Schema) Table() flatbuffers.Table { /// endianness of the buffer /// it is Little Endian by default /// if endianness doesn't match the underlying system then the vectors need to be converted -func (rcv *Schema) Endianness() int16 { +func (rcv *Schema) Endianness() Endianness { o := flatbuffers.UOffsetT(rcv._tab.Offset(4)) if o != 0 { return rcv._tab.GetInt16(o + rcv._tab.Pos) @@ -58,7 +58,7 @@ func (rcv *Schema) Endianness() int16 { /// endianness of the buffer /// it is Little Endian by default /// if endianness doesn't match the underlying system then the vectors need to be converted -func (rcv *Schema) MutateEndianness(n int16) bool { +func (rcv *Schema) MutateEndianness(n Endianness) bool { return rcv._tab.MutateInt16Slot(4, n) } diff --git a/go/arrow/internal/flatbuf/Tensor.go b/go/arrow/internal/flatbuf/Tensor.go index 73e50b55d59..f8341e02c0b 100644 --- a/go/arrow/internal/flatbuf/Tensor.go +++ b/go/arrow/internal/flatbuf/Tensor.go @@ -108,6 +108,15 @@ func (rcv *Tensor) StridesLength() int { } /// Non-negative byte offsets to advance one value cell along each dimension +func (rcv *Tensor) MutateStrides(j int, n int64) bool { + o := flatbuffers.UOffsetT(rcv._tab.Offset(10)) + if o != 0 { + a := rcv._tab.Vector(o) + return rcv._tab.MutateInt64(a+flatbuffers.UOffsetT(j*8), n) + } + return false +} + /// The location and size of the tensor's data func (rcv *Tensor) Data(obj *Buffer) *Buffer { o := flatbuffers.UOffsetT(rcv._tab.Offset(12)) diff --git a/go/arrow/internal/flatbuf/Time.go b/go/arrow/internal/flatbuf/Time.go index 3f3b7fcceee..f3fa99f07b8 100644 --- a/go/arrow/internal/flatbuf/Time.go +++ b/go/arrow/internal/flatbuf/Time.go @@ -45,7 +45,7 @@ func (rcv *Time) Table() flatbuffers.Table { return rcv._tab } -func (rcv *Time) Unit() int16 { +func (rcv *Time) Unit() TimeUnit { o := flatbuffers.UOffsetT(rcv._tab.Offset(4)) if o != 0 { return rcv._tab.GetInt16(o + rcv._tab.Pos) @@ -53,7 +53,7 @@ func (rcv *Time) Unit() int16 { return 1 } -func (rcv *Time) MutateUnit(n int16) bool { +func (rcv *Time) MutateUnit(n TimeUnit) bool { return rcv._tab.MutateInt16Slot(4, n) } diff --git a/go/arrow/internal/flatbuf/Timestamp.go b/go/arrow/internal/flatbuf/Timestamp.go index ba966295d6d..dd98c8226ec 100644 --- a/go/arrow/internal/flatbuf/Timestamp.go +++ b/go/arrow/internal/flatbuf/Timestamp.go @@ -48,7 +48,7 @@ func (rcv *Timestamp) Table() flatbuffers.Table { return rcv._tab } -func (rcv *Timestamp) Unit() int16 { +func (rcv *Timestamp) Unit() TimeUnit { o := flatbuffers.UOffsetT(rcv._tab.Offset(4)) if o != 0 { return rcv._tab.GetInt16(o + rcv._tab.Pos) @@ -56,7 +56,7 @@ func (rcv *Timestamp) Unit() int16 { return 0 } -func (rcv *Timestamp) MutateUnit(n int16) bool { +func (rcv *Timestamp) MutateUnit(n TimeUnit) bool { return rcv._tab.MutateInt16Slot(4, n) } diff --git a/go/arrow/internal/flatbuf/Union.go b/go/arrow/internal/flatbuf/Union.go index ccf988a5084..1eae176e630 100644 --- a/go/arrow/internal/flatbuf/Union.go +++ b/go/arrow/internal/flatbuf/Union.go @@ -46,7 +46,7 @@ func (rcv *Union) Table() flatbuffers.Table { return rcv._tab } -func (rcv *Union) Mode() int16 { +func (rcv *Union) Mode() UnionMode { o := flatbuffers.UOffsetT(rcv._tab.Offset(4)) if o != 0 { return rcv._tab.GetInt16(o + rcv._tab.Pos) @@ -54,7 +54,7 @@ func (rcv *Union) Mode() int16 { return 0 } -func (rcv *Union) MutateMode(n int16) bool { +func (rcv *Union) MutateMode(n UnionMode) bool { return rcv._tab.MutateInt16Slot(4, n) } @@ -75,6 +75,15 @@ func (rcv *Union) TypeIdsLength() int { return 0 } +func (rcv *Union) MutateTypeIds(j int, n int32) bool { + o := flatbuffers.UOffsetT(rcv._tab.Offset(6)) + if o != 0 { + a := rcv._tab.Vector(o) + return rcv._tab.MutateInt32(a+flatbuffers.UOffsetT(j*4), n) + } + return false +} + func UnionStart(builder *flatbuffers.Builder) { builder.StartObject(2) } diff --git a/go/arrow/ipc/feather/fbs/CategoryMetadata.go b/go/arrow/ipc/feather/fbs/CategoryMetadata.go index e2b56f28c07..c2d8876c375 100644 --- a/go/arrow/ipc/feather/fbs/CategoryMetadata.go +++ b/go/arrow/ipc/feather/fbs/CategoryMetadata.go @@ -59,16 +59,16 @@ func (rcv *CategoryMetadata) Levels(obj *PrimitiveArray) *PrimitiveArray { /// The category codes are presumed to be integers that are valid indexes into /// the levels array -func (rcv *CategoryMetadata) Ordered() byte { +func (rcv *CategoryMetadata) Ordered() bool { o := flatbuffers.UOffsetT(rcv._tab.Offset(6)) if o != 0 { - return rcv._tab.GetByte(o + rcv._tab.Pos) + return rcv._tab.GetBool(o + rcv._tab.Pos) } - return 0 + return false } -func (rcv *CategoryMetadata) MutateOrdered(n byte) bool { - return rcv._tab.MutateByteSlot(6, n) +func (rcv *CategoryMetadata) MutateOrdered(n bool) bool { + return rcv._tab.MutateBoolSlot(6, n) } func CategoryMetadataStart(builder *flatbuffers.Builder) { @@ -77,8 +77,8 @@ func CategoryMetadataStart(builder *flatbuffers.Builder) { func CategoryMetadataAddLevels(builder *flatbuffers.Builder, levels flatbuffers.UOffsetT) { builder.PrependUOffsetTSlot(0, flatbuffers.UOffsetT(levels), 0) } -func CategoryMetadataAddOrdered(builder *flatbuffers.Builder, ordered byte) { - builder.PrependByteSlot(1, ordered, 0) +func CategoryMetadataAddOrdered(builder *flatbuffers.Builder, ordered bool) { + builder.PrependBoolSlot(1, ordered, false) } func CategoryMetadataEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT { return builder.EndObject() diff --git a/go/arrow/ipc/feather/fbs/PrimitiveArray.go b/go/arrow/ipc/feather/fbs/PrimitiveArray.go index 18e81b4c51b..cf17aac9d56 100644 --- a/go/arrow/ipc/feather/fbs/PrimitiveArray.go +++ b/go/arrow/ipc/feather/fbs/PrimitiveArray.go @@ -42,7 +42,7 @@ func (rcv *PrimitiveArray) Table() flatbuffers.Table { return rcv._tab } -func (rcv *PrimitiveArray) Type() int8 { +func (rcv *PrimitiveArray) Type() Type { o := flatbuffers.UOffsetT(rcv._tab.Offset(4)) if o != 0 { return rcv._tab.GetInt8(o + rcv._tab.Pos) @@ -50,11 +50,11 @@ func (rcv *PrimitiveArray) Type() int8 { return 0 } -func (rcv *PrimitiveArray) MutateType(n int8) bool { +func (rcv *PrimitiveArray) MutateType(n Type) bool { return rcv._tab.MutateInt8Slot(4, n) } -func (rcv *PrimitiveArray) Encoding() int8 { +func (rcv *PrimitiveArray) Encoding() Encoding { o := flatbuffers.UOffsetT(rcv._tab.Offset(6)) if o != 0 { return rcv._tab.GetInt8(o + rcv._tab.Pos) @@ -62,7 +62,7 @@ func (rcv *PrimitiveArray) Encoding() int8 { return 0 } -func (rcv *PrimitiveArray) MutateEncoding(n int8) bool { +func (rcv *PrimitiveArray) MutateEncoding(n Encoding) bool { return rcv._tab.MutateInt8Slot(6, n) } diff --git a/go/arrow/ipc/feather/fbs/TimeMetadata.go b/go/arrow/ipc/feather/fbs/TimeMetadata.go index 63408ae576f..6970f877030 100644 --- a/go/arrow/ipc/feather/fbs/TimeMetadata.go +++ b/go/arrow/ipc/feather/fbs/TimeMetadata.go @@ -42,7 +42,7 @@ func (rcv *TimeMetadata) Table() flatbuffers.Table { return rcv._tab } -func (rcv *TimeMetadata) Unit() int8 { +func (rcv *TimeMetadata) Unit() TimeUnit { o := flatbuffers.UOffsetT(rcv._tab.Offset(4)) if o != 0 { return rcv._tab.GetInt8(o + rcv._tab.Pos) @@ -50,7 +50,7 @@ func (rcv *TimeMetadata) Unit() int8 { return 0 } -func (rcv *TimeMetadata) MutateUnit(n int8) bool { +func (rcv *TimeMetadata) MutateUnit(n TimeUnit) bool { return rcv._tab.MutateInt8Slot(4, n) } diff --git a/go/arrow/ipc/feather/fbs/TimestampMetadata.go b/go/arrow/ipc/feather/fbs/TimestampMetadata.go index 86ac29392d4..496cac3793a 100644 --- a/go/arrow/ipc/feather/fbs/TimestampMetadata.go +++ b/go/arrow/ipc/feather/fbs/TimestampMetadata.go @@ -42,7 +42,7 @@ func (rcv *TimestampMetadata) Table() flatbuffers.Table { return rcv._tab } -func (rcv *TimestampMetadata) Unit() int8 { +func (rcv *TimestampMetadata) Unit() TimeUnit { o := flatbuffers.UOffsetT(rcv._tab.Offset(4)) if o != 0 { return rcv._tab.GetInt8(o + rcv._tab.Pos) @@ -50,7 +50,7 @@ func (rcv *TimestampMetadata) Unit() int8 { return 0 } -func (rcv *TimestampMetadata) MutateUnit(n int8) bool { +func (rcv *TimestampMetadata) MutateUnit(n TimeUnit) bool { return rcv._tab.MutateInt8Slot(4, n) } diff --git a/go/arrow/ipc/metadata.go b/go/arrow/ipc/metadata.go index 11665b9927f..93b05315370 100644 --- a/go/arrow/ipc/metadata.go +++ b/go/arrow/ipc/metadata.go @@ -90,10 +90,6 @@ func (blk fileBlock) section() io.Reader { return io.NewSectionReader(blk.r, blk.Offset, int64(blk.Meta)+blk.Body) } -func nullableFromFB(v byte) bool { - return v != 0 -} - // initFB is a helper function to handle flatbuffers' polymorphism. func initFB(t interface { Table() flatbuffers.Table @@ -113,7 +109,7 @@ func fieldFromFB(field *flatbuf.Field, memo *dictMemo) (arrow.Field, error) { ) o.Name = string(field.Name()) - o.Nullable = nullableFromFB(field.Nullable()) + o.Nullable = field.Nullable() o.Metadata, err = metadataFrom(field) if err != nil { return o, err @@ -154,7 +150,7 @@ func fieldFromFBDict(field *flatbuf.Field) (arrow.Field, error) { var ( o = arrow.Field{ Name: string(field.Name()), - Nullable: nullableFromFB(field.Nullable()), + Nullable: field.Nullable(), } err error memo = newMemo() @@ -276,36 +272,28 @@ func intFromFB(data flatbuf.Int) (arrow.DataType, error) { switch bw { case 8: - switch data.IsSigned() { - case 0: + if !data.IsSigned() { return arrow.PrimitiveTypes.Uint8, nil - default: - return arrow.PrimitiveTypes.Int8, nil } + return arrow.PrimitiveTypes.Int8, nil case 16: - switch data.IsSigned() { - case 0: + if !data.IsSigned() { return arrow.PrimitiveTypes.Uint16, nil - default: - return arrow.PrimitiveTypes.Int16, nil } + return arrow.PrimitiveTypes.Int16, nil case 32: - switch data.IsSigned() { - case 0: + if !data.IsSigned() { return arrow.PrimitiveTypes.Uint32, nil - default: - return arrow.PrimitiveTypes.Int32, nil } + return arrow.PrimitiveTypes.Int32, nil case 64: - switch data.IsSigned() { - case 0: + if !data.IsSigned() { return arrow.PrimitiveTypes.Uint64, nil - default: - return arrow.PrimitiveTypes.Int64, nil } + return arrow.PrimitiveTypes.Int64, nil default: return nil, errors.Errorf("arrow/ipc: integers not in cstdint are not implemented") }