Releases: mbrobbel/narrow
v0.4.0
Chore
- fix clippy 1.75.0 warnings
Fixes new 1.75.0 clippy warnings. - enable more lints
New Features
- convert
StructArray
fromarrow_array::StructArray
This enables roundtripping through a parquet file. - convert
StructArray
fromarrow_array::StructArray
- add
arrow-rs
interop support forFixedSizeListArray
Adds support for interop betweennarrow::array::FixedSizeListArray
and
arrow_array::FixedSizeListArray
. - add
arrow-rs
interop support forFixedSizeListArray
- add
FixedSizeListArray
- add non-nullable to nullable conversion
Bug Fixes
- bound on
ArrayType
implementation for arrays
TheFixedSize
bound was used when arrays were stored in
FixedSizePrimitiveArray
. - clippy warning
- remove comment
- remove
FixedSize
impl for tuple - offset extend impl for nullable data
For nullable data it should also flatten the option iterator. - offset extend impl for nullable data
New Features (BREAKING)
-
add
arrow-rs
features for buffer and array interop
Adds interop witharrow-rs
. The addedparquet
example demonstrates
what this enables. -
add
FixedSizeListArray
-
add
OffsetElement
andUnionType
to theArray
GAT ofArrayType
This adds generics for offset element type (i32
ori64
) and union
layout (sparse or dense) to theArray
type constructor of the
ArrayType
trait.This is not ideal without default types for the generics in a generic
associated type, but the alternatives are worse (makingArrayType
generic over these types with defaults). -
add
OffsetElement
andUnionType
to theArray
GAT ofArrayType
-
add item associated type to
Unit
trait
To support usingNullArray
for unit variants of enums in
UnionArrays
, this adds anItem
associated type to theUnit
trait,
which converts into the type implementingUnit
, allowing code
generation of types for unit enum variants which implementUnit
and
convert to instances of the variants of the original enum. -
add item associated type to
Unit
trait
Commit Statistics
- 52 commits contributed to the release over the course of 173 calendar days.
- 173 days passed between releases.
- 20 commits were understood as conventional.
- 11 unique issues were worked on: #100, #102, #107, #108, #109, #110, #117, #118, #123, #136, #98
Commit Details
view details
- #100
- Add
arrow-rs
features for buffer and array interop (374aedf)
- Add
- #102
- Add non-nullable to nullable conversion (bfc1399)
- #107
- Add
Index
trait (fa91089)
- Add
- #108
- Add item associated type to
Unit
trait (7db53c2)
- Add item associated type to
- #109
- Add
OffsetElement
andUnionType
to theArray
GAT ofArrayType
(3b60bbe)
- Add
- #110
- Add
FixedSizeListArray
(36b2343)
- Add
- #117
- Add
arrow-rs
interop support forFixedSizeListArray
(b5210c7)
- Add
- #118
- Convert
StructArray
fromarrow_array::StructArray
(fcb49b3)
- Convert
- #123
- Bound on
ArrayType
implementation for arrays (fabc404)
- Bound on
- #136
- Fix clippy 1.75.0 warnings (117a4f3)
- #98
- Offset extend impl for nullable data (10aacdf)
- Uncategorized
- Convert
StructArray
fromarrow_array::StructArray
(b4c49b0) - Add missing tests (6c703bd)
- Clippy warning (54eda3c)
- Add
arrow-rs
interop support forFixedSizeListArray
(b4d4038) - Add direct
RecordBatch
conversion forStructArray
(8f0c5b2) - Remove a comment (d9c076f)
- Add parquet example (094f3a0)
- Generalize more string array methods (bc0f459)
- Generalize stringarray extend impl (66b4970)
- Split out implementations and add more tests (ea99db7)
- Fix some clippy warnings (25c7367)
- Change interaction with
ArrowNativeType
(6c43438) - Merge branch 'main' into arrow-array (8ee0a2c)
- Add nested test (63c6e8d)
- Add
IntoIterator
implementation, changeArrayType
for[T: FixedSize; N]
(b631643) - Add
FixedSizeListArray
(e84f00c) - Add
OffsetElement
andUnionType
to theArray
GAT ofArrayType
(a3613c5) - Add item associated type to
Unit
trait (3a7f327) - Fix docs (d440189)
- Use
ArrayBuffer<1>
forSingleBuffer
(34db73e) - Add indexing to
Offset
(a84ee37) - Add
Index
trait (97747b5) - Remove comment (59cdb4a)
- Enable more lints (11c8970)
- Merge branch 'main' into arrow-array (8ddf760)
- Add non-nullable to nullable conversion (11f75e0)
- Add
BooleanArray
conversion (21547b1) - Rename feature to
arrow-rs
(afbb962) - Move
arrow-rs
interop toarrow
module (e39ad3b) - Fix warning (c5c09f0)
- Merge branch 'main' into arrow-array (42ba214)
- Remove
FixedSize
impl for tuple (b6b922c) - Implicit conversion to
ArrowBuffer
fromVecBuffer
is now supported (9494ce2) - Merge branch 'main' into arrow-array (bdb17bc)
- Add
BufferType
implementation forarrow_buffer::ScalarBuffer
(44e3567) - Make conversion generic over buffer type (e2b40f1)
- Add
arrow-array
feature for zero-copy array interop (26e746c) - Use
BufferBuilder
abstraction (7b5dab9) - Offset extend impl for nullable data (60fb809)
- Some fixes and tests (3cfe877)
- Setup
arrow-buffer
interop (4d0d333)
- Convert
narrow-derive v0.4.0
Chore
-
bump proc-macro-crate from 3.0.0 to 3.1.0
Bumps proc-macro-crate from
3.0.0 to 3.1.0.Release notes
Sourced from proc-macro-crate's releases.
v3.0.1
What's Changed
- Support workspace dependencies in the root crate of a workspace by
@Waridley
in bkchr/proc-macro-crate#46 - Release 3.0.1 by
@bkchr
in bkchr/proc-macro-crate#49
New Contributors
@Waridley
made their first contribution in bkchr/proc-macro-crate#46
Full Changelog: bkchr/proc-macro-crate@v3.0.0...v3.0.1
Commits
- See full diff in compare view
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
. - Support workspace dependencies in the root crate of a workspace by
-
bump syn from 2.0.43 to 2.0.48
-
bump proc-macro-crate from 2.0.1 to 3.0.0
Bumps proc-macro-crate from
2.0.1 to 3.0.0.Commits
- See full diff in compare view
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
. -
bump quote from 1.0.33 to 1.0.35
Bumps quote from 1.0.33 to 1.0.35.Release notes
Sourced from quote's releases.
1.0.35
- Update proc-macro2 to fix caching issue when using a rustc-wrapper such as sccache
1.0.34
- Documentation improvements
Commits
b01743f
Release 1.0.3557851d7
Pull in proc-macro2 sccache fixc777ce6
Release 1.0.34e9cb3c2
Pull in proc-macro2 build script improvementf8fc16d
Test docs.rs documentation build in CI3a9d31f
Update actions/checkout@v3 -> v4fe2dec4
Merge pull request #262 from dtolnay/syn25d33628
Update syn 1.0 link to syn 2.0- See full diff in compare view
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
. -
bump syn from 2.0.41 to 2.0.43
Bumps syn from 2.0.41 to 2.0.43.Release notes
Sourced from syn's releases.
2.0.43
- Insert trailing comma if not already present when printing a 1-tuple in pattern position (#1553)
2.0.42
- Documentation improvements
Commits
95ee052
Release 2.0.437383e81
Merge pull request #1559 from dtolnay/pattuple712fde5
Fix ToTokens for PatTuple to insert trailing commaed9b94e
Merge pull request #1558 from dtolnay/tupletestsec8517b
Add tuple comma tests3cf16c7
Merge pull request #1557 from dtolnay/snapshotparsequote553549f
Generalize snapshot parsing to types that do not implement Parsef9ad833
Merge pull request #1556 from dtolnay/punctuatedsnapshot131b40b
Debug impl for punctuated::Pairs superseded by Punctuated3f12d65
Include punctuation tokens in snapshot tests containing Punctuated- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
. -
bump syn from 2.0.40 to 2.0.41
Bumps syn from 2.0.40 to 2.0.41.Release notes
Sourced from syn's releases.
2.0.41
- Support parsing syn::Field in
parse_quote!
(#1548)
Commits
63b1701
Release 2.0.41
- Support parsing syn::Field in
v0.3.4
Bug Fixes
ArrayType
derive for named structs#[derive(ArrayType, Default)] struct Bar<T> { a: u32, b: Option<bool>, c: T, } let input = [ Some(Bar { a: 1, b: Some(false), c: None, }), None, Some(Bar { a: 2, b: None, c: Some(()), }), ]; let array = input.into_iter().collect::<StructArray<Bar<_>, true>>(); assert_eq!(array.len(), 3); assert_eq!(array.is_valid(0), Some(true)); assert_eq!(array.is_null(1), Some(true)); assert_eq!(array.is_valid(2), Some(true)); let int_array = &array.0.as_ref().a; assert_eq!(int_array.0.as_slice(), &[1, Default::default(), 2]); let bool_array = &array.0.as_ref().b; assert_eq!( bool_array.into_iter().collect::<Vec<_>>(), &[Some(false), None, None] ); let null_array = &array.0.as_ref().c; assert_eq!(null_array.is_null(0), Some(true)); assert_eq!(null_array.is_null(1), Some(true)); assert_eq!(null_array.is_valid(2), Some(true)); let input = [ Some(Bar { a: 1, b: None, c: false, }), None, ]; let array = input.into_iter().collect::<StructArray<Bar<_>, true>>(); assert_eq!(array.len(), 2);
Commit Statistics
- 3 commits contributed to the release over the course of 4 calendar days.
- 4 days passed between releases.
- 1 commit was understood as conventional.
- 1 unique issue was worked on: #82
Commit Details
narrow-derive v0.3.4
Bug Fixes
ArrayType
derive for named structs#[derive(ArrayType, Default)] struct Bar<T> { a: u32, b: Option<bool>, c: T, } let input = [ Some(Bar { a: 1, b: Some(false), c: None, }), None, Some(Bar { a: 2, b: None, c: Some(()), }), ]; let array = input.into_iter().collect::<StructArray<Bar<_>, true>>(); assert_eq!(array.len(), 3); assert_eq!(array.is_valid(0), Some(true)); assert_eq!(array.is_null(1), Some(true)); assert_eq!(array.is_valid(2), Some(true)); let int_array = &array.0.as_ref().a; assert_eq!(int_array.0.as_slice(), &[1, Default::default(), 2]); let bool_array = &array.0.as_ref().b; assert_eq!( bool_array.into_iter().collect::<Vec<_>>(), &[Some(false), None, None] ); let null_array = &array.0.as_ref().c; assert_eq!(null_array.is_null(0), Some(true)); assert_eq!(null_array.is_null(1), Some(true)); assert_eq!(null_array.is_valid(2), Some(true)); let input = [ Some(Bar { a: 1, b: None, c: false, }), None, ]; let array = input.into_iter().collect::<StructArray<Bar<_>, true>>(); assert_eq!(array.len(), 2);
Commit Statistics
- 3 commits contributed to the release over the course of 4 calendar days.
- 4 days passed between releases.
- 1 commit was understood as conventional.
- 1 unique issue was worked on: #82
Commit Details
v0.3.3
Bug Fixes
ArrayType
derive for tuple structs#[derive(ArrayType, Default)] struct Foo<'a>(u32, u16, &'a str); #[derive(ArrayType, Default)] struct Bar<'a>(Foo<'a>); #[derive(ArrayType, Default)] struct FooBar<'a, T>(Bar<'a>, T); let input = [ FooBar(Bar(Foo(1, 2, "n")), false), FooBar(Bar(Foo(1, 2, "arrow")), false), ]; let array = input.into_iter().collect::<StructArray<FooBar<_>>>(); assert_eq!(array.len(), 2); let input = vec![ Some(vec![Some(FooBar(Bar(Foo(42, 0, "!"), 1234))]), None, Some(vec![None]), Some(vec![None, None]), ]; let array = input .into_iter() .collect::<VariableSizeListArray<StructArray<FooBar<_>, true>, true>>(); assert_eq!(array.len(), 4);
ArrayType
derive for tuple structs
Commit Statistics
- 2 commits contributed to the release.
- 2 commits were understood as conventional.
- 1 unique issue was worked on: #80
Commit Details
v0.3.2
Bug Fixes
ArrayType
derive for unit structs
Add support to deriveArrayType
for unit structs:#[derive(ArrayType, Copy, Clone, Default)] struct Foo; let array = [Foo; 5].into_iter().collect::<StructArray<Foo>>(); assert_eq!(array.len(), 5); let array = [Some(Foo); 5].into_iter().collect::<StructArray<Foo, true>>(); assert_eq!(array.len(), 5); assert!(array.all_valid());
ArrayType
derive for unit structs
Commit Statistics
- 3 commits contributed to the release.
- 2 commits were understood as conventional.
- 1 unique issue was worked on: #79
Commit Details
v0.3.1
narrow-derive v0.3.3
Bug Fixes
ArrayType
derive for tuple structs#[derive(ArrayType, Default)] struct Foo<'a>(u32, u16, &'a str); #[derive(ArrayType, Default)] struct Bar<'a>(Foo<'a>); #[derive(ArrayType, Default)] struct FooBar<'a, T>(Bar<'a>, T); let input = [ FooBar(Bar(Foo(1, 2, "n")), false), FooBar(Bar(Foo(1, 2, "arrow")), false), ]; let array = input.into_iter().collect::<StructArray<FooBar<_>>>(); assert_eq!(array.len(), 2); let input = vec![ Some(vec![Some(FooBar(Bar(Foo(42, 0, "!"), 1234))]), None, Some(vec![None]), Some(vec![None, None]), ]; let array = input .into_iter() .collect::<VariableSizeListArray<StructArray<FooBar<_>, true>, true>>(); assert_eq!(array.len(), 4);
ArrayType
derive for tuple structs
Commit Statistics
- 2 commits contributed to the release.
- 2 commits were understood as conventional.
- 1 unique issue was worked on: #80
Commit Details
narrow-derive v0.3.2
Bug Fixes
ArrayType
derive for unit structs
Add support to deriveArrayType
for unit structs:#[derive(ArrayType, Copy, Clone, Default)] struct Foo; let array = [Foo; 5].into_iter().collect::<StructArray<Foo>>(); assert_eq!(array.len(), 5); let array = [Some(Foo); 5].into_iter().collect::<StructArray<Foo, true>>(); assert_eq!(array.len(), 5); assert!(array.all_valid());
ArrayType
derive for unit structs
Commit Statistics
- 3 commits contributed to the release.
- 2 commits were understood as conventional.
- 1 unique issue was worked on: #79
Commit Details
narrow-derive v0.3.1
Chore
- fix gh release
Commit Statistics
- 1 commit contributed to the release.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details
- Uncategorized
- Fix gh release (17bf994)