2.5.0
TileDB v2.5.0 Release Notes
This release contains a major update to the sparse unordered with duplicates reader. In many cases this is a large performance increase for arrays and query layout that operate with this. The old reader is still available and can be toggled on with the config options highlighted below.
Configuration Changes
The config parameter for sm.use_refactored_readers
has been split into three, sm.query.sparse_global_order.reader
, sm.query.sparse_unordered_with_dups.reader
and sm.query.dense.reader
which take values of refactored
or legacy
. #2569
Breaking C API changes
- Remove deprecated c-api
tiledb_array_max_buffer_size
andtiledb_array_max_buffer_size_var
#2579
Breaking C++ API changes
- Remove deprecated cpp-api
Array::max_buffer_elements
#2579
New features
- Support upgrading an older version array to the latest version #2513
- Add improved logging support to classes #2565
Improvements
- Replace Buffer key_ with char key_[32] per shortcut story id 9561 #2502
- Remove support for sparse writes in dense arrays. #2504
- Initial dense refactor. #2503
- More concise cmake output during build #2512
- Sparse refactored readers: fixing looping behavior on large arrays. #2530
- Use sparse global order reader for unordered without duplicates queries. #2526
- Add CMakeUserPresets.json to .gitignore #2534
- Sparse unordered with duplicates reader: support multiple ranges. #2537
- Refactored sparse readers: tile overlap refactor. #2547
- Refactored dense reader: fixing output buffer offsets with multi-ranges. #2553
- Refactored sparse readers: serialization fixes. #2558
- Refactored sparse readers: proper lifetime for tile bitmaps. #2563
- REST scratch buffer is now owned by the query to allow reuse #2555
- Remove default constructor from
Dimension
#2561 - Resource pool: fixing off by one error. #2567
- Splitting config for refactored readers. #2569
- Sparse refactored readers: memory management unit tests. #2568
- Removed all aspects of posix_code from Status #2571
- Fixing pre-loading for tile offsets in various readers. #2570
- Use the new logger in Subarray, SubarrayPartitioner and Consolidator classes. #2574
- Add tiledb_fragment_info_get_schema_name #2581
- Enable CMake AVX2 check #2591
- Adding logging for sparse refactored readers. #2575
- use ROW_MAJOR read paths for unordered reads of Hilbert layout array #2551
Bug fixes
- Fix the memory leak in store_array_schema in the StorageManager class. #2480
- Fix curl/REST query scratch size to reset after each query is processed. #2535
- Sparse refactored readers: segfault with dimension only reads. #2539
- REST array metadata writes should post with timestamps #2545
- Fix bug in Arrow schema construction #2554
- Replaced
auto& path
withauto path
#2560
API additions
C API
- Expose MBR in Fragment Info API #2222
- Add
tiledb_fragment_info_get_array_schema_name
for fetching array name used by fragment #2581