tiledb-rs 0.2.0
[0.2.0] - 2025-02-24
🚀 Features
- [rs] Array nonempty_domain functions (#99)
- Fix sparse array write strategy "too many local rejects" (#107)
- [rs] Proptest which checks correctness of a sequence of writes to a sparse array (#109)
- [tables] or [rs] implement accumulating a subarray from the intersection of predicate ranges (#133)
- CI does not run tests if linter fails (#136)
- [tables] or [rs] implement accumulating a subarray from the intersection of predicate ranges (#134)
- Wrap Encryption related APIs (#170)
- [rs] add enumerations to schema and attribute "pod" APIs (#188)
💼 Other
- Add separate
test
crate for test utilities (#10) - Add tooling for listing unwraped API functions
- The .cargo/config should be .cargo/config.toml
- Skip the is_fs_supported failure test on CI
- Initial CI Workflows
- Remove flaky is_supported_fs test
- Remove test crate circular dependency and add arbitrary Attribute pbt strategy (#11)
- Add wrappers for VFS
- Add proptest strategies for generating Dimension, a bunch of Debug impls, and even some arrow stuff (#15)
- Use proper json in Attribute::Debug
- Fix the VFS::ls and VFS::ls_recursive APIs
- Enforce correctly formatted code.
- Implement strategy for arbitrary Schema generation, for dense or sparse arrays (#18)
- Rename as_mut_ptr() to capi() for consistency
- Rewrap Filter and FilterList
- Impl PartialEq for Attribute (#21)
- Update README.md
- Scaffolding to support generating arbitrary filter pipelines (#23)
- Include tiledb_serialization.h APIs
- Finish implementing conversion between Arrow field and TileDB Attribute (#28)
- Fix nightly build CI pipeline
- Implement conversion between TIleDB Schema and Arrow Schema (#31)
- Update proptest strategies to produce a set of inputs to our APIs, instead of the structs directly (#32)
- Add comments to quickstart_dense.rs and also make Subarray::dimension_range_typed more flexible (#34)
- Better programmatic information for Error type, and ensure Sync/Send (#36)
- Refactor proptests implementation
- Capi_return function, ContextBound trait, fix methods which do not return Result (#38)
- Update arrow to 51.0 to match datafusion
- Revert "Update arrow to 51.0 to match datafusion"
- Use "strategy" crate feature for exporting proptest strategies instead of separate test crate (#39)
- Add test that our arbitrary schemata can actually create an array, and update strategies to make it so (#41)
- Implement proptest shrinking for filter pipeline (#42)
- Wrap API and port stats example to Rust. (#33)
- Initial Enumeration API wrappers
- Test which creates schema, creates array, loads schema, compares to original passes (#43)
- Add RawStatsString
- Cleanup the tiledb_sys crate
- Fix leak in tiledb_context_get_stats
- Add a nightly build that uses Rust nightly
- Enable #[derive(ContextBound)] (#54)
- Initial api-coveragte implementation
- Fix domain shrinking proptest
- Add API Coverage CI Job
- Replace dev with main in CI
- Fix actions/checkout version
- Move arrow sub-crate into api crate feature (#58)
- Add consuming TryFrom impl for ThingData structs (#63)
- Improve field lookup from schema API (#62)
- Fix subarray builder to correctly use C API (#61)
- Wrap the FragmentInfo APIs
- Process the output of
cargo expand
for API calls - Rust nightly lint - use u32::MAX instead of std::u32::MAX (#66)
- Implement Query API steps and adapters, and demonstrate with "reading_incomplete" example (#51)
- Fix slow property tests
- Support for reading and writing validity vectors
- Wrap QueryCondition APIs
- Extend API to enable proptests which write arbitrary array data, and get started writing the proptests (#71)
- Fix nightly clippy issues (#78)
- Groups API + Tests + Example v2 (#69)
- Implement conversion from RawReadOutput to Arrow array (#77)
- Replace capi_return with capi_call (#76)
- #[ignore] test_var_data_iterator_lifetime
- Fixed cell val num should be available in RawReadOutput, make it so with
CellStructure
enum (#79) - Change RawReadOutput::nvalues to RawReadOutput::ncells (#80)
- Configure queries to return arrow-like results, i.e. "extra" offset and element offsets; remove RawReadOutput::nbytes (#81)
- Unified way of attaching user data to enumeration, dimension, query buffers, etc (#82)
- Update README.md - coverage
- Add subarray range API wrappers (#72)
- Disable
non_local_definitions
for nightly clippy (#88) - Update Arrow dependencies (#90)
- Remove restrictions on datatypes for proptest strategies (#89)
- Fix up arrow datatype compatibility and enable turning
TypedRawReadOutput
intoarrow::RecordBatch
(#87) - Remove QueryCondition struct, user just provides enum (#93)
- Make DimensionData domain and extent optional
- :data is not json but instead metadata::Value (#94)
- Prerequisite changes for generating an arbitrary schema and write query (#95)
- Port array metadata functions. (#91)
- Properly use cell_val_num in DataProvider impls (#96)
- Remove the 'ctx lifetime (#83)
- Implement query input traits for Arrow data (#97)
- Fix lint violations in nightlies (#101)
- Update CI to use nightly builds of core (#100)
- Test which writes data and then reads it back for an arbitrary dense array schema and subarray (#98)
- Fix FixedDataIterator and VarDataIterator soundness (#104)
- Replace TempDir with TestArrayUri (#102)
- Proptest for checking correctness of a single sparse write (#103)
- Fix lint reported by nightly #/927912444 (#105)
- Move the TestArrayUri generators (#106)
- Improvements to proptest-strategies write sequence API to enable testing in tables repo (#108)
- Update schema version to 22 (#115)
- Pub API for constructing DenseWriteSequence, SparseWriteSequence (#116)
- Remove Option return from Context::object_type (#117)
- Alternative strategy for a vector of records (#111)
- Various metadata API changes and improvements in support of SC-48994 (#112)
- Reduce DEFAULT_MAX_SPARSE_TILE_CAPACITY to reduce max size of proptest sparse tiles (#118)
- Use 'sm.var_offsets.extra_element=true' for write queries (#110)
- #[derive(Hash)] for Datatype (#119)
- Update to arrow 52.0 (#120)
- Add test utility to run a callback as a signal handler (#122)
- Fix clippy::missing-transmute-annotations in signal.rs (#124)
- Fix API coverage tooling (#129)
- Lint map => inspect (#127)
- Split fn_typed into logical_type_go and physical_type_go and add example (#125)
- Add crate::array::schema::arrow::{dimensions,attributes} (#130)
- 'fn size_hint' for custom iterators (#135)
- Consistent output directory for examples (#131)
- CI Bug due to C API change (#137)
- SC-51253 (#138)
- Various API additions and one tweak (#142)
- SC-44560 Wrap Array consolidation and vacuuming APIs (#141)
- Align rust declaration and C api. (#143)
- Set local rpath lookups for libtiledb (#144)
- Remove cfg(test) for Datatype::iter (#146)
- Setup nightly libtiledb builds (#147)
- Fix release repository name (#148)
- Add permissions for uploading release artifacts (#149)
- Forward our GITHUB_TOKEN to install-tiledb (#150)
- Fix nightly lint 'first doc comment paragraph is too long' (#153)
- Pull out testing / generally useful code from the aggregate API PR (#154)
- Turn DimensionData::cell_val_num from option field to function not returning Option (#155)
- Fn Array::delete (#158)
- Ignore domain_shrinking test (#159)
- Impl Eq and Hash for SubarrayData and QueryConditionExpr (#160)
- Aggregate API support (#113)
- Configure array schema proptest constants using environment; and some incidentals (#157)
- Move proptest strategy configurations into a single file (#162)
- Finish basic support for enumerations (#161)
- Disable bit and byte shuffle filters for writes (#163)
- Update formatting for 'rustc 1.83.0-nightly (6c6d21008 2024-09-22)' (#165)
- Fix new 'empty line after doc comment' lint (#168)
- Add function to test Cells to identify groups of adjacent equal keys (#171)
- Fix new lifetime lint and non-local impl lint (#174)
- Fix new nightly lint: clippy::unit_arg (#178)
- Fix overflow in num_cells check in subarray_strategy_dense (#181)
- Fields of EnumerationData strategy Parameters must be pub (#184)
- Minor changes to assist
cargo update
in tables repo (#185) - Add libtiledb crate as a build dependency and do not use it in sys (#182)
- Fix nightly cargo fmt change (#187)
- Add ability to use static builds of libtiledb (#186)
- Robustness of attribute_enumeration_likelihood (#189)
- Impl conversions between RangeInclusive and SingleValueRange (#190)
- Add more
CommonOption
s (#192) tiledb-rs
error styling part 1:Context::capi_call
returns its own error type (#191)- Add is_enabled to stats module (#194)
- Rr/sc 44569 rs schema evolution (#195)
- First pass at proptest ValueTree for query condition (#196)
- Fix nightly lint (#197)
- Add public accessors to query condition data (#198)
- Create nightly release packages (#199)
- Enable write permissions on releases
- Enable the linux-aarch64 runners (#200)
🧪 Testing
⚙️ Miscellaneous Tasks
- [rs] add memory limit to default allocation strategy for query read buffer (#121)
- [rs] impl Display for QueryConditionExpr (#145)
- [rs] panic in RecordsValueTree::simplify prevents proptest from dumping seed which led to bad input (#166)
- [rs] implement custom proptest ValueTree for schema (#169)
- [rs] minimize set of functions which need to link with core tiledb to run (#179)
- (release) Initial Release Workflow (#202)
- (ci) Fix release workflow (#204)