@@ -86,7 +86,6 @@ type arrayElemType byte
8686
8787const (
8888 arrayElemDouble arrayElemType = 10
89- arrayElemNull arrayElemType = 40
9089)
9190
9291// buffer is a wrapper on top of bytes.Buffer. It extends the
@@ -671,12 +670,12 @@ func (b *buffer) Float64Array1DColumn(name string, values []float64) *buffer {
671670 if ! b .prepareForField () {
672671 return b
673672 }
674- b . lastErr = b . writeColumnName ( name )
675- if b . lastErr != nil {
673+ if values == nil {
674+ // Don't write null arrays
676675 return b
677676 }
678- if values == nil {
679- b . writeNullArray ()
677+ b . lastErr = b . writeColumnName ( name )
678+ if b . lastErr != nil {
680679 return b
681680 }
682681
@@ -703,13 +702,12 @@ func (b *buffer) Float64Array2DColumn(name string, values [][]float64) *buffer {
703702 if ! b .prepareForField () {
704703 return b
705704 }
706- b . lastErr = b . writeColumnName ( name )
707- if b . lastErr != nil {
705+ if values == nil {
706+ // Don't write null arrays
708707 return b
709708 }
710-
711- if values == nil {
712- b .writeNullArray ()
709+ b .lastErr = b .writeColumnName (name )
710+ if b .lastErr != nil {
713711 return b
714712 }
715713
@@ -752,13 +750,12 @@ func (b *buffer) Float64Array3DColumn(name string, values [][][]float64) *buffer
752750 if ! b .prepareForField () {
753751 return b
754752 }
755- b . lastErr = b . writeColumnName ( name )
756- if b . lastErr != nil {
753+ if values == nil {
754+ // Don't write null arrays
757755 return b
758756 }
759-
760- if values == nil {
761- b .writeNullArray ()
757+ b .lastErr = b .writeColumnName (name )
758+ if b .lastErr != nil {
762759 return b
763760 }
764761
@@ -814,13 +811,12 @@ func (b *buffer) Float64ArrayNDColumn(name string, value *NdArray[float64]) *buf
814811 if ! b .prepareForField () {
815812 return b
816813 }
817- b . lastErr = b . writeColumnName ( name )
818- if b . lastErr != nil {
814+ if value == nil {
815+ // Don't write null arrays
819816 return b
820817 }
821-
822- if value == nil {
823- b .writeNullArray ()
818+ b .lastErr = b .writeColumnName (name )
819+ if b .lastErr != nil {
824820 return b
825821 }
826822
@@ -926,11 +922,3 @@ func (b *buffer) writeFloat64ArrayHeader(dims byte) {
926922 b .WriteByte (byte (arrayElemDouble ))
927923 b .WriteByte (dims )
928924}
929-
930- func (b * buffer ) writeNullArray () {
931- b .WriteByte ('=' )
932- b .WriteByte ('=' )
933- b .WriteByte (byte (arrayCode ))
934- b .WriteByte (byte (arrayElemNull ))
935- b .hasFields = true
936- }
0 commit comments