Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Java] New getTransferPair which takes Field as parameter for Complex type vectors and BaseVariableWidthVector's #38246

Closed
xxlaykxx opened this issue Oct 12, 2023 · 1 comment · Fixed by #38261
Assignees
Labels
Breaking Change Includes a breaking change to the API Component: Java Type: enhancement
Milestone

Comments

@xxlaykxx
Copy link
Contributor

Describe the enhancement requested

Introduce a new getTransferPair method which takes 'Field' as a parameter for Complex type vectors and BaseVariableWidthVector's. Same like it was done for BaseFixedWidthVector
In some cases its useful to pass a 'Field' object directly and not create a new 'Field' every time.

Component(s)

Java

xxlaykxx added a commit to bookingnizer/arrow-apache that referenced this issue Oct 12, 2023
xxlaykxx added a commit to bookingnizer/arrow-apache that referenced this issue Oct 12, 2023
xxlaykxx added a commit to bookingnizer/arrow-apache that referenced this issue Oct 13, 2023
xxlaykxx added a commit to bookingnizer/arrow-apache that referenced this issue Oct 13, 2023
xxlaykxx added a commit to bookingnizer/arrow-apache that referenced this issue Oct 13, 2023
xxlaykxx added a commit to bookingnizer/arrow-apache that referenced this issue Oct 14, 2023
xxlaykxx added a commit to bookingnizer/arrow-apache that referenced this issue Oct 14, 2023
xxlaykxx added a commit to bookingnizer/arrow-apache that referenced this issue Oct 14, 2023
xxlaykxx added a commit to bookingnizer/arrow-apache that referenced this issue Oct 16, 2023
@lidavidm lidavidm added the Breaking Change Includes a breaking change to the API label Oct 20, 2023
@lidavidm
Copy link
Member

Labeling as a breaking change since existing callsites may become ambiguous when recompiled

