You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Previously if one wanted to iterate over the fields in the schema you would call the Fields() function and just iterate over the slice. However, due to this commit there is now an allocation and copy that happens when that's called. So to iterate over the fields without allocations one now must use the Field(i int) method; however that means a user must already know exactly how many fields are in the schema which isn't possible today.
It would be idea if there were a NumFields() int method on schemas allowing users to iterate over the fields without copying.
Component(s)
Go
The text was updated successfully, but these errors were encountered:
### Rationale for this change
Previously if one wanted to iterate over the fields in the schema you would call the `Fields()` function and just iterate over the slice. However, due to [this commit](rtpsw@802674b) there is now an allocation and copy that happens when that's called. So to iterate over the fields without allocations one now must use the `Field(i int)` method; however that means a user must already know exactly how many fields are in the schema which isn't possible today.
This adds a simple `NumFields() int` method that returns the number of fields in a schema to allow a user to iterate over all the fields without having to copy them.
### What changes are included in this PR?
Expose the number of fields in a schema for iteration over fields.
Single function added `NumFields() int` to schema
### Are these changes tested?
N/A
### Are there any user-facing changes?
Yes this is a new API
* Closes: #36384
Authored-by: thorfour <me@thor-hansen.com>
Signed-off-by: Matt Topol <zotthewizard@gmail.com>
### Rationale for this change
Previously if one wanted to iterate over the fields in the schema you would call the `Fields()` function and just iterate over the slice. However, due to [this commit](rtpsw@802674b) there is now an allocation and copy that happens when that's called. So to iterate over the fields without allocations one now must use the `Field(i int)` method; however that means a user must already know exactly how many fields are in the schema which isn't possible today.
This adds a simple `NumFields() int` method that returns the number of fields in a schema to allow a user to iterate over all the fields without having to copy them.
### What changes are included in this PR?
Expose the number of fields in a schema for iteration over fields.
Single function added `NumFields() int` to schema
### Are these changes tested?
N/A
### Are there any user-facing changes?
Yes this is a new API
* Closes: apache#36384
Authored-by: thorfour <me@thor-hansen.com>
Signed-off-by: Matt Topol <zotthewizard@gmail.com>
Describe the enhancement requested
Previously if one wanted to iterate over the fields in the schema you would call the Fields() function and just iterate over the slice. However, due to this commit there is now an allocation and copy that happens when that's called. So to iterate over the fields without allocations one now must use the Field(i int) method; however that means a user must already know exactly how many fields are in the schema which isn't possible today.
It would be idea if there were a
NumFields() int
method on schemas allowing users to iterate over the fields without copying.Component(s)
Go
The text was updated successfully, but these errors were encountered: