| 570 | } |
| 571 | |
| 572 | func readUint16ListValues(buf *ByteBuffer, err *Error, length int, hasNull bool) []uint16 { |
| 573 | result := make([]uint16, length) |
| 574 | if !hasNull { |
| 575 | size := length * 2 |
| 576 | if isLittleEndian { |
| 577 | buf.Read(unsafe.Slice((*byte)(unsafe.Pointer(&result[0])), size)) |
| 578 | } else { |
| 579 | for i := 0; i < length; i++ { |
| 580 | result[i] = uint16(buf.ReadInt16(err)) |
| 581 | } |
| 582 | } |
| 583 | return result |
| 584 | } |
| 585 | for i := 0; i < length; i++ { |
| 586 | if buf.ReadInt8(err) != NullFlag { |
| 587 | result[i] = uint16(buf.ReadInt16(err)) |
| 588 | } |
| 589 | } |
| 590 | return result |
| 591 | } |
| 592 | |
| 593 | func writeInt32ListValues(buf *ByteBuffer, value []int32, typeID TypeId) { |
| 594 | if typeID == INT32 { |