Skip to content

Change ScalarValue::List to store ArrayRef #7352

Closed

Description

@tustvold

Is your feature request related to a problem or challenge?

Currently ScalarValue::List stores a Vec<Option<ScalarValue>>. This is incredibly inefficient as it stores nullability and type information per nested value. It also makes the type very cumbersome to use, as the data cannot easily be fed into the normal array kernels.

Describe the solution you'd like

I would like to change the type of ScalarValue::List to store ArrayRef

Describe alternatives you've considered

No response

Additional context

See #7353

Activity

  1. Dandandan commented on Aug 21, 2023

    @Dandandan
    Contributor

    #996 seems to be a similar suggestion

  2. Dandandan commented on Aug 21, 2023

    @Dandandan
    Contributor

    Also see discussions here:

    #6837 (comment)
    #6837 (comment)

  3. tustvold commented on Aug 21, 2023

    @tustvold
    ContributorAuthor

    #996 seems to be a similar suggestion

    Happy to close this in favor if you prefer, mainly just hoping to bring more attention to this. I know there is a decent amount of ongoing work relating to lists at the moment

  4. alamb commented on Aug 21, 2023

    @alamb
    Contributor

    I think Change ScalarValue::List to store ArrayRef is a great idea

    An ArrayRef is a pretty high overhead way of representing other scalar types but for lists it is different

    I also think doing this would allow us to work on / improve the ergonomics of using ListArray in general and set some patterns (like using take and manipulating the list indexes themselves) as well

    So 👍 from me

  5. jayzhan211 commented on Sep 4, 2023

    @jayzhan211
    Contributor

    Is anyone working on this? If not, I would like to help with this.

  6. Dandandan commented on Sep 4, 2023

    @Dandandan
    Contributor

    Is anyone working on this? If not, I would like to help with this.

    I don't think so. I see @tustvold already assigned you on this.

  7. jayzhan211 commented on Sep 16, 2023

    @jayzhan211
  8. tustvold commented on Sep 18, 2023

    @tustvold
    ContributorAuthor

    we do not need to guarantee the ScalarValue and Array mapping is one-to-one

    I'm not sure I follow what you're suggesting but this seems like a fairly fundamental property

  9. alamb commented on Oct 13, 2023

    @alamb
    Contributor

    FYI I think the PR from @jayzhan211, #7629, is ready to merge. Would anyone else on this chain like a chance to reivew it?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions