Tags: vortex-data/vortex
Tags
ScalarFn VTable (#6679) The vtable itself describes the behavior of a scalar function. I envisage us turning Expression into an enum in the future where ScalarFn is but one variant. This PR addresses the naming confusion (and prepares us to add AggregateFn VTable in the near future), as well as unifies the vtable names as per #6093 --------- Signed-off-by: Nicholas Gates <[email protected]>
Published packages cannot depend on unpublished packages (#6592) We need to write a CI check for this but for now this fixes the immediate problem Signed-off-by: Robert Kruszewski <[email protected]>
minor c++ duckdb integration changes (#6566) ## Summary Minor C++ Duckdb integration API cleanup: 1. Slightly more modern cmake build commands 2. config.cpp: use duckdb_malloc instead of malloc for traced allocations 3. copy_functions.cpp: pre-reserve vector sizes 4. data_chunk.cpp: zero error pointer value in case of no errors (not the pointer itself). 5. error.cpp: construct SetError from string_view to avoid double allocations i.e. const char -> const string& -> (inside SetError) string error.cpp: don't catch extra duckdb::Exception (it's derived from std::exception) 6. object_cache.cpp: Don't reimplement unique_ptr with deleter, use it 7. table_filter: fix UB in case index is greater than filters present, set out error pointer correctly. check data_wrapper->wrapper before trying to lock one of its members Also, replace raw new() allocations with make_unique + release if constructor may throw to avoid memory leaks. Signed-off-by: Mikhail Kot <[email protected]>
Add FileSystem trait and make DuckDB configurable (#6564) We switched over to using DuckDB's own file system for I/O. For some reason we have really binary performance benchmarks, either the same performance as before, or really really slow. We are going to investigate, but in the meantime this change abstracts the I/O behind a file system and allows us to configure whether to use Vortex I/O or DuckDB I/O. This abstraction was planned and built in #6391 anyway, so just making use of it a little sooner. As part of this change, we have a `FileSystem::list -> Stream` API. We used to use the async-compat crate to provide Tokio support within DuckDB, but that crate doesn't support streams. This PR inlines the core piece of logic from that crate and provides wrappers for I/O. To summarise: 1. Pulls out the FileSystem trait as used in #6391 1. Uses the trait to make fs configurable in DuckDB. Defaults to Vortex I/O as per before #5767 , with extension option to enable DuckDB native file system. 1. Clean up of the vortex-io crate for consistent structure + naming, as well as providing a "compat" module with compatibility wrappers. --------- Signed-off-by: Nicholas Gates <[email protected]>
Measure output bytes in cuda bitunpack benchmarks (#6395) Signed-off-by: Robert Kruszewski <[email protected]>
PreviousNext