Skip to content

tiledb-rs 0.2.0

Latest
Compare
Choose a tag to compare
@davisp davisp released this 24 Feb 20:25
· 3 commits to main since this release
b279ec7

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 into arrow::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 CommonOptions (#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

  • Tests/examples/quickstart.rs (#156)
  • Test_from_arrow handles FixedSizeList of length 1 (#176)

⚙️ 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)