Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 36 additions & 28 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,33 +1,36 @@
cmake_minimum_required(VERSION 3.22)

# Use extraction time for timestamps of files fetched via `FetchContent`.
cmake_policy(SET CMP0135 NEW)

set(TARGET_NAME vortex)
project(${TARGET_NAME}_project)

set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

include(FetchContent)
FetchContent_Declare(
Corrosion
GIT_REPOSITORY https://github.com/corrosion-rs/corrosion.git
GIT_TAG v0.5.2
Corrosion
GIT_REPOSITORY https://github.com/corrosion-rs/corrosion.git
GIT_TAG v0.5.2
)

FetchContent_MakeAvailable(Corrosion)

if (APPLE)
if(APPLE)
find_library(SECURITY_FRAMEWORK Security)
find_library(CORE_FOUNDATION_FRAMEWORK CoreFoundation)
endif ()
endif()

# Install clang and libclang for Linux Docker builds. macOS has both of these pre-installed.
if(EXISTS "/.dockerenv")
find_program(YUM_EXEC yum)
if(YUM_EXEC AND NOT INSTALL_SUCCESS)
execute_process(
COMMAND yum install -y clang-devel clang
RESULT_VARIABLE YUM_RESULT
)
COMMAND yum install -y clang-devel clang
RESULT_VARIABLE YUM_RESULT
)
if(YUM_RESULT EQUAL 0)
set(INSTALL_SUCCESS TRUE)
endif()
Expand All @@ -36,19 +39,20 @@ if(EXISTS "/.dockerenv")
find_program(APK_EXEC apk)
if(APK_EXEC AND NOT INSTALL_SUCCESS)
execute_process(
COMMAND apk add --no-cache clang-dev clang
RESULT_VARIABLE APK_RESULT
)
COMMAND apk add --no-cache clang-dev clang
RESULT_VARIABLE APK_RESULT
)
if(APK_RESULT EQUAL 0)
set(INSTALL_SUCCESS TRUE)
endif()
endif()
endif()

