You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Jonathan A Sternberg (JIRA)" <ji...@apache.org> on 2018/10/25 21:46:00 UTC
[jira] [Created] (ARROW-3613) [Go] Resize does not correctly update
the length
Jonathan A Sternberg created ARROW-3613:
-------------------------------------------
Summary: [Go] Resize does not correctly update the length
Key: ARROW-3613
URL: https://issues.apache.org/jira/browse/ARROW-3613
Project: Apache Arrow
Issue Type: Bug
Components: Go
Reporter: Jonathan A Sternberg
If you have the following code:
{code:java}
package main
import (
"fmt"
"github.com/apache/arrow/go/arrow/array"
"github.com/apache/arrow/go/arrow/memory"
)
func main() {
builder := array.NewFloat64Builder(memory.DefaultAllocator)
fmt.Println(builder.Len(), builder.Cap())
builder.Reserve(44)
fmt.Println(builder.Len(), builder.Cap())
builder.Resize(5)
fmt.Println(builder.Len(), builder.Cap())
builder.Reserve(44)
for i := 0; i < 44; i++ {
builder.Append(0)
}
fmt.Println(builder.Len(), builder.Cap())
builder.Resize(5)
fmt.Println(builder.Len(), builder.Cap())
}
{code}
It gives the following output:
{code:java}
0 0
0 64
0 32
44 64
44 32
{code}
For whatever reason, the length is not recorded as 5. I understand why the capacity might not be 5, but it does seem like the length should be set to 5 if the array is resized to a length smaller than its current capacity.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)