lidavidm pushed a commit that referenced this issue Oct 20, 2023
… Field type for Complex Type Vectors (#38261)

### Rationale for this change

Additionally, a new function **getTransferPair(Field, Allocator)** is introduced so that a new Field method is not constructed each time getTransferPair is called on the Vector.
Added Field.setChildren() method and made **children** not final - for updating **field** object inside complex vector(it possible that Field will be without children on creation) - optimisation for keeping using already existing Field object.

### What changes are included in this PR?

- `getTransferPair` method for ComplexType Vectors and for BaseVariableWidthVector's

- added `Field.setChildren()` method and made **children** not final - for updating **field** object inside complex vector(it possible that Field will be without children on creation) - optimisation for keeping using already existing Field object.

### Are these changes tested?

Yes, some tests have been added to verify these changes.
### Are there any user-facing changes?

Yes.

**This PR includes breaking changes to public APIs.**

* Closes: #38246

Lead-authored-by: Ivan Chesnov <ivan.chesnov@dremio.com>
Co-authored-by: Ivan Chesnov <xxxlaykxxx@gmail.com>
Signed-off-by: David Li <li.davidm96@gmail.com>
@lidavidm lidavidm added this to the 15.0.0 milestone Oct 20, 2023
xxlaykxx added a commit to dremio/arrow that referenced this issue Oct 23, 2023
…s in a Field type for Complex Type Vectors (apache#38261) (#57)

### Rationale for this change

Additionally, a new function **getTransferPair(Field, Allocator)** is introduced so that a new Field method is not constructed each time getTransferPair is called on the Vector.
Added Field.setChildren() method and made **children** not final - for updating **field** object inside complex vector(it possible that Field will be without children on creation) - optimisation for keeping using already existing Field object.

### What changes are included in this PR?

- `getTransferPair` method for ComplexType Vectors and for BaseVariableWidthVector's

- added `Field.setChildren()` method and made **children** not final - for updating **field** object inside complex vector(it possible that Field will be without children on creation) - optimisation for keeping using already existing Field object.

### Are these changes tested?

Yes, some tests have been added to verify these changes.
### Are there any user-facing changes?

Yes.

**This PR includes breaking changes to public APIs.**

* Closes: apache#38246

Lead-authored-by: Ivan Chesnov <ivan.chesnov@dremio.com>
Co-authored-by: Ivan Chesnov <xxxlaykxxx@gmail.com>
Signed-off-by: David Li <li.davidm96@gmail.com>

(cherry picked from commit a376e3c)
JerAguilon pushed a commit to JerAguilon/arrow that referenced this issue Oct 23, 2023
…s in a Field type for Complex Type Vectors (apache#38261)

### Rationale for this change

Additionally, a new function **getTransferPair(Field, Allocator)** is introduced so that a new Field method is not constructed each time getTransferPair is called on the Vector.
Added Field.setChildren() method and made **children** not final - for updating **field** object inside complex vector(it possible that Field will be without children on creation) - optimisation for keeping using already existing Field object.

### What changes are included in this PR?

- `getTransferPair` method for ComplexType Vectors and for BaseVariableWidthVector's

- added `Field.setChildren()` method and made **children** not final - for updating **field** object inside complex vector(it possible that Field will be without children on creation) - optimisation for keeping using already existing Field object.

### Are these changes tested?

Yes, some tests have been added to verify these changes.
### Are there any user-facing changes?

Yes.

**This PR includes breaking changes to public APIs.**

* Closes: apache#38246

Lead-authored-by: Ivan Chesnov <ivan.chesnov@dremio.com>
Co-authored-by: Ivan Chesnov <xxxlaykxxx@gmail.com>
Signed-off-by: David Li <li.davidm96@gmail.com>
JerAguilon pushed a commit to JerAguilon/arrow that referenced this issue Oct 25, 2023
…s in a Field type for Complex Type Vectors (apache#38261)

### Rationale for this change

Additionally, a new function **getTransferPair(Field, Allocator)** is introduced so that a new Field method is not constructed each time getTransferPair is called on the Vector.
Added Field.setChildren() method and made **children** not final - for updating **field** object inside complex vector(it possible that Field will be without children on creation) - optimisation for keeping using already existing Field object.

### What changes are included in this PR?

- `getTransferPair` method for ComplexType Vectors and for BaseVariableWidthVector's

- added `Field.setChildren()` method and made **children** not final - for updating **field** object inside complex vector(it possible that Field will be without children on creation) - optimisation for keeping using already existing Field object.

### Are these changes tested?

Yes, some tests have been added to verify these changes.
### Are there any user-facing changes?

Yes.

**This PR includes breaking changes to public APIs.**

* Closes: apache#38246

Lead-authored-by: Ivan Chesnov <ivan.chesnov@dremio.com>
Co-authored-by: Ivan Chesnov <xxxlaykxxx@gmail.com>
Signed-off-by: David Li <li.davidm96@gmail.com>
xxlaykxx added a commit to dremio/arrow that referenced this issue Oct 29, 2023
…s in a Field type for Complex Type Vectors (apache#38261) (#57)

### Rationale for this change

Additionally, a new function **getTransferPair(Field, Allocator)** is introduced so that a new Field method is not constructed each time getTransferPair is called on the Vector.
Added Field.setChildren() method and made **children** not final - for updating **field** object inside complex vector(it possible that Field will be without children on creation) - optimisation for keeping using already existing Field object.

### What changes are included in this PR?

- `getTransferPair` method for ComplexType Vectors and for BaseVariableWidthVector's

- added `Field.setChildren()` method and made **children** not final - for updating **field** object inside complex vector(it possible that Field will be without children on creation) - optimisation for keeping using already existing Field object.

### Are these changes tested?

Yes, some tests have been added to verify these changes.
### Are there any user-facing changes?

Yes.

**This PR includes breaking changes to public APIs.**

* Closes: apache#38246

Lead-authored-by: Ivan Chesnov <ivan.chesnov@dremio.com>
Co-authored-by: Ivan Chesnov <xxxlaykxxx@gmail.com>
Signed-off-by: David Li <li.davidm96@gmail.com>

(cherry picked from commit a376e3c)
loicalleyne pushed a commit to loicalleyne/arrow that referenced this issue Nov 13, 2023
…s in a Field type for Complex Type Vectors (apache#38261)

### Rationale for this change

Additionally, a new function **getTransferPair(Field, Allocator)** is introduced so that a new Field method is not constructed each time getTransferPair is called on the Vector.
Added Field.setChildren() method and made **children** not final - for updating **field** object inside complex vector(it possible that Field will be without children on creation) - optimisation for keeping using already existing Field object.

### What changes are included in this PR?

- `getTransferPair` method for ComplexType Vectors and for BaseVariableWidthVector's

- added `Field.setChildren()` method and made **children** not final - for updating **field** object inside complex vector(it possible that Field will be without children on creation) - optimisation for keeping using already existing Field object.

### Are these changes tested?

Yes, some tests have been added to verify these changes.
### Are there any user-facing changes?

Yes.

**This PR includes breaking changes to public APIs.**

* Closes: apache#38246

Lead-authored-by: Ivan Chesnov <ivan.chesnov@dremio.com>
Co-authored-by: Ivan Chesnov <xxxlaykxxx@gmail.com>
Signed-off-by: David Li <li.davidm96@gmail.com>
DenisTarasyuk pushed a commit to dremio/arrow that referenced this issue Dec 26, 2023
…s in a Field type for Complex Type Vectors (apache#38261) (#57)

Additionally, a new function **getTransferPair(Field, Allocator)** is introduced so that a new Field method is not constructed each time getTransferPair is called on the Vector.
Added Field.setChildren() method and made **children** not final - for updating **field** object inside complex vector(it possible that Field will be without children on creation) - optimisation for keeping using already existing Field object.

- `getTransferPair` method for ComplexType Vectors and for BaseVariableWidthVector's

- added `Field.setChildren()` method and made **children** not final - for updating **field** object inside complex vector(it possible that Field will be without children on creation) - optimisation for keeping using already existing Field object.

Yes, some tests have been added to verify these changes.

Yes.

**This PR includes breaking changes to public APIs.**

* Closes: apache#38246

Lead-authored-by: Ivan Chesnov <ivan.chesnov@dremio.com>
Co-authored-by: Ivan Chesnov <xxxlaykxxx@gmail.com>
Signed-off-by: David Li <li.davidm96@gmail.com>

(cherry picked from commit a376e3c)
DenisTarasyuk pushed a commit to dremio/arrow that referenced this issue Jan 16, 2024
…s in a Field type for Complex Type Vectors (apache#38261) (#57)

Additionally, a new function **getTransferPair(Field, Allocator)** is introduced so that a new Field method is not constructed each time getTransferPair is called on the Vector.
Added Field.setChildren() method and made **children** not final - for updating **field** object inside complex vector(it possible that Field will be without children on creation) - optimisation for keeping using already existing Field object.

- `getTransferPair` method for ComplexType Vectors and for BaseVariableWidthVector's

- added `Field.setChildren()` method and made **children** not final - for updating **field** object inside complex vector(it possible that Field will be without children on creation) - optimisation for keeping using already existing Field object.

Yes, some tests have been added to verify these changes.

Yes.

**This PR includes breaking changes to public APIs.**

* Closes: apache#38246

Lead-authored-by: Ivan Chesnov <ivan.chesnov@dremio.com>
Co-authored-by: Ivan Chesnov <xxxlaykxxx@gmail.com>
Signed-off-by: David Li <li.davidm96@gmail.com>

(cherry picked from commit a376e3c)
DenisTarasyuk pushed a commit to dremio/arrow that referenced this issue Jan 17, 2024
…s in a Field type for Complex Type Vectors (apache#38261) (#57)

Additionally, a new function **getTransferPair(Field, Allocator)** is introduced so that a new Field method is not constructed each time getTransferPair is called on the Vector.
Added Field.setChildren() method and made **children** not final - for updating **field** object inside complex vector(it possible that Field will be without children on creation) - optimisation for keeping using already existing Field object.

- `getTransferPair` method for ComplexType Vectors and for BaseVariableWidthVector's

- added `Field.setChildren()` method and made **children** not final - for updating **field** object inside complex vector(it possible that Field will be without children on creation) - optimisation for keeping using already existing Field object.

Yes, some tests have been added to verify these changes.

Yes.

**This PR includes breaking changes to public APIs.**

* Closes: apache#38246

Lead-authored-by: Ivan Chesnov <ivan.chesnov@dremio.com>
Co-authored-by: Ivan Chesnov <xxxlaykxxx@gmail.com>
Signed-off-by: David Li <li.davidm96@gmail.com>

(cherry picked from commit a376e3c)
DenisTarasyuk pushed a commit to dremio/arrow that referenced this issue Jan 17, 2024
…s in a Field type for Complex Type Vectors (apache#38261) (#57)

Additionally, a new function **getTransferPair(Field, Allocator)** is introduced so that a new Field method is not constructed each time getTransferPair is called on the Vector.
Added Field.setChildren() method and made **children** not final - for updating **field** object inside complex vector(it possible that Field will be without children on creation) - optimisation for keeping using already existing Field object.

- `getTransferPair` method for ComplexType Vectors and for BaseVariableWidthVector's

- added `Field.setChildren()` method and made **children** not final - for updating **field** object inside complex vector(it possible that Field will be without children on creation) - optimisation for keeping using already existing Field object.

Yes, some tests have been added to verify these changes.

Yes.

**This PR includes breaking changes to public APIs.**

* Closes: apache#38246

Lead-authored-by: Ivan Chesnov <ivan.chesnov@dremio.com>
Co-authored-by: Ivan Chesnov <xxxlaykxxx@gmail.com>
Signed-off-by: David Li <li.davidm96@gmail.com>

(cherry picked from commit a376e3c)
dgreiss pushed a commit to dgreiss/arrow that referenced this issue Feb 19, 2024
…s in a Field type for Complex Type Vectors (apache#38261)

### Rationale for this change

Additionally, a new function **getTransferPair(Field, Allocator)** is introduced so that a new Field method is not constructed each time getTransferPair is called on the Vector.
Added Field.setChildren() method and made **children** not final - for updating **field** object inside complex vector(it possible that Field will be without children on creation) - optimisation for keeping using already existing Field object.

### What changes are included in this PR?

- `getTransferPair` method for ComplexType Vectors and for BaseVariableWidthVector's

- added `Field.setChildren()` method and made **children** not final - for updating **field** object inside complex vector(it possible that Field will be without children on creation) - optimisation for keeping using already existing Field object.

### Are these changes tested?

Yes, some tests have been added to verify these changes.
### Are there any user-facing changes?

Yes.

**This PR includes breaking changes to public APIs.**

* Closes: apache#38246

Lead-authored-by: Ivan Chesnov <ivan.chesnov@dremio.com>
Co-authored-by: Ivan Chesnov <xxxlaykxxx@gmail.com>
Signed-off-by: David Li <li.davidm96@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Breaking Change Includes a breaking change to the API Component: Java Type: enhancement
Projects
None yet
2 participants