corrosion_import_crate(MANIFEST_PATH vortex/Cargo.toml
CRATES vortex-duckdb
CRATE_TYPES staticlib
FLAGS --crate-type=staticlib
corrosion_import_crate(
MANIFEST_PATH vortex/Cargo.toml
CRATES vortex-duckdb
CRATE_TYPES staticlib
FLAGS --crate-type=staticlib
)

include_directories(src/include vortex/vortex-duckdb/include)
Expand All @@ -57,23 +61,27 @@ set(EXTENSION_NAME ${TARGET_NAME}_extension)
set(LOADABLE_EXTENSION_NAME ${TARGET_NAME}_loadable_extension)

build_static_extension(${TARGET_NAME} src/vortex_extension.cpp)
build_loadable_extension(${TARGET_NAME} -warnings src/vortex_extension.cpp)
build_loadable_extension(${TARGET_NAME} "" src/vortex_extension.cpp)

set(VORTEX_WARNING_FLAGS -Wall -Wextra -Wpedantic)

target_compile_options(${EXTENSION_NAME} PRIVATE ${VORTEX_WARNING_FLAGS})
target_link_libraries(${EXTENSION_NAME}
vortex_duckdb-static
${SECURITY_FRAMEWORK}
${CORE_FOUNDATION_FRAMEWORK}
vortex_duckdb-static
${SECURITY_FRAMEWORK}
${CORE_FOUNDATION_FRAMEWORK}
)

target_compile_options(${LOADABLE_EXTENSION_NAME} PRIVATE ${VORTEX_WARNING_FLAGS})
target_link_libraries(${LOADABLE_EXTENSION_NAME}
vortex_duckdb-static
${SECURITY_FRAMEWORK}
${CORE_FOUNDATION_FRAMEWORK}
vortex_duckdb-static
${SECURITY_FRAMEWORK}
${CORE_FOUNDATION_FRAMEWORK}
)

install(
TARGETS ${EXTENSION_NAME}
EXPORT "${DUCKDB_EXPORT_SET}"
LIBRARY DESTINATION "${INSTALL_LIB_DIR}"
ARCHIVE DESTINATION "${INSTALL_LIB_DIR}"
TARGETS ${EXTENSION_NAME}
EXPORT "${DUCKDB_EXPORT_SET}"
LIBRARY DESTINATION "${INSTALL_LIB_DIR}"
ARCHIVE DESTINATION "${INSTALL_LIB_DIR}"
)
2 changes: 1 addition & 1 deletion vortex
Submodule vortex updated 68 files
+18 −1 .github/actions/setup-rust/action.yml
+60 −5 .github/scripts/fuzz_report/templates/new_issue.md
+79 −1 .github/workflows/bench-pr.yml
+1 −1 .github/workflows/bench.yml
+5 −2 .github/workflows/ci.yml
+5 −8 .github/workflows/fuzz.yml
+1 −1 .github/workflows/release-drafter.yml
+31 −10 .github/workflows/run-fuzzer.yml
+3 −3 .github/workflows/sql-benchmarks.yml
+425 −395 Cargo.lock
+1 −1 Cargo.toml
+125 −122 benchmarks-website/package-lock.json
+8 −0 benchmarks-website/server.js
+4 −0 encodings/fsst/Cargo.toml
+259 −0 encodings/fsst/benches/fsst_url_compare.rs
+93 −361 java/testfiles/Cargo.lock
+29 −0 scripts/bench-taskset.sh
+45 −4 scripts/setup-benchmark.sh
+81 −3 vortex-array/benches/expr/case_when_bench.rs
+21 −0 vortex-array/src/arrays/listview/conversion.rs
+2 −1 vortex-array/src/arrays/listview/rebuild.rs
+1 −0 vortex-array/src/canonical.rs
+366 −101 vortex-array/src/scalar_fn/fns/case_when.rs
+69 −26 vortex-array/src/scalar_fn/fns/zip/mod.rs
+98 −0 vortex-bench/src/compress/mod.rs
+2 −1 vortex-cxx/CMakeLists.txt
+2 −1 vortex-cxx/cpp/src/expr.cpp
+0 −3 vortex-cxx/examples/CMakeLists.txt
+0 −3 vortex-duckdb/build.rs
+4 −4 vortex-duckdb/cpp/CMakeLists.txt
+3 −0 vortex-duckdb/cpp/client_context.cpp
+12 −9 vortex-duckdb/cpp/config.cpp
+10 −6 vortex-duckdb/cpp/copy_function.cpp
+3 −0 vortex-duckdb/cpp/data.cpp
+3 −0 vortex-duckdb/cpp/data_chunk.cpp
+3 −0 vortex-duckdb/cpp/error.cpp
+4 −0 vortex-duckdb/cpp/expr.cpp
+3 −0 vortex-duckdb/cpp/file_system.cpp
+4 −0 vortex-duckdb/cpp/include/duckdb_vx/client_context.h
+4 −0 vortex-duckdb/cpp/include/duckdb_vx/config.h
+4 −0 vortex-duckdb/cpp/include/duckdb_vx/data.h
+5 −0 vortex-duckdb/cpp/include/duckdb_vx/data_chunk.h
+26 −0 vortex-duckdb/cpp/include/duckdb_vx/duckdb_diagnostics.h
+5 −0 vortex-duckdb/cpp/include/duckdb_vx/error.hpp
+5 −0 vortex-duckdb/cpp/include/duckdb_vx/file_system.h
+4 −0 vortex-duckdb/cpp/include/duckdb_vx/logical_type.h
+5 −0 vortex-duckdb/cpp/include/duckdb_vx/reusable_dict.h
+4 −0 vortex-duckdb/cpp/include/duckdb_vx/scalar_function.h
+5 −0 vortex-duckdb/cpp/include/duckdb_vx/table_filter.h
+5 −0 vortex-duckdb/cpp/include/duckdb_vx/vector.h
+5 −0 vortex-duckdb/cpp/include/duckdb_vx/vector_buffer.h
+4 −0 vortex-duckdb/cpp/include/duckdb_vx/vector_buffer.hpp
+6 −0 vortex-duckdb/cpp/logical_type.cpp
+4 −0 vortex-duckdb/cpp/object_cache.cpp
+5 −1 vortex-duckdb/cpp/replacement_scan.cpp
+3 −0 vortex-duckdb/cpp/reusable_dict.cpp
+4 −0 vortex-duckdb/cpp/scalar_function.cpp
+6 −1 vortex-duckdb/cpp/table_filter.cpp
+18 −17 vortex-duckdb/cpp/table_function.cpp
+4 −0 vortex-duckdb/cpp/value.cpp
+4 −0 vortex-duckdb/cpp/vector.cpp
+4 −0 vortex-duckdb/cpp/vector_buffer.cpp
+162 −8 vortex-duckdb/src/multi_file.rs
+4 −0 vortex-mask/public-api.lock
+43 −0 vortex-mask/src/bitops.rs
+334 −16 vortex-python/python/vortex/substrait.py
+20 −0 vortex-python/test/test_dataset.py
+52 −0 vortex-python/test/test_expression.py
Loading