arrow-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan A Sternberg (JIRA)" <j...@apache.org>
Subject [jira] [Created] (ARROW-3613) [Go] Resize does not correctly update the length
Date Thu, 25 Oct 2018 21:46:00 GMT
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)

Mime
View raw message