code: func (c *Chunk) Append(other *Chunk, begin, end int) {
  	for colID, src := range other.columns {
  		dst := c.columns[colID]
  		if src.isFixed() {
  			elemLen := len(src.elemBuf)
  			dst.data = append(dst.data, src.data[begin*elemLen:end*elemLen]...)
  		} else {
  			beginOffset, endOffset := src.offsets[begin], src.offsets[end]
  			dst.data = append(dst.data, src.data[beginOffset:endOffset]...)
  			for i := begin; i < end; i++ {
  				dst.offsets = append(dst.offsets, dst.offsets[len(dst.offsets)-1]+src.offsets[i+1]-src.offsets[i])
  			}
  		}
  		for i := begin; i < end; i++ {
  			dst.appendNullBitmap(!src.isNull(i))
  			dst.length++
  		}
  	}
  	c.numVirtualRows += end - begin
  }
docs: // Append appends rows in [begin, end) in another Chunk to a Chunk.