├── .clang-format ├── .dockerignore ├── .github ├── CODEOWNERS ├── DIRECTORY.md ├── misc │ ├── README.md │ └── github_actions_override.cmake ├── pull_request_template.md └── workflows │ ├── append-release-cmake.yml │ ├── backport.yml │ ├── build-backwards-compatibility.yml │ ├── build-dockerfile.yml │ ├── build-docs.yml │ ├── build-rtools40.yml │ ├── build-windows.yml │ ├── check-lint.yml │ ├── check-pr-body.yml │ ├── ci-linux_mac.yml │ ├── full-ci-dummy.yml │ ├── full-ci.yml │ ├── mingw-w64-tiledb │ └── PKGBUILD │ ├── nightly-dockerfile.yml │ ├── nightly-test.yml │ ├── prepare-release.yml │ ├── quarto-render.yml │ ├── release.yml │ ├── test-cloud-e2e.yml │ └── unit-test-runs.yml ├── .gitignore ├── .gitlab-ci.yml ├── .readthedocs.yml ├── BUILDING_FROM_SOURCE.md ├── CMakeLists.txt ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── HISTORY.md ├── LICENSE ├── README.md ├── USAGE.md ├── _quarto.yml ├── bootstrap ├── bootstrap.ps1 ├── cmake ├── CIConfig.cmake ├── Modules │ ├── CheckAVX2Support.cmake │ ├── DetectStdPmr.cmake │ ├── Doxygen.cmake │ ├── FindCargo.cmake │ ├── FindCcache.cmake │ ├── FindClangTools.cmake │ ├── FindFilesystem.cmake │ ├── FindLZ4.cmake │ ├── FindLibMagic.cmake │ ├── Format.cmake │ ├── Sanitizer.cmake │ └── TileDBCommon.cmake ├── Options │ ├── BuildOptions.cmake │ └── TileDBToolchain.cmake ├── accumulator.cmake ├── common-lib.cmake ├── common-root.cmake ├── common.cmake ├── environment-this-functions.cmake ├── environment.cmake ├── global-policies.cmake ├── inputs │ ├── Config.cmake.in │ ├── CustomCPackOptions.cmake.in │ ├── DownloadPrebuiltTileDB.cmake │ ├── detect_std_pmr.cc │ ├── tiledb.pc.in │ └── tiledb_win32_verinfo.rc.in ├── object_library.cmake ├── oxidize.cmake ├── package.cmake └── unit_test.cmake ├── doc ├── anaconda.svg ├── dev │ ├── BUILD.md │ └── style │ │ ├── CMake.md │ │ ├── ErrorHandling.md │ │ ├── Functions.md │ │ ├── Memory.md │ │ ├── Serialization.md │ │ ├── Variables.md │ │ └── index.md ├── policy │ └── api_changes.md └── source │ └── _static │ ├── custom.css │ ├── custom.js │ ├── favicon.ico │ ├── tileDB_uppercase_600_112.png │ ├── tileDB_uppercase_white_600_141.png │ ├── tiledb-logo_color_@4x.png │ └── tiledb-logo_color_no_margin_@4x.png ├── examples ├── CMakeLists.txt ├── Dockerfile │ ├── Dockerfile │ ├── centos.dockerfile │ └── rocky.dockerfile ├── c_api │ ├── CMakeLists.txt │ ├── aggregates.c │ ├── array_metadata.c │ ├── as_built.c │ ├── axes_labels.c │ ├── config.c │ ├── current_domain.c │ ├── deletes.c │ ├── encryption.c │ ├── errors.c │ ├── filters.c │ ├── fragment_info.c │ ├── fragments_consolidation.c │ ├── groups.c │ ├── multi_attribute.c │ ├── multi_range_subarray.c │ ├── nullable_attribute.c │ ├── object.c │ ├── query_condition_dense.c │ ├── query_condition_sparse.c │ ├── quickstart_dense.c │ ├── quickstart_dimension_labels.c │ ├── quickstart_sparse.c │ ├── quickstart_sparse_heter.c │ ├── quickstart_sparse_string.c │ ├── reading_dense_layouts.c │ ├── reading_incomplete.c │ ├── reading_sparse_layouts.c │ ├── using_tiledb_stats.c │ ├── variable_length.c │ ├── vfs.c │ ├── writing_dense_global.c │ ├── writing_dense_global_expansion.c │ ├── writing_dense_multiple.c │ ├── writing_dense_padding.c │ ├── writing_sparse_global.c │ └── writing_sparse_multiple.c ├── cmake_project │ ├── CMakeLists.txt │ ├── README.md │ └── src │ │ └── main.cc ├── cpp_api │ ├── CMakeLists.txt │ ├── aggregates.cc │ ├── array_metadata.cc │ ├── array_schema_evolution.cc │ ├── as_built.cc │ ├── axes_labels.cc │ ├── config.cc │ ├── consolidation_plan.cc │ ├── current_domain.cc │ ├── deletes.cc │ ├── encryption.cc │ ├── enumerations.cc │ ├── errors.cc │ ├── filters.cc │ ├── fragment_info.cc │ ├── fragments_consolidation.cc │ ├── groups.cc │ ├── multi_attribute.cc │ ├── multi_range_subarray.cc │ ├── nullable_attribute.cc │ ├── object.cc │ ├── png_ingestion_webp.cc │ ├── profile.cc │ ├── query_condition_dense.cc │ ├── query_condition_sparse.cc │ ├── quickstart_dense.cc │ ├── quickstart_dimension_labels.cc │ ├── quickstart_sparse.cc │ ├── quickstart_sparse_heter.cc │ ├── quickstart_sparse_string.cc │ ├── reading_dense_layouts.cc │ ├── reading_incomplete.cc │ ├── reading_sparse_layouts.cc │ ├── using_tiledb_stats.cc │ ├── variable_length.cc │ ├── vfs.cc │ ├── writing_dense_global.cc │ ├── writing_dense_global_expansion.cc │ ├── writing_dense_multiple.cc │ ├── writing_dense_padding.cc │ ├── writing_sparse_global.cc │ └── writing_sparse_multiple.cc ├── figures │ ├── dense_contents.png │ ├── dense_schema.png │ ├── dense_subarray.png │ ├── dense_write_ordered_subarray.png │ ├── dense_write_subarray.png │ ├── dense_write_unordered.png │ ├── sparse_contents.png │ ├── sparse_schema.png │ └── sparse_subarray.png └── png_ingestion │ ├── CMakeLists.txt │ ├── README.md │ └── src │ └── main.cc ├── experimental ├── CMakeLists.txt ├── experimental_examples │ ├── CMakeLists.txt │ └── cpp_api │ │ ├── CMakeLists.txt │ │ ├── global_order_write_s3_buffering.cc │ │ ├── taskgraph_filtering.cc │ │ └── taskgraph_inmemory_filtering.cc ├── test │ └── compile_experimental_main.cc └── tiledb │ ├── CMakeLists.txt │ └── common │ ├── CMakeLists.txt │ └── dag │ ├── CMakeLists.txt │ ├── data_block │ ├── CMakeLists.txt │ ├── data_block.cc │ ├── data_block.h │ ├── pool_allocator.cc │ ├── pool_allocator.h │ └── test │ │ ├── CMakeLists.txt │ │ ├── compile_data_block_main.cc │ │ ├── compile_pool_allocator_main.cc │ │ ├── main.cc │ │ ├── unit_blocks_and_ports.cc │ │ ├── unit_data_block.cc │ │ ├── unit_data_block.h │ │ ├── unit_pool_allocator.cc │ │ └── unit_pool_allocator.h │ ├── doc │ ├── glossary.md │ └── miscellaneous.md │ ├── edge │ ├── CMakeLists.txt │ ├── edge.cc │ ├── edge.h │ └── test │ │ ├── CMakeLists.txt │ │ ├── compile_block_edge_main.cc │ │ ├── compile_edge_main.cc │ │ ├── main.cc │ │ ├── unit_block_edge.cc │ │ ├── unit_block_edge.h │ │ ├── unit_edge.cc │ │ ├── unit_edge.h │ │ ├── unit_edge_pseudo_nodes.cc │ │ └── unit_edge_pseudo_nodes.h │ ├── execution │ ├── CMakeLists.txt │ ├── bountiful.cc │ ├── bountiful.h │ ├── duffs.cc │ ├── duffs.h │ ├── frugal.cc │ ├── frugal.h │ ├── task.cc │ ├── task.h │ ├── task_state_machine.cc │ ├── task_state_machine.h │ ├── task_traits.h │ ├── test │ │ ├── CMakeLists.txt │ │ ├── compile_bountiful_main.cc │ │ ├── compile_duffs_main.cc │ │ ├── compile_execution_main.cc │ │ ├── compile_frugal_main.cc │ │ ├── compile_task_state_machine_main.cc │ │ ├── compile_threadpool_main.cc │ │ ├── compile_throw_catch_main.cc │ │ ├── compile_throw_catch_tasks_main.cc │ │ ├── main.cc │ │ ├── unit_duffs.cc │ │ ├── unit_duffs.h │ │ ├── unit_frugal.cc │ │ ├── unit_frugal.h │ │ ├── unit_scheduler.cc │ │ ├── unit_scheduler.h │ │ ├── unit_scheduler_sieve.cc │ │ ├── unit_task_state_machine.cc │ │ ├── unit_task_state_machine.h │ │ ├── unit_tasks.cc │ │ ├── unit_tasks.h │ │ ├── unit_threadpool.cc │ │ └── unit_threadpool.h │ ├── threadpool.cc │ ├── threadpool.h │ ├── throw_catch.cc │ ├── throw_catch.h │ └── throw_catch_types.h │ ├── graph │ ├── CMakeLists.txt │ ├── taskgraph.cc │ ├── taskgraph.h │ └── test │ │ ├── CMakeLists.txt │ │ ├── compile_taskgraph_main.cc │ │ ├── main.cc │ │ ├── unit_graph_sieve.cc │ │ ├── unit_mimo_taskgraph.cc │ │ ├── unit_taskgraph.cc │ │ └── unit_taskgraph.h │ ├── nodes │ ├── CMakeLists.txt │ ├── detail │ │ ├── segmented │ │ │ ├── consumer.h │ │ │ ├── edge_node_ctad.h │ │ │ ├── function.h │ │ │ ├── mimo.h │ │ │ ├── producer.h │ │ │ ├── segmented_base.h │ │ │ └── segmented_fwd.h │ │ └── simple │ │ │ ├── consumer.h │ │ │ ├── function.h │ │ │ ├── mimo.h │ │ │ ├── producer.h │ │ │ └── simple_base.h │ ├── doc │ │ ├── api.md │ │ ├── mimo_node.pdf │ │ ├── mimo_node.png │ │ ├── mimo_node.svg │ │ │ ├── API 2022-09-22.svg │ │ │ ├── image36.pdf │ │ │ ├── image37.pdf │ │ │ ├── image38.pdf │ │ │ ├── image42.pdf │ │ │ ├── image43.pdf │ │ │ └── image44.pdf │ │ ├── simple_node.pdf │ │ ├── simple_node.png │ │ └── simple_node.svg │ │ │ ├── API 2022-09-22.svg │ │ │ ├── image28.pdf │ │ │ ├── image29.pdf │ │ │ ├── image30.pdf │ │ │ ├── image31.pdf │ │ │ └── image32.pdf │ ├── generators.h │ ├── node_traits.h │ ├── nodes.h │ ├── segmented_nodes.cc │ ├── segmented_nodes.h │ ├── simple_nodes.cc │ ├── simple_nodes.h │ ├── terminals.h │ └── test │ │ ├── CMakeLists.txt │ │ ├── compile_general_nodes_main.cc │ │ ├── compile_nodes_main.cc │ │ ├── compile_segmented_mimo_nodes.cc │ │ ├── compile_segmented_nodes_main.cc │ │ ├── compile_simple_nodes_main.cc │ │ ├── main.cc │ │ ├── unit_general_nodes.cc │ │ ├── unit_general_nodes.h │ │ ├── unit_nodes_concurrency.cc │ │ ├── unit_nodes_concurrency.h │ │ ├── unit_nodes_sieve.cc │ │ ├── unit_segmented_mimo_nodes.cc │ │ ├── unit_segmented_mimo_nodes.h │ │ ├── unit_segmented_nodes.cc │ │ ├── unit_segmented_nodes.h │ │ ├── unit_simple_nodes.cc │ │ ├── unit_simple_nodes.h │ │ ├── unit_stop_source.cc │ │ ├── unit_stop_source.h │ │ ├── unit_util_functions.cc │ │ └── unit_util_functions.h │ ├── ports │ ├── CMakeLists.txt │ ├── ports.cc │ ├── ports.h │ └── test │ │ ├── CMakeLists.txt │ │ ├── compile_ports_main.cc │ │ ├── compile_pseudo_nodes_main.cc │ │ ├── main.cc │ │ ├── pseudo_nodes.cc │ │ ├── pseudo_nodes.h │ │ ├── unit_concurrency.cc │ │ ├── unit_concurrency.h │ │ ├── unit_ports.cc │ │ ├── unit_ports.h │ │ ├── unit_ports_sieve.cc │ │ ├── unit_pseudo_nodes.cc │ │ └── unit_pseudo_nodes.h │ ├── state_machine │ ├── CMakeLists.txt │ ├── doc │ │ ├── fsm2.md │ │ ├── sink_state_machine.svg │ │ ├── source_state_machine.svg │ │ ├── stop2.md │ │ ├── two_stage.svg │ │ └── two_stage_with_stop.svg │ ├── fsm.cc │ ├── fsm.h │ ├── fsm_types.h │ ├── item_mover.h │ ├── policies.h │ └── test │ │ ├── CMakeLists.txt │ │ ├── compile_fsm_main.cc │ │ ├── compile_item_mover_main.cc │ │ ├── compile_policies_main.cc │ │ ├── helpers.h │ │ ├── main.cc │ │ ├── types.h │ │ ├── unit_fsm.cc │ │ ├── unit_fsm.h │ │ ├── unit_item_mover.cc │ │ ├── unit_item_mover.h │ │ ├── unit_policies.cc │ │ ├── unit_policies.h │ │ ├── unit_proof.cc │ │ ├── unit_proof.h │ │ ├── unit_sched.cc │ │ ├── unit_sched.h │ │ ├── unit_stop.cc │ │ └── unit_stop.h │ └── utility │ ├── CMakeLists.txt │ ├── bounded_buffer.cc │ ├── bounded_buffer.h │ ├── concurrent_map.cc │ ├── concurrent_map.h │ ├── concurrent_set.cc │ ├── concurrent_set.h │ ├── print_types.h │ ├── range_join.cc │ ├── range_join.h │ ├── spinlock.cc │ ├── spinlock.h │ ├── test │ ├── CMakeLists.txt │ ├── compile_bounded_buffer_main.cc │ ├── compile_concurrent_map_main.cc │ ├── compile_concurrent_set_main.cc │ ├── compile_range_join_main.cc │ ├── compile_spinlock_main.cc │ ├── compile_utils_main.cc │ ├── main.cc │ ├── unit_bounded_buffer.cc │ ├── unit_bounded_buffer.h │ ├── unit_concurrent_map.cc │ ├── unit_concurrent_map.h │ ├── unit_concurrent_set.cc │ ├── unit_concurrent_set.h │ ├── unit_range_join.cc │ ├── unit_range_join.h │ ├── unit_spinlock.cc │ └── unit_spinlock.h │ └── traits.h ├── external ├── blosc │ ├── CMakeLists.txt │ ├── LICENSE │ ├── README-VERSIONS.md │ ├── cmake │ │ ├── detect-avx2.c │ │ └── detect-sse2.c │ ├── include │ │ ├── bitshuffle-generic.h │ │ ├── blosc-common.h │ │ ├── blosc-comp-features.h │ │ ├── blosc-export.h │ │ ├── initialize-shuffle.h │ │ ├── shuffle-avx2.h │ │ ├── shuffle-generic.h │ │ ├── shuffle-sse2.h │ │ └── shuffle.h │ └── src │ │ ├── bitshuffle-stub.c │ │ ├── shuffle-avx2.c │ │ ├── shuffle-generic.c │ │ ├── shuffle-sse2.c │ │ ├── shuffle.c │ │ └── win32 │ │ ├── pthread.c │ │ ├── pthread.h │ │ └── stdint-windows.h ├── include │ ├── bitshuffle │ │ ├── LICENSE │ │ ├── bitshuffle_core.h │ │ ├── bitshuffle_internals.h │ │ └── iochain.h │ ├── blosc │ │ └── tiledb-shuffle.h │ ├── boost │ │ └── interprocess │ │ │ └── streams │ │ │ └── bufferstream.hpp │ ├── nlohmann │ │ └── json.hpp │ └── span │ │ └── span.hpp └── src │ └── bitshuffle │ ├── bitshuffle_core.cc │ └── iochain.cc ├── format_spec ├── FORMAT_SPEC.md ├── array_file_hierarchy.md ├── array_format_history.md ├── array_schema.md ├── consolidated_commits_file.md ├── consolidated_fragment_metadata_file.md ├── current_domain.md ├── delete_commit_file.md ├── enumeration.md ├── figures │ └── bgra_layout.png ├── filter_pipeline.md ├── filters │ ├── delta.md │ ├── dictionary_encoding.md │ ├── double_delta.md │ ├── float_scale.md │ ├── webp.md │ └── xor.md ├── fragment.md ├── generic_tile.md ├── group.md ├── group_file_hierarchy.md ├── ignore_file.md ├── metadata.md ├── tile.md ├── timestamped_name.md ├── update_commit_file.md └── vacuum_file.md ├── index.md ├── ports ├── README.md ├── aws-c-cal │ ├── portfile.cmake │ ├── remove-libcrypto-messages.patch │ └── vcpkg.json ├── aws-sdk-cpp │ ├── find-dependency.patch │ ├── fix-aws-root.patch │ ├── fix-wininet-http2.patch │ ├── fix-winsock-headers.patch │ ├── fix_find_curl.patch │ ├── generateFeatures.ps1 │ ├── lock-curl-http-and-tls-settings.patch │ ├── portfile.cmake │ ├── usage │ ├── vcpkg.in.json │ └── vcpkg.json ├── capnproto │ ├── fix_cmake_4.0.patch │ ├── portfile.cmake │ ├── undef-KJ_USE_EPOLL-for-ANDROID_PLATFORM-23.patch │ └── vcpkg.json ├── crc32c │ ├── fix_clang-cl.patch │ ├── fix_cmake_4.0.patch │ ├── portfile.cmake │ └── vcpkg.json ├── fmt │ ├── fix-write-batch.patch │ ├── portfile.cmake │ ├── usage │ └── vcpkg.json ├── libfaketime │ ├── CMakeLists.txt │ ├── portfile.cmake │ └── vcpkg.json ├── libmagic │ ├── 0001-Use-pcre2.patch │ ├── 0003-Fix-WIN32-macro-checks.patch │ ├── 0004-Typedef-POSIX-types-on-Windows.patch │ ├── 0005-Include-dirent.h-for-S_ISREG-and-S_ISDIR.patch │ ├── 0006-Remove-Wrap-POSIX-headers.patch │ ├── 0007-Substitute-unistd-macros-for-MSVC.patch │ ├── 0008-Add-FILENO-defines.patch │ ├── 0010-Properly-check-for-the-presence-of-bitmasks.patch │ ├── 0011-Remove-pipe-related-functions-in-funcs.c.patch │ ├── 0015-MSYS2-Remove-ioctl-call.patch │ ├── CMakeLists.txt │ ├── config.h │ ├── magic.def │ ├── portfile.cmake │ ├── unofficial-libmagic-config.cmake.in │ ├── usage │ └── vcpkg.json ├── s2n │ ├── fix-cmake-target-path.patch │ ├── fix_cmake_4.0.patch │ ├── openssl.patch │ ├── portfile.cmake │ └── vcpkg.json ├── spdlog │ ├── portfile.cmake │ ├── usage │ └── vcpkg.json └── triplets │ ├── arm64-linux-asan.cmake │ ├── arm64-linux-release.cmake │ ├── arm64-linux-relwithdebinfo.cmake │ ├── arm64-linux.cmake │ ├── arm64-osx-asan.cmake │ ├── arm64-osx-release.cmake │ ├── arm64-osx-relwithdebinfo.cmake │ ├── arm64-osx.cmake │ ├── x64-linux-asan.cmake │ ├── x64-linux-release.cmake │ ├── x64-linux-relwithdebinfo.cmake │ ├── x64-linux.cmake │ ├── x64-mingw-static-release.cmake │ ├── x64-osx-asan.cmake │ ├── x64-osx-release.cmake │ ├── x64-osx-relwithdebinfo.cmake │ ├── x64-osx.cmake │ ├── x64-windows-asan.cmake │ ├── x64-windows-release.cmake │ ├── x64-windows.cmake │ └── x86-mingw-static-release.cmake ├── quarto-materials ├── tiledb-logo.png ├── tiledb.css └── tiledb.scss ├── scripts ├── ci │ ├── bootstrap_libtiledb.sh │ ├── build_benchmarks.sh │ ├── build_libtiledb.sh │ ├── check_formatting_linux.sh │ ├── patch_vcpkg_triplets.py │ ├── posix │ │ ├── DIRECTORY.md │ │ ├── build-services-start.sh │ │ ├── build-services-stop.sh │ │ ├── dump-core-stacks.sh │ │ ├── prelim.sh │ │ └── print-env.sh │ └── print_logs.sh ├── install-azurite.sh ├── install-clangformat.sh ├── install-gcs-emu.sh ├── install-minio.ps1 ├── install-minio.sh ├── install-run-azurite.ps1 ├── install-run-gcs-emu.ps1 ├── linter.py ├── markdown-link-prs.sh ├── parse_pr.py ├── prepare_release.py ├── run-azurite.ps1 ├── run-azurite.sh ├── run-clang-format.sh ├── run-gcs-emu.sh ├── run-minio.sh ├── run-nix-examples.sh ├── run-ssl-proxy.py └── update-copyrights.sh ├── test ├── CMakeLists.txt ├── benchmarking │ ├── README.md │ ├── benchmark.py │ └── src │ │ ├── CMakeLists.txt │ │ ├── bench_dense_attribute_filtering.cc │ │ ├── bench_dense_read_large_tile.cc │ │ ├── bench_dense_read_small_tile.cc │ │ ├── bench_dense_tile_cache.cc │ │ ├── bench_dense_write_large_tile.cc │ │ ├── bench_dense_write_small_tile.cc │ │ ├── bench_large_io.cc │ │ ├── bench_reader_base_unfilter_tile.cc │ │ ├── bench_sparse_read_large_tile.cc │ │ ├── bench_sparse_read_small_tile.cc │ │ ├── bench_sparse_tile_cache.cc │ │ ├── bench_sparse_write_large_tile.cc │ │ ├── bench_sparse_write_small_tile.cc │ │ ├── benchmark.cc │ │ └── benchmark.h ├── ci │ ├── CMakeLists.txt │ ├── test_assert.cc │ └── try_assert.cc ├── inputs │ ├── arrays │ │ ├── dense_array_v1_3_0 │ │ │ ├── __array_schema.tdb │ │ │ ├── __b4cae15e1a294904a1296510c34f19ec_1538747712566 │ │ │ │ ├── __fragment_metadata.tdb │ │ │ │ └── a.tdb │ │ │ └── __lock.tdb │ │ ├── experimental_array_vUINT32_MAX │ │ │ ├── __fragments │ │ │ │ ├── __1657562300109_1657562300109_8dc3a927a28e445080d5dfd288825e1d_4294967295.ok │ │ │ │ └── __1657562300109_1657562300109_8dc3a927a28e445080d5dfd288825e1d_4294967295 │ │ │ │ │ ├── __fragment_metadata.tdb │ │ │ │ │ └── a0.tdb │ │ │ └── __schema │ │ │ │ └── __1657562300107_1657562300107_634feb310ce6426796198decd5dbddbf │ │ ├── non_split_coords_v1_4_0 │ │ │ ├── __5dc2cc9cce204a189f825fd4919d0c55_1541540586869 │ │ │ │ ├── __coords.tdb │ │ │ │ ├── __fragment_metadata.tdb │ │ │ │ └── a.tdb │ │ │ ├── __array_schema.tdb │ │ │ └── __lock.tdb │ │ ├── sparse_array_v11 │ │ │ └── __schema │ │ │ │ └── __1646080196909_1646080196909_295490b3104f401e943c4a7a58143d3a │ │ └── zero_var_chunks_v10 │ │ │ ├── __1693562063524_1693562063524_0fcdefaa40d34ff2a4b09153472fbdc2_10.ok │ │ │ ├── __1693562063524_1693562063524_0fcdefaa40d34ff2a4b09153472fbdc2_10 │ │ │ ├── __fragment_metadata.tdb │ │ │ ├── a0.tdb │ │ │ ├── d0.tdb │ │ │ └── d0_var.tdb │ │ │ ├── __lock.tdb │ │ │ └── __schema │ │ │ └── __1693562063520_1693562063520_87f6551825c94139b3000f0d6b7c0ac0 │ ├── files │ │ ├── .gitattributes │ │ ├── fake_gz.gz │ │ ├── quickstart_dense.csv.gz │ │ └── text.txt │ ├── groups │ │ └── group_v1 │ │ │ ├── __group │ │ │ └── __1708362383727_1708362383727_a464f3a3a7e740c8856a476ee4c66ce1 │ │ │ ├── __tiledb_group.tdb │ │ │ └── subgroup1 │ │ │ └── __tiledb_group.tdb │ └── test_certs │ │ ├── 2ec8ef2c.0 │ │ ├── private.key │ │ └── public.crt ├── packaging │ └── CMakeLists.txt ├── performance │ ├── CMakeLists.txt │ ├── msys_handle_leakage │ │ ├── notes.txt │ │ ├── trials.bat │ │ ├── trials.sh │ │ ├── unit-cppapi-consolidation-with-timestamps.cc │ │ └── unit.cc │ └── tiledb_submit_a_b.cc ├── regression │ ├── CMakeLists.txt │ ├── regression.cc │ └── targets │ │ ├── sc-12024.cc │ │ ├── sc-15387.cc │ │ ├── sc-18250.cc │ │ ├── sc-18836.cc │ │ ├── sc-23712.cc │ │ ├── sc-24079.cc │ │ ├── sc-25116.cc │ │ ├── sc-29682.cc │ │ ├── sc-33480.cc │ │ ├── sc-35424.cc │ │ ├── sc-36372.cc │ │ ├── sc-38300.cc │ │ ├── sc-44758.cc │ │ ├── sc-48428.cc │ │ ├── sc-52975.cc │ │ ├── sc-53334.cc │ │ ├── sc-53791.cc │ │ ├── sc-53970.cc │ │ ├── sc-54473.cc │ │ └── sc-64121.cc ├── src │ ├── cpp-integration-filter-pipeline.cc │ ├── cpp-integration-query-condition.cc │ ├── test-capi-array-many-dimension-labels.cc │ ├── test-capi-array-write-ordered-attr-fixed.cc │ ├── test-capi-array-write-ordered-attr-var.cc │ ├── test-capi-consolidation-plan.cc │ ├── test-capi-dense-array-dimension-label-var.cc │ ├── test-capi-dense-array-dimension-label.cc │ ├── test-capi-dimension-label-encrypted.cc │ ├── test-capi-dimension-label.cc │ ├── test-capi-query-error-handling.cc │ ├── test-capi-sparse-array-dimension-label.cc │ ├── test-capi-subarray-labels.cc │ ├── test-cppapi-aggregates.cc │ ├── test-cppapi-consolidation-plan.cc │ ├── test-cppapi-current-domain.cc │ ├── test-cppapi-dense-array-dimension-label.cc │ ├── test-cppapi-dimension-label.cc │ ├── test-cppapi-ndrectangle.cc │ ├── test-cppapi-subarray-labels.cc │ ├── unit-CellSlabIter.cc │ ├── unit-DenseTiler.cc │ ├── unit-QueryCondition-serialization.cc │ ├── unit-ReadCellSlabIter.cc │ ├── unit-Reader.cc │ ├── unit-Subarray.cc │ ├── unit-SubarrayPartitioner-dense.cc │ ├── unit-SubarrayPartitioner-error.cc │ ├── unit-SubarrayPartitioner-sparse.cc │ ├── unit-arrow.cc │ ├── unit-average-cell-size.cc │ ├── unit-backwards_compat.cc │ ├── unit-capi-any.cc │ ├── unit-capi-array.cc │ ├── unit-capi-array_schema.cc │ ├── unit-capi-as_built.cc │ ├── unit-capi-attributes.cc │ ├── unit-capi-config.cc │ ├── unit-capi-consolidation.cc │ ├── unit-capi-context.cc │ ├── unit-capi-dense_array.cc │ ├── unit-capi-dense_array_2.cc │ ├── unit-capi-dense_neg.cc │ ├── unit-capi-dense_vector.cc │ ├── unit-capi-enum_values.cc │ ├── unit-capi-enumerations.cc │ ├── unit-capi-error.cc │ ├── unit-capi-filestore.cc │ ├── unit-capi-fill_values.cc │ ├── unit-capi-filter.cc │ ├── unit-capi-fragment_info.cc │ ├── unit-capi-group.cc │ ├── unit-capi-incomplete-2.cc │ ├── unit-capi-incomplete.cc │ ├── unit-capi-metadata.cc │ ├── unit-capi-nullable.cc │ ├── unit-capi-object_mgmt.cc │ ├── unit-capi-partial-attribute-write.cc │ ├── unit-capi-query.cc │ ├── unit-capi-query_2.cc │ ├── unit-capi-rest-dense_array.cc │ ├── unit-capi-serialized_queries.cc │ ├── unit-capi-smoke-test.cc │ ├── unit-capi-sparse_array.cc │ ├── unit-capi-sparse_heter.cc │ ├── unit-capi-sparse_neg.cc │ ├── unit-capi-sparse_neg_2.cc │ ├── unit-capi-sparse_real.cc │ ├── unit-capi-sparse_real_2.cc │ ├── unit-capi-stats.cc │ ├── unit-capi-string.cc │ ├── unit-capi-string_dims.cc │ ├── unit-capi-subarray_2.cc │ ├── unit-capi-update-queries.cc │ ├── unit-capi-uri.cc │ ├── unit-capi-version.cc │ ├── unit-capi-vfs.cc │ ├── unit-compression-dd.cc │ ├── unit-compression-delta.cc │ ├── unit-compression-rle.cc │ ├── unit-cppapi-array.cc │ ├── unit-cppapi-checksum.cc │ ├── unit-cppapi-config.cc │ ├── unit-cppapi-consolidation-sparse.cc │ ├── unit-cppapi-consolidation-with-timestamps.cc │ ├── unit-cppapi-consolidation.cc │ ├── unit-cppapi-datetimes.cc │ ├── unit-cppapi-deletes.cc │ ├── unit-cppapi-dense-qc-coords-mode.cc │ ├── unit-cppapi-enumerations.cc │ ├── unit-cppapi-fill_values.cc │ ├── unit-cppapi-filter.cc │ ├── unit-cppapi-float-scaling-filter.cc │ ├── unit-cppapi-fragment_info.cc │ ├── unit-cppapi-global-order-writes-remote.cc │ ├── unit-cppapi-group.cc │ ├── unit-cppapi-hilbert.cc │ ├── unit-cppapi-incomplete-var.cc │ ├── unit-cppapi-max-fragment-size.cc │ ├── unit-cppapi-metadata.cc │ ├── unit-cppapi-nullable.cc │ ├── unit-cppapi-partial-attribute-write.cc │ ├── unit-cppapi-profile.cc │ ├── unit-cppapi-query-condition-enumerations.cc │ ├── unit-cppapi-query-condition-sets.cc │ ├── unit-cppapi-query-condition.cc │ ├── unit-cppapi-query.cc │ ├── unit-cppapi-schema-evolution.cc │ ├── unit-cppapi-schema.cc │ ├── unit-cppapi-stats.cc │ ├── unit-cppapi-string-dims.cc │ ├── unit-cppapi-subarray.cc │ ├── unit-cppapi-time.cc │ ├── unit-cppapi-type.cc │ ├── unit-cppapi-update-queries.cc │ ├── unit-cppapi-updates.cc │ ├── unit-cppapi-util.cc │ ├── unit-cppapi-var-offsets.cc │ ├── unit-cppapi-vfs.cc │ ├── unit-cppapi-webp-filter.cc │ ├── unit-cppapi-xor-filter.cc │ ├── unit-ctx.cc │ ├── unit-curl.cc │ ├── unit-current-domain-rest.cc │ ├── unit-dense-global-order-reader.cc │ ├── unit-dense-reader.cc │ ├── unit-dimension.cc │ ├── unit-duplicates.cc │ ├── unit-empty-var-length.cc │ ├── unit-enum-helpers.cc │ ├── unit-enumerations.cc │ ├── unit-filter-buffer.cc │ ├── unit-filter-serialization.cc │ ├── unit-global-order.cc │ ├── unit-ordered-dim-label-reader.cc │ ├── unit-query-plan.cc │ ├── unit-request-handlers.cc │ ├── unit-resource-pool.cc │ ├── unit-rest-client-remote.cc │ ├── unit-rest-enumerations.cc │ ├── unit-result-coords.cc │ ├── unit-result-tile.cc │ ├── unit-s3.cc │ ├── unit-sparse-global-order-reader.cc │ ├── unit-sparse-unordered-with-dups-reader.cc │ ├── unit-ssl-config.cc │ ├── unit-tile-metadata-generator.cc │ ├── unit-tile-metadata.cc │ ├── unit-vfs.cc │ ├── unit-win-filesystem.cc │ ├── unit.cc │ └── unit_arrow.py └── support │ ├── CMakeLists.txt │ ├── assert_helpers.h │ ├── catch │ └── array_schema.h │ ├── rapidcheck │ ├── array_templates.h │ ├── datatype.h │ ├── query_condition.h │ ├── show.cc │ ├── show.h │ ├── show_datatype.cc │ └── show_templates.h │ ├── src │ ├── array_helpers.cc │ ├── array_helpers.h │ ├── array_schema_helpers.cc │ ├── array_schema_helpers.h │ ├── array_templates.h │ ├── ast_helpers.cc │ ├── ast_helpers.h │ ├── coords_workaround.h │ ├── error_helpers.h │ ├── helper_type.h │ ├── helpers-dimension.h │ ├── helpers.cc │ ├── helpers.h │ ├── mem_helpers.cc │ ├── mem_helpers.h │ ├── serialization_wrappers.cc │ ├── serialization_wrappers.h │ ├── stats.cc │ ├── stats.h │ ├── tdb_catch_main.cc │ ├── temporary_local_directory.cc │ ├── temporary_local_directory.h │ ├── vfs_helpers.cc │ ├── vfs_helpers.h │ └── whitebox_helpers.h │ ├── stdx │ ├── fold.h │ ├── optional.h │ └── tuple.h │ ├── tdb_catch.h │ ├── tdb_catch_prng.cc │ ├── tdb_catch_prng.h │ ├── tdb_rapidcheck.h │ └── test │ ├── CMakeLists.txt │ ├── compile_mem_helpers_main.cc │ ├── compile_tdb_catch_main.cc │ └── unit_tdb_catch.cc ├── tiledb ├── CMakeLists.txt ├── api │ ├── CMakeLists.txt │ ├── C_API_STRUCTURE.md │ ├── DIRECTORY.md │ ├── c_api │ │ ├── CMakeLists.txt │ │ ├── DIRECTORY.md │ │ ├── api_external_common.h │ │ ├── array │ │ │ ├── CMakeLists.txt │ │ │ ├── array_api.cc │ │ │ ├── array_api_experimental.h │ │ │ ├── array_api_external.h │ │ │ ├── array_api_internal.h │ │ │ ├── encryption_type_enum.h │ │ │ └── test │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── compile_capi_array_stub_main.cc │ │ │ │ └── unit_capi_array.cc │ │ ├── array_schema │ │ │ ├── CMakeLists.txt │ │ │ ├── array_schema_api.cc │ │ │ ├── array_schema_api_deprecated.h │ │ │ ├── array_schema_api_experimental.h │ │ │ ├── array_schema_api_external.h │ │ │ ├── array_schema_api_internal.h │ │ │ ├── array_type_enum.h │ │ │ ├── layout_enum.h │ │ │ └── test │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── compile_capi_array_schema_stub_main.cc │ │ │ │ └── unit_capi_array_schema.cc │ │ ├── array_schema_evolution │ │ │ ├── array_schema_evolution_api_experimental.h │ │ │ └── array_schema_evolution_api_internal.h │ │ ├── attribute │ │ │ ├── CMakeLists.txt │ │ │ ├── attribute_api.cc │ │ │ ├── attribute_api_external.h │ │ │ ├── attribute_api_external_experimental.h │ │ │ ├── attribute_api_internal.h │ │ │ └── test │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── compile_capi_attribute_stub_main.cc │ │ │ │ └── unit_capi_attribute.cc │ │ ├── buffer │ │ │ ├── CMakeLists.txt │ │ │ ├── buffer_api.cc │ │ │ ├── buffer_api_external.h │ │ │ ├── buffer_api_internal.h │ │ │ └── test │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── compile_capi_buffer_stub_main.cc │ │ │ │ └── unit_capi_buffer.cc │ │ ├── buffer_list │ │ │ ├── CMakeLists.txt │ │ │ ├── buffer_list_api.cc │ │ │ ├── buffer_list_api_external.h │ │ │ ├── buffer_list_api_internal.h │ │ │ └── test │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── compile_capi_buffer_list_stub_main.cc │ │ │ │ └── unit_capi_buffer_list.cc │ │ ├── config │ │ │ ├── CMakeLists.txt │ │ │ ├── config_api.cc │ │ │ ├── config_api_external.h │ │ │ ├── config_api_internal.h │ │ │ └── test │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── compile_capi_config_stub_main.cc │ │ │ │ └── unit_capi_config.cc │ │ ├── context │ │ │ ├── CMakeLists.txt │ │ │ ├── context_api.cc │ │ │ ├── context_api_experimental.h │ │ │ ├── context_api_external.h │ │ │ ├── context_api_internal.h │ │ │ └── test │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── compile_capi_context_stub_main.cc │ │ │ │ └── unit_capi_context.cc │ │ ├── current_domain │ │ │ ├── CMakeLists.txt │ │ │ ├── current_domain_api.cc │ │ │ ├── current_domain_api_enum.h │ │ │ ├── current_domain_api_external_experimental.h │ │ │ ├── current_domain_api_internal.h │ │ │ └── test │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── compile_capi_current_domain_main.cc │ │ │ │ └── unit_capi_current_domain.cc │ │ ├── data_order │ │ │ ├── CMakeLists.txt │ │ │ ├── data_order_api.cc │ │ │ ├── data_order_api_enum.h │ │ │ ├── data_order_api_external.h │ │ │ └── test │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── compile_capi_data_order_main.cc │ │ │ │ └── unit_capi_data_order.cc │ │ ├── datatype │ │ │ ├── CMakeLists.txt │ │ │ ├── datatype_api.cc │ │ │ ├── datatype_api_enum.h │ │ │ ├── datatype_api_external.h │ │ │ └── test │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── compile_capi_datatype_main.cc │ │ │ │ └── unit_capi_datatype.cc │ │ ├── dimension │ │ │ ├── CMakeLists.txt │ │ │ ├── dimension_api.cc │ │ │ ├── dimension_api_external.h │ │ │ ├── dimension_api_internal.h │ │ │ └── test │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── compile_capi_dimension_stub_main.cc │ │ │ │ └── unit_capi_dimension.cc │ │ ├── dimension_label │ │ │ ├── CMakeLists.txt │ │ │ ├── dimension_label_api.cc │ │ │ ├── dimension_label_api_external.h │ │ │ ├── dimension_label_api_internal.h │ │ │ └── test │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── compile_capi_dimension_label_stub_main.cc │ │ │ │ └── unit_capi_dimension_label.cc │ │ ├── domain │ │ │ ├── CMakeLists.txt │ │ │ ├── domain_api.cc │ │ │ ├── domain_api_external.h │ │ │ ├── domain_api_internal.h │ │ │ └── test │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── compile_capi_domain_stub_main.cc │ │ │ │ └── unit_capi_domain.cc │ │ ├── enumeration │ │ │ ├── CMakeLists.txt │ │ │ ├── enumeration_api.cc │ │ │ ├── enumeration_api_experimental.h │ │ │ ├── enumeration_api_internal.h │ │ │ └── test │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── compile_capi_enumeration_stub_main.cc │ │ │ │ └── unit_capi_enumeration.cc │ │ ├── error │ │ │ ├── CMakeLists.txt │ │ │ ├── error_api.cc │ │ │ ├── error_api_external.h │ │ │ ├── error_api_internal.h │ │ │ └── test │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── compile_capi_error_main.cc │ │ │ │ └── unit_capi_error.cc │ │ ├── filesystem │ │ │ ├── CMakeLists.txt │ │ │ ├── filesystem_api.cc │ │ │ ├── filesystem_api_enum.h │ │ │ ├── filesystem_api_external.h │ │ │ └── test │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── compile_capi_filesystem_main.cc │ │ │ │ └── unit_capi_filesystem.cc │ │ ├── filter │ │ │ ├── CMakeLists.txt │ │ │ ├── filter_api.cc │ │ │ ├── filter_api_enum.h │ │ │ ├── filter_api_external.h │ │ │ ├── filter_api_internal.h │ │ │ └── test │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── compile_capi_filter_stub_main.cc │ │ │ │ └── unit_capi_filter.cc │ │ ├── filter_list │ │ │ ├── CMakeLists.txt │ │ │ ├── filter_list_api.cc │ │ │ ├── filter_list_api_external.h │ │ │ ├── filter_list_api_internal.h │ │ │ └── test │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── compile_capi_filter_list_stub_main.cc │ │ │ │ └── unit_capi_filter_list.cc │ │ ├── fragment_info │ │ │ ├── CMakeLists.txt │ │ │ ├── fragment_info_api.cc │ │ │ ├── fragment_info_api_experimental.h │ │ │ ├── fragment_info_api_external.h │ │ │ ├── fragment_info_api_internal.h │ │ │ └── test │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── compile_capi_fragment_info_stub_main.cc │ │ │ │ └── unit_capi_fragment_info.cc │ │ ├── group │ │ │ ├── CMakeLists.txt │ │ │ ├── group_api.cc │ │ │ ├── group_api_external.h │ │ │ ├── group_api_internal.h │ │ │ └── test │ │ │ │ └── compile_capi_group_main.cc │ │ ├── ndrectangle │ │ │ ├── CMakeLists.txt │ │ │ ├── ndrectangle_api.cc │ │ │ ├── ndrectangle_api_external_experimental.h │ │ │ ├── ndrectangle_api_internal.h │ │ │ └── test │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── compile_capi_ndrectangle_main.cc │ │ │ │ └── unit_capi_ndrectangle.cc │ │ ├── object │ │ │ ├── CMakeLists.txt │ │ │ ├── object_api.cc │ │ │ ├── object_api_enum.h │ │ │ ├── object_api_external.h │ │ │ └── test │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── compile_capi_object_main.cc │ │ │ │ ├── unit_capi_object_type.cc │ │ │ │ └── unit_capi_object_walk_order.cc │ │ ├── profile │ │ │ ├── CMakeLists.txt │ │ │ ├── profile_api.cc │ │ │ ├── profile_api_experimental.h │ │ │ ├── profile_api_internal.h │ │ │ └── test │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── compile_capi_profile_main.cc │ │ │ │ └── unit_capi_profile.cc │ │ ├── query │ │ │ ├── CMakeLists.txt │ │ │ ├── query_api.cc │ │ │ ├── query_api_enum.h │ │ │ ├── query_api_external.h │ │ │ ├── query_api_internal.h │ │ │ └── test │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── compile_capi_query_main.cc │ │ │ │ └── unit_capi_query_type.cc │ │ ├── query_aggregate │ │ │ ├── CMakeLists.txt │ │ │ ├── query_aggregate_api.cc │ │ │ ├── query_aggregate_api_external_experimental.h │ │ │ ├── query_aggregate_api_internal.h │ │ │ └── test │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── compile_capi_query_aggregate_main.cc │ │ │ │ └── unit_capi_query_aggregate.cc │ │ ├── query_field │ │ │ ├── CMakeLists.txt │ │ │ ├── query_field_api.cc │ │ │ ├── query_field_api_external_experimental.h │ │ │ ├── query_field_api_internal.h │ │ │ └── test │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── compile_capi_query_field_main.cc │ │ │ │ └── unit_capi_query_field.cc │ │ ├── query_plan │ │ │ ├── CMakeLists.txt │ │ │ ├── query_plan_api.cc │ │ │ ├── query_plan_api_external_experimental.h │ │ │ └── test │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── compile_capi_query_plan_main.cc │ │ │ │ └── unit_capi_query_plan.cc │ │ ├── string │ │ │ ├── CMakeLists.txt │ │ │ ├── string_api.cc │ │ │ ├── string_api_external.h │ │ │ ├── string_api_internal.h │ │ │ └── test │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── compile_capi_string_main.cc │ │ │ │ └── unit_capi_string.cc │ │ ├── subarray │ │ │ ├── CMakeLists.txt │ │ │ ├── subarray_api.cc │ │ │ ├── subarray_api_experimental.h │ │ │ ├── subarray_api_external.h │ │ │ ├── subarray_api_internal.h │ │ │ └── test │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── compile_capi_subarray_stub_main.cc │ │ │ │ └── unit_capi_subarray.cc │ │ └── vfs │ │ │ ├── CMakeLists.txt │ │ │ ├── test │ │ │ ├── CMakeLists.txt │ │ │ ├── compile_capi_vfs_main.cc │ │ │ ├── unit_capi_ls_recursive.cc │ │ │ └── unit_capi_vfs.cc │ │ │ ├── vfs_api.cc │ │ │ ├── vfs_api_enum.h │ │ │ ├── vfs_api_experimental.h │ │ │ ├── vfs_api_external.h │ │ │ └── vfs_api_internal.h │ ├── c_api_support │ │ ├── CMakeLists.txt │ │ ├── DIRECTORY.md │ │ ├── argument_validation.h │ │ ├── c_api_support.h │ │ ├── cpp_string │ │ │ ├── CMakeLists.txt │ │ │ ├── cpp_string.cc │ │ │ ├── cpp_string.h │ │ │ └── test │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── compile_capi_support_cpp_string_main.cc │ │ │ │ └── unit_cpp_string.cc │ │ ├── exception_wrapper │ │ │ ├── CMakeLists.txt │ │ │ ├── capi_definition.h │ │ │ ├── exception_wrapper.cc │ │ │ ├── exception_wrapper.h │ │ │ └── test │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── compile_exception_wrapper_main.cc │ │ │ │ ├── hook │ │ │ │ ├── DIRECTORY.md │ │ │ │ └── capi_function_override.h │ │ │ │ ├── hook_common.h │ │ │ │ ├── logging_aspect.h │ │ │ │ ├── unit_capi_error_tree.cc │ │ │ │ ├── unit_capi_exception_wrapper.cc │ │ │ │ ├── unit_capi_hook.cc │ │ │ │ ├── unit_capi_hook_with.cc │ │ │ │ └── unit_capi_hook_without.cc │ │ └── handle │ │ │ ├── CMakeLists.txt │ │ │ ├── handle.cc │ │ │ ├── handle.h │ │ │ └── test │ │ │ ├── CMakeLists.txt │ │ │ ├── main.cc │ │ │ └── unit_handle.cc │ ├── c_api_test_support │ │ ├── CMakeLists.txt │ │ ├── DIRECTORY.md │ │ ├── storage_manager_stub │ │ │ ├── CMakeLists.txt │ │ │ ├── DIRECTORY.md │ │ │ ├── storage_manager_declaration_override.h │ │ │ ├── storage_manager_override.h │ │ │ └── storage_manager_stub.cc │ │ ├── testsupport_capi_array.h │ │ ├── testsupport_capi_array_schema.h │ │ ├── testsupport_capi_context.h │ │ ├── testsupport_capi_datatype.h │ │ ├── testsupport_capi_fragment_info.h │ │ ├── testsupport_capi_profile.h │ │ ├── testsupport_capi_subarray.h │ │ └── testsupport_capi_vfs.h │ └── cpp_api_support │ │ ├── CMakeLists.txt │ │ └── test │ │ ├── CMakeLists.txt │ │ └── unit_cppapi_string.cc ├── as_built │ ├── CMakeLists.txt │ ├── as_built.h │ ├── parameters.h │ ├── storage_backends.h │ ├── support.h │ └── test │ │ ├── CMakeLists.txt │ │ ├── main.cc │ │ └── unit_as_built.cc ├── common │ ├── CMakeLists.txt │ ├── algorithm │ │ ├── CMakeLists.txt │ │ ├── parallel_merge.cc │ │ ├── parallel_merge.h │ │ └── test │ │ │ ├── CMakeLists.txt │ │ │ ├── compile_algorithm_main.cc │ │ │ ├── main.cc │ │ │ └── unit_parallel_merge.cc │ ├── arithmetic.h │ ├── assert.cc │ ├── assert.h │ ├── blank.h │ ├── common-std.h │ ├── common.h │ ├── dynamic_memory │ │ ├── CMakeLists.txt │ │ ├── allocate_unique.h │ │ ├── dynamic_memory.cc │ │ ├── dynamic_memory.h │ │ ├── governed_allocator.h │ │ ├── test │ │ │ ├── CMakeLists.txt │ │ │ ├── main.cc │ │ │ ├── testing_allocators.h │ │ │ ├── unit_dynamic_memory.cc │ │ │ └── unit_dynamic_memory.h │ │ └── traced_allocator.h │ ├── evaluator │ │ ├── CMakeLists.txt │ │ ├── evaluator.h │ │ └── test │ │ │ ├── CMakeLists.txt │ │ │ └── unit_evaluator.cc │ ├── exception │ │ ├── CMakeLists.txt │ │ ├── DIRECTORY.md │ │ ├── exception.cc │ │ ├── exception.h │ │ ├── status.cc │ │ ├── status.h │ │ └── test │ │ │ ├── CMakeLists.txt │ │ │ ├── main.cc │ │ │ ├── unit_exception.cc │ │ │ └── unit_status.cc │ ├── filesystem │ │ ├── CMakeLists.txt │ │ ├── directory_entry.h │ │ ├── home_directory.cc │ │ ├── home_directory.h │ │ ├── path.h │ │ └── test │ │ │ └── compile_home_directory_main.cc │ ├── governor │ │ ├── CMakeLists.txt │ │ ├── governor.cc │ │ └── governor.h │ ├── heap_memory.cc │ ├── heap_memory.h │ ├── heap_profiler.cc │ ├── heap_profiler.h │ ├── indexed_list.h │ ├── interval │ │ ├── CMakeLists.txt │ │ ├── interval.cc │ │ ├── interval.h │ │ └── test │ │ │ ├── CMakeLists.txt │ │ │ ├── main.cc │ │ │ ├── unit_interval.h │ │ │ ├── unit_interval_bound.cc │ │ │ ├── unit_interval_constructors.cc │ │ │ ├── unit_interval_operations.cc │ │ │ ├── unit_interval_predicates.cc │ │ │ └── unit_interval_types.cc │ ├── log_duration_instrument.h │ ├── logger.cc │ ├── logger.h │ ├── logger_public.h │ ├── macros.h │ ├── memory.cc │ ├── memory.h │ ├── memory_tracker.cc │ ├── memory_tracker.h │ ├── pmr.cc │ ├── pmr.h │ ├── polymorphic_allocator │ │ ├── README.md │ │ ├── polymorphic_allocator.cc │ │ └── polymorphic_allocator.h │ ├── random │ │ ├── CMakeLists.txt │ │ ├── prng.cc │ │ ├── prng.h │ │ ├── random_label.cc │ │ ├── random_label.h │ │ ├── seeder.cc │ │ ├── seeder.h │ │ └── test │ │ │ ├── CMakeLists.txt │ │ │ ├── compile_seedable_global_PRNG_main.cc │ │ │ ├── unit_random_label_generator.cc │ │ │ └── unit_seedable_global_PRNG.cc │ ├── rwlock.h │ ├── scoped_executor.h │ ├── status.h │ ├── stdx_string.cc │ ├── stdx_string.h │ ├── tag.h │ ├── test │ │ ├── CMakeLists.txt │ │ ├── compile_assert_main.cc │ │ ├── compile_baseline_main.cc │ │ ├── compile_stringx_main.cc │ │ ├── main.cc │ │ ├── unit_arithmetic.cc │ │ ├── unit_is_experimental.cc │ │ ├── unit_is_not_experimental.cc │ │ ├── unit_memory_tracker.cc │ │ └── unit_memory_tracker_types.cc │ ├── thread_pool │ │ ├── CMakeLists.txt │ │ ├── producer_consumer_queue.h │ │ ├── test │ │ │ ├── CMakeLists.txt │ │ │ ├── compile_thread_pool_main.cc │ │ │ ├── main.cc │ │ │ ├── unit_thread_pool.cc │ │ │ └── unit_thread_pool.h │ │ ├── thread_pool.cc │ │ └── thread_pool.h │ ├── types │ │ ├── CMakeLists.txt │ │ ├── dynamic_typed_datum.cc │ │ ├── dynamic_typed_datum.h │ │ ├── test │ │ │ ├── CMakeLists.txt │ │ │ ├── compile_datum_main.cc │ │ │ ├── main.cc │ │ │ └── unit_dynamic_untyped_datum.cc │ │ ├── untyped_datum.cc │ │ └── untyped_datum.h │ ├── unique_rwlock.h │ ├── unreachable.h │ └── util │ │ ├── CMakeLists.txt │ │ ├── alt_var_length_view.h │ │ ├── block_view.h │ │ ├── detail │ │ ├── CMakeLists.txt │ │ ├── arrow_proxy.h │ │ ├── iterator_facade.h │ │ └── test │ │ │ ├── CMakeLists.txt │ │ │ └── unit_iterator_facade.cc │ │ ├── permutation_view.h │ │ ├── permute.h │ │ ├── print_types.h │ │ ├── proxy_sort.h │ │ ├── test │ │ ├── CMakeLists.txt │ │ ├── oberon.h │ │ ├── unit_alt_var_length_view.cc │ │ ├── unit_block_view.cc │ │ ├── unit_permutation_sort.cc │ │ ├── unit_permutation_view.cc │ │ ├── unit_proxy_sort.cc │ │ ├── unit_sort_chunk.cc │ │ ├── unit_sort_zip.cc │ │ ├── unit_var_length_util.cc │ │ ├── unit_var_length_view.cc │ │ └── unit_view_combo.cc │ │ ├── var_length_util.h │ │ └── var_length_view.h ├── doxygen │ ├── Doxyfile.mk │ ├── README.md │ ├── local-build.sh │ ├── mainpage.dox │ └── source │ │ ├── c++-api.rst │ │ ├── c-api.rst │ │ ├── conf.py │ │ ├── figures │ │ └── Scarlet-Macaw-small.png │ │ ├── gensidebar.py │ │ ├── index.rst │ │ └── requirements.txt ├── oxidize │ ├── CMakeLists.txt │ ├── Cargo.lock │ ├── Cargo.toml │ └── arithmetic │ │ ├── Cargo.toml │ │ ├── build.rs │ │ └── src │ │ └── lib.rs ├── platform │ ├── CMakeLists.txt │ ├── cert_file.cc │ ├── cert_file.h │ ├── os.h │ ├── platform.cc │ ├── platform.h │ └── test │ │ ├── CMakeLists.txt │ │ ├── compile_cert_file_main.cc │ │ ├── compile_platform_main.cc │ │ ├── main.cc │ │ ├── unit_platform.cc │ │ └── unit_platform.h ├── sm │ ├── CMakeLists.txt │ ├── array │ │ ├── CMakeLists.txt │ │ ├── array.cc │ │ ├── array.h │ │ ├── array_directory.cc │ │ ├── array_directory.h │ │ ├── array_operations.cc │ │ ├── array_operations.h │ │ ├── consistency.cc │ │ ├── consistency.h │ │ └── test │ │ │ ├── CMakeLists.txt │ │ │ ├── compile_array_directory_main.cc │ │ │ ├── compile_array_main.cc │ │ │ ├── main.cc │ │ │ ├── unit_array_directory.cc │ │ │ ├── unit_consistency.cc │ │ │ └── unit_consistency.h │ ├── array_schema │ │ ├── CMakeLists.txt │ │ ├── array_schema.cc │ │ ├── array_schema.h │ │ ├── array_schema_evolution.cc │ │ ├── array_schema_evolution.h │ │ ├── array_schema_operations.cc │ │ ├── array_schema_operations.h │ │ ├── attribute.cc │ │ ├── attribute.h │ │ ├── current_domain.cc │ │ ├── current_domain.h │ │ ├── dimension.cc │ │ ├── dimension.h │ │ ├── dimension_label.cc │ │ ├── dimension_label.h │ │ ├── domain.cc │ │ ├── domain.h │ │ ├── domain_data_ref.h │ │ ├── domain_typed_data_view.h │ │ ├── dynamic_array.h │ │ ├── enumeration.cc │ │ ├── enumeration.h │ │ ├── ndrectangle.cc │ │ ├── ndrectangle.h │ │ ├── test │ │ │ ├── CMakeLists.txt │ │ │ ├── array_schema_test_support.h │ │ │ ├── compile_array_schema_main.cc │ │ │ ├── compile_array_schema_operations_main.cc │ │ │ ├── compile_attribute_main.cc │ │ │ ├── compile_current_domain_main.cc │ │ │ ├── compile_dimension_main.cc │ │ │ ├── compile_domain_main.cc │ │ │ ├── compile_enumeration_main.cc │ │ │ ├── compile_ndrectangle_main.cc │ │ │ ├── main.cc │ │ │ ├── unit_array_schema.cc │ │ │ ├── unit_array_schema_operations.cc │ │ │ ├── unit_attribute.cc │ │ │ ├── unit_current_domain.cc │ │ │ ├── unit_dimension.cc │ │ │ ├── unit_dimension_label.cc │ │ │ ├── unit_domain.cc │ │ │ ├── unit_domain_data.cc │ │ │ └── unit_tile_domain.cc │ │ └── tile_domain.h │ ├── buffer │ │ ├── CMakeLists.txt │ │ ├── buffer.cc │ │ ├── buffer.h │ │ ├── buffer_list.cc │ │ ├── buffer_list.h │ │ └── test │ │ │ ├── CMakeLists.txt │ │ │ ├── compile_buffer_list_main.cc │ │ │ ├── compile_buffer_main.cc │ │ │ ├── main.cc │ │ │ ├── unit_buffer.cc │ │ │ ├── unit_bufferlist.cc │ │ │ └── unit_serialization_buffer.cc │ ├── c_api │ │ ├── api_argument_validator.cc │ │ ├── api_argument_validator.h │ │ ├── tiledb.cc │ │ ├── tiledb.h │ │ ├── tiledb_deprecated.h │ │ ├── tiledb_dimension_label.cc │ │ ├── tiledb_dimension_label_experimental.h │ │ ├── tiledb_enum.h │ │ ├── tiledb_experimental.h │ │ ├── tiledb_filestore.cc │ │ ├── tiledb_serialization.h │ │ ├── tiledb_struct_def.h │ │ └── tiledb_version.h │ ├── cache │ │ └── lru_cache.h │ ├── compressors │ │ ├── CMakeLists.txt │ │ ├── bzip_compressor.cc │ │ ├── bzip_compressor.h │ │ ├── dd_compressor.cc │ │ ├── dd_compressor.h │ │ ├── delta_compressor.cc │ │ ├── delta_compressor.h │ │ ├── dict_compressor.cc │ │ ├── dict_compressor.h │ │ ├── gzip_compressor.cc │ │ ├── gzip_compressor.h │ │ ├── lz4_compressor.cc │ │ ├── lz4_compressor.h │ │ ├── rle_compressor.cc │ │ ├── rle_compressor.h │ │ ├── test │ │ │ ├── CMakeLists.txt │ │ │ ├── compile_compressors_main.cc │ │ │ ├── main.cc │ │ │ ├── unit_delta_compressor.cc │ │ │ ├── unit_dict_compressor.cc │ │ │ └── unit_gzip_compressor.cc │ │ ├── zstd_compressor.cc │ │ └── zstd_compressor.h │ ├── config │ │ ├── CMakeLists.txt │ │ ├── config.cc │ │ ├── config.h │ │ ├── config_iter.cc │ │ ├── config_iter.h │ │ └── test │ │ │ ├── CMakeLists.txt │ │ │ ├── compile_config_main.cc │ │ │ └── unit_config.cc │ ├── consolidation_plan │ │ ├── consolidation_plan.cc │ │ └── consolidation_plan.h │ ├── consolidator │ │ ├── CMakeLists.txt │ │ ├── array_meta_consolidator.cc │ │ ├── array_meta_consolidator.h │ │ ├── commits_consolidator.cc │ │ ├── commits_consolidator.h │ │ ├── consolidator.cc │ │ ├── consolidator.h │ │ ├── fragment_consolidator.cc │ │ ├── fragment_consolidator.h │ │ ├── fragment_meta_consolidator.cc │ │ ├── fragment_meta_consolidator.h │ │ ├── group_meta_consolidator.cc │ │ ├── group_meta_consolidator.h │ │ └── test │ │ │ ├── CMakeLists.txt │ │ │ ├── main.cc │ │ │ └── unit_fragment_consolidator.cc │ ├── cpp_api │ │ ├── array.h │ │ ├── array_experimental.h │ │ ├── array_schema.h │ │ ├── array_schema_evolution.h │ │ ├── array_schema_experimental.h │ │ ├── arrow_io_impl.h │ │ ├── arrowio │ │ ├── as_built_experimental.h │ │ ├── attribute.h │ │ ├── attribute_experimental.h │ │ ├── capi_string.h │ │ ├── channel_operation.h │ │ ├── channel_operator.h │ │ ├── config.h │ │ ├── consolidation_plan_experimental.h │ │ ├── context.h │ │ ├── core_interface.h │ │ ├── current_domain.h │ │ ├── deleter.h │ │ ├── dimension.h │ │ ├── dimension_label_experimental.h │ │ ├── domain.h │ │ ├── enumeration_experimental.h │ │ ├── error.h │ │ ├── exception.h │ │ ├── filter.h │ │ ├── filter_list.h │ │ ├── fragment_info.h │ │ ├── group.h │ │ ├── log.h │ │ ├── ndrectangle.h │ │ ├── object.h │ │ ├── object_iter.h │ │ ├── profile_experimental.h │ │ ├── query.h │ │ ├── query_channel.h │ │ ├── query_condition.h │ │ ├── query_condition_experimental.h │ │ ├── query_experimental.h │ │ ├── schema_base.h │ │ ├── stats.h │ │ ├── subarray.h │ │ ├── subarray_experimental.h │ │ ├── tiledb │ │ ├── tiledb_experimental │ │ ├── type.h │ │ ├── utils.h │ │ ├── version.h │ │ ├── vfs.h │ │ └── vfs_experimental.h │ ├── crypto │ │ ├── CMakeLists.txt │ │ ├── crypto.cc │ │ ├── crypto.h │ │ ├── crypto_openssl.cc │ │ ├── crypto_openssl.h │ │ ├── crypto_win32.cc │ │ ├── crypto_win32.h │ │ ├── encryption_key.cc │ │ ├── encryption_key.h │ │ └── test │ │ │ ├── CMakeLists.txt │ │ │ ├── compile_tiledb_crypto_main.cc │ │ │ └── unit_tiledb_crypto.cc │ ├── curl │ │ ├── curl_init.cc │ │ └── curl_init.h │ ├── enums │ │ ├── array_type.h │ │ ├── compressor.h │ │ ├── current_domain_type.h │ │ ├── data_order.h │ │ ├── datatype.h │ │ ├── encryption_type.h │ │ ├── filesystem.h │ │ ├── filter_option.h │ │ ├── filter_type.h │ │ ├── layout.h │ │ ├── mime_type.h │ │ ├── object_type.h │ │ ├── query_condition_combination_op.h │ │ ├── query_condition_op.h │ │ ├── query_status.h │ │ ├── query_status_details.h │ │ ├── query_type.h │ │ ├── serialization_type.h │ │ ├── vfs_mode.h │ │ └── walk_order.h │ ├── filesystem │ │ ├── CMakeLists.txt │ │ ├── azure.cc │ │ ├── azure.h │ │ ├── filesystem_base.cc │ │ ├── filesystem_base.h │ │ ├── gcs.cc │ │ ├── gcs.h │ │ ├── local.cc │ │ ├── local.h │ │ ├── ls_scanner.h │ │ ├── mem_filesystem.cc │ │ ├── mem_filesystem.h │ │ ├── path_win.cc │ │ ├── path_win.h │ │ ├── posix.cc │ │ ├── posix.h │ │ ├── s3.cc │ │ ├── s3.h │ │ ├── s3 │ │ │ ├── AWSCredentialsProviderChain.cc │ │ │ ├── AWSCredentialsProviderChain.h │ │ │ ├── GeneralHTTPCredentialsProvider.cc │ │ │ ├── GeneralHTTPCredentialsProvider.h │ │ │ ├── STSCredentialsProvider.cc │ │ │ ├── STSCredentialsProvider.h │ │ │ ├── STSProfileWithWebIdentityCredentialsProvider.cc │ │ │ └── STSProfileWithWebIdentityCredentialsProvider.h │ │ ├── s3_thread_pool_executor.cc │ │ ├── s3_thread_pool_executor.h │ │ ├── ssl_config.cc │ │ ├── ssl_config.h │ │ ├── test │ │ │ ├── CMakeLists.txt │ │ │ ├── compile_vfs_main.cc │ │ │ ├── main.cc │ │ │ ├── unit_ls_filtered.cc │ │ │ ├── unit_uri.cc │ │ │ └── unit_vfs_read_log_modes.cc │ │ ├── uri.cc │ │ ├── uri.h │ │ ├── vfs.cc │ │ ├── vfs.h │ │ ├── vfs_file_handle.cc │ │ ├── vfs_file_handle.h │ │ ├── win.cc │ │ └── win.h │ ├── filter │ │ ├── CMakeLists.txt │ │ ├── bit_width_reduction_filter.cc │ │ ├── bit_width_reduction_filter.h │ │ ├── bitshuffle_filter.cc │ │ ├── bitshuffle_filter.h │ │ ├── byteshuffle_filter.cc │ │ ├── byteshuffle_filter.h │ │ ├── checksum_md5_filter.cc │ │ ├── checksum_md5_filter.h │ │ ├── checksum_sha256_filter.cc │ │ ├── checksum_sha256_filter.h │ │ ├── compression_filter.cc │ │ ├── compression_filter.h │ │ ├── encryption_aes256gcm_filter.cc │ │ ├── encryption_aes256gcm_filter.h │ │ ├── filter.cc │ │ ├── filter.h │ │ ├── filter_buffer.cc │ │ ├── filter_buffer.h │ │ ├── filter_create.cc │ │ ├── filter_create.h │ │ ├── filter_pipeline.cc │ │ ├── filter_pipeline.h │ │ ├── filter_storage.cc │ │ ├── filter_storage.h │ │ ├── float_scaling_filter.cc │ │ ├── float_scaling_filter.h │ │ ├── noop_filter.cc │ │ ├── noop_filter.h │ │ ├── positive_delta_filter.cc │ │ ├── positive_delta_filter.h │ │ ├── test │ │ │ ├── CMakeLists.txt │ │ │ ├── add_1_in_place_filter.cc │ │ │ ├── add_1_in_place_filter.h │ │ │ ├── add_1_including_metadata_filter.cc │ │ │ ├── add_1_including_metadata_filter.h │ │ │ ├── add_1_out_of_place_filter.cc │ │ │ ├── add_1_out_of_place_filter.h │ │ │ ├── add_n_in_place_filter.cc │ │ │ ├── add_n_in_place_filter.h │ │ │ ├── compile_all_filters_main.cc │ │ │ ├── compile_bitshuffle_filter_main.cc │ │ │ ├── compile_byteshuffle_filter_main.cc │ │ │ ├── compile_checksum_filters_main.cc │ │ │ ├── compile_compression_filter_main.cc │ │ │ ├── compile_encryption_filters_main.cc │ │ │ ├── compile_filter_main.cc │ │ │ ├── compile_filter_pipeline_main.cc │ │ │ ├── compile_float_scaling_filter_main.cc │ │ │ ├── compile_webp_filter_main.cc │ │ │ ├── compile_xor_filter_main.cc │ │ │ ├── filter_test_support.cc │ │ │ ├── filter_test_support.h │ │ │ ├── filtered_tile_checker.cc │ │ │ ├── filtered_tile_checker.h │ │ │ ├── main.cc │ │ │ ├── pseudo_checksum_filter.cc │ │ │ ├── pseudo_checksum_filter.h │ │ │ ├── tile_data_generator.h │ │ │ ├── unit_65154.cc │ │ │ ├── unit_bit_width_reduction_pipeline.cc │ │ │ ├── unit_bitshuffle_pipeline.cc │ │ │ ├── unit_byteshuffle_pipeline.cc │ │ │ ├── unit_checksum_pipeline.cc │ │ │ ├── unit_double_delta_pipeline.cc │ │ │ ├── unit_encryption_pipeline.cc │ │ │ ├── unit_filter_create.cc │ │ │ ├── unit_filter_pipeline.cc │ │ │ ├── unit_float_scale_input_validation.cc │ │ │ ├── unit_positive_delta_pipeline.cc │ │ │ ├── unit_run_filter_pipeline.cc │ │ │ ├── unit_webp_pipeline.cc │ │ │ └── unit_xor_pipeline.cc │ │ ├── webp_filter.cc │ │ ├── webp_filter.h │ │ ├── xor_filter.cc │ │ └── xor_filter.h │ ├── fragment │ │ ├── CMakeLists.txt │ │ ├── fragment_identifier.cc │ │ ├── fragment_identifier.h │ │ ├── fragment_info.cc │ │ ├── fragment_info.h │ │ ├── fragment_metadata.cc │ │ ├── fragment_metadata.h │ │ ├── loaded_fragment_metadata.cc │ │ ├── loaded_fragment_metadata.h │ │ ├── ondemand_fragment_metadata.cc │ │ ├── ondemand_fragment_metadata.h │ │ ├── single_fragment_info.h │ │ ├── test │ │ │ ├── CMakeLists.txt │ │ │ ├── compile_fragment_identifier_main.cc │ │ │ ├── compile_fragment_metadata_main.cc │ │ │ ├── main.cc │ │ │ └── unit_fragment_identifier.cc │ │ ├── v1v2preloaded_fragment_metadata.cc │ │ ├── v1v2preloaded_fragment_metadata.h │ │ └── written_fragment_info.h │ ├── global_state │ │ ├── global_state.cc │ │ ├── global_state.h │ │ ├── signal_handlers.cc │ │ ├── signal_handlers.h │ │ ├── unit_test_config.h │ │ ├── watchdog.cc │ │ └── watchdog.h │ ├── group │ │ ├── CMakeLists.txt │ │ ├── group.cc │ │ ├── group.h │ │ ├── group_details.cc │ │ ├── group_details.h │ │ ├── group_details_v1.cc │ │ ├── group_details_v1.h │ │ ├── group_details_v2.cc │ │ ├── group_details_v2.h │ │ ├── group_directory.cc │ │ ├── group_directory.h │ │ ├── group_member.cc │ │ ├── group_member.h │ │ ├── group_member_v1.cc │ │ ├── group_member_v1.h │ │ ├── group_member_v2.cc │ │ ├── group_member_v2.h │ │ └── test │ │ │ └── compile_group_main.cc │ ├── metadata │ │ ├── CMakeLists.txt │ │ ├── metadata.cc │ │ ├── metadata.h │ │ └── test │ │ │ ├── CMakeLists.txt │ │ │ ├── compile_metadata_main.cc │ │ │ ├── main.cc │ │ │ └── unit_metadata.cc │ ├── misc │ │ ├── CMakeLists.txt │ │ ├── cancelable_tasks.cc │ │ ├── cancelable_tasks.h │ │ ├── comparators.h │ │ ├── constants.cc │ │ ├── constants.h │ │ ├── endian.h │ │ ├── generate_embedded_data_header.script.cmake │ │ ├── hash.h │ │ ├── hilbert.h │ │ ├── integral_type_casts.h │ │ ├── mgc_dict.cc │ │ ├── mgc_dict.h │ │ ├── parallel_functions.h │ │ ├── parse_argument.cc │ │ ├── parse_argument.h │ │ ├── rectangle.cc │ │ ├── rectangle.h │ │ ├── resource_pool.h │ │ ├── tdb_math.cc │ │ ├── tdb_math.h │ │ ├── tdb_time.cc │ │ ├── tdb_time.h │ │ ├── test │ │ │ ├── CMakeLists.txt │ │ │ ├── compile_cancelable_tasks_main.cc │ │ │ ├── compile_constants_main.cc │ │ │ ├── compile_math_main.cc │ │ │ ├── compile_mgc_dict_main.cc │ │ │ ├── compile_misc_types_main.cc │ │ │ ├── compile_parse_argument_main.cc │ │ │ ├── compile_rectangle_main.cc │ │ │ ├── compile_time_main.cc │ │ │ ├── main.cc │ │ │ ├── unit_bytevecvalue.cc │ │ │ ├── unit_hilbert.cc │ │ │ ├── unit_integral_type_casts.cc │ │ │ ├── unit_math.cc │ │ │ ├── unit_mgc_dict.cc │ │ │ └── unit_parse_argument.cc │ │ ├── tile_overlap.h │ │ ├── type_traits.h │ │ ├── types.cc │ │ ├── types.h │ │ ├── win_constants.cc │ │ └── win_constants.h │ ├── object │ │ ├── CMakeLists.txt │ │ ├── object.cc │ │ ├── object.h │ │ ├── object_iter.cc │ │ ├── object_iter.h │ │ ├── object_mutex.cc │ │ ├── object_mutex.h │ │ └── test │ │ │ └── compile_object_main.cc │ ├── query │ │ ├── CMakeLists.txt │ │ ├── DELETES_AND_UPDATES.md │ │ ├── ast │ │ │ ├── CMakeLists.txt │ │ │ ├── query_ast.cc │ │ │ ├── query_ast.h │ │ │ └── test │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── compile_query_ast_main.cc │ │ │ │ ├── main.cc │ │ │ │ └── unit-query-ast.cc │ │ ├── deletes_and_updates │ │ │ ├── CMakeLists.txt │ │ │ ├── deletes_and_updates.cc │ │ │ ├── deletes_and_updates.h │ │ │ ├── serialization.cc │ │ │ ├── serialization.h │ │ │ └── test │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── main.cc │ │ │ │ ├── unit_delete_condition.cc │ │ │ │ └── unit_update_condition.cc │ │ ├── dimension_label │ │ │ ├── array_dimension_label_queries.cc │ │ │ ├── array_dimension_label_queries.h │ │ │ ├── dimension_label_query.cc │ │ │ ├── dimension_label_query.h │ │ │ ├── index_data.cc │ │ │ └── index_data.h │ │ ├── external_sort │ │ │ ├── CMakeLists.txt │ │ │ ├── README.md │ │ │ ├── doc │ │ │ │ └── figs │ │ │ │ │ └── design.svg │ │ │ ├── partition.h │ │ │ └── test │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── unit_partition.cc │ │ ├── hilbert_order.cc │ │ ├── hilbert_order.h │ │ ├── iquery_strategy.h │ │ ├── legacy │ │ │ ├── cell_slab_iter.cc │ │ │ ├── cell_slab_iter.h │ │ │ ├── read_cell_slab_iter.cc │ │ │ ├── read_cell_slab_iter.h │ │ │ ├── reader.cc │ │ │ └── reader.h │ │ ├── local_query_state_machine.plantuml │ │ ├── local_query_state_machine.svg │ │ ├── query.cc │ │ ├── query.h │ │ ├── query_buffer.h │ │ ├── query_condition.cc │ │ ├── query_condition.h │ │ ├── query_macros.h │ │ ├── query_remote_buffer_storage.cc │ │ ├── query_remote_buffer_storage.h │ │ ├── query_state.cc │ │ ├── query_state.h │ │ ├── readers │ │ │ ├── CMakeLists.txt │ │ │ ├── aggregators │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── aggregate_buffer.h │ │ │ │ ├── aggregate_with_count.h │ │ │ │ ├── count_aggregator.cc │ │ │ │ ├── count_aggregator.h │ │ │ │ ├── field_info.h │ │ │ │ ├── iaggregator.h │ │ │ │ ├── input_field_validator.h │ │ │ │ ├── min_max.h │ │ │ │ ├── min_max_aggregator.cc │ │ │ │ ├── min_max_aggregator.h │ │ │ │ ├── no_op.h │ │ │ │ ├── operation.cc │ │ │ │ ├── operation.h │ │ │ │ ├── output_buffer_validator.cc │ │ │ │ ├── output_buffer_validator.h │ │ │ │ ├── query_channel.h │ │ │ │ ├── safe_sum.cc │ │ │ │ ├── safe_sum.h │ │ │ │ ├── sum_aggregator.cc │ │ │ │ ├── sum_aggregator.h │ │ │ │ ├── sum_type.h │ │ │ │ ├── test │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── bench_aggregators.cc │ │ │ │ │ ├── compile_aggregators_main.cc │ │ │ │ │ ├── main.cc │ │ │ │ │ ├── unit_aggregate_with_count.cc │ │ │ │ │ ├── unit_aggregation_policies.cc │ │ │ │ │ └── unit_aggregators.cc │ │ │ │ ├── tile_metadata.h │ │ │ │ └── validity_policies.h │ │ │ ├── attribute_order_validator.h │ │ │ ├── dense_reader.cc │ │ │ ├── dense_reader.h │ │ │ ├── filtered_data.h │ │ │ ├── ordered_dim_label_reader.cc │ │ │ ├── ordered_dim_label_reader.h │ │ │ ├── reader_base.cc │ │ │ ├── reader_base.h │ │ │ ├── result_cell_slab.h │ │ │ ├── result_coords.h │ │ │ ├── result_space_tile.h │ │ │ ├── result_tile.cc │ │ │ ├── result_tile.h │ │ │ ├── sparse_global_order_reader.cc │ │ │ ├── sparse_global_order_reader.h │ │ │ ├── sparse_index_reader_base.cc │ │ │ ├── sparse_index_reader_base.h │ │ │ ├── sparse_unordered_with_dups_reader.cc │ │ │ ├── sparse_unordered_with_dups_reader.h │ │ │ └── test │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── main.cc │ │ │ │ ├── unit_reader_base.cc │ │ │ │ └── unit_sparse_global_order_reader_preprocess_tile_order.cc │ │ ├── strategy_base.cc │ │ ├── strategy_base.h │ │ ├── test │ │ │ ├── CMakeLists.txt │ │ │ ├── main.cc │ │ │ ├── unit_query_condition.cc │ │ │ └── unit_validity_vector.cc │ │ ├── update_value.cc │ │ ├── update_value.h │ │ ├── validity_vector.h │ │ └── writers │ │ │ ├── dense_tiler.cc │ │ │ ├── dense_tiler.h │ │ │ ├── domain_buffer.h │ │ │ ├── global_order_writer.cc │ │ │ ├── global_order_writer.h │ │ │ ├── ordered_writer.cc │ │ │ ├── ordered_writer.h │ │ │ ├── unordered_writer.cc │ │ │ ├── unordered_writer.h │ │ │ ├── writer_base.cc │ │ │ └── writer_base.h │ ├── query_plan │ │ ├── CMakeLists.txt │ │ ├── query_plan.cc │ │ ├── query_plan.h │ │ └── test │ │ │ ├── CMakeLists.txt │ │ │ ├── compile_query_plan_main.cc │ │ │ ├── main.cc │ │ │ └── unit_query_plan.cc │ ├── rest │ │ ├── CMakeLists.txt │ │ ├── curl.cc │ │ ├── curl.h │ │ ├── rest_capabilities.h │ │ ├── rest_client.cc │ │ ├── rest_client.h │ │ ├── rest_client_remote.cc │ │ ├── rest_client_remote.h │ │ ├── rest_profile.cc │ │ ├── rest_profile.h │ │ └── test │ │ │ ├── CMakeLists.txt │ │ │ ├── compile_rest_client_main.cc │ │ │ ├── compile_rest_profile_main.cc │ │ │ ├── main.cc │ │ │ └── unit_rest_profile.cc │ ├── rtree │ │ ├── CMakeLists.txt │ │ ├── rtree.cc │ │ ├── rtree.h │ │ └── test │ │ │ ├── CMakeLists.txt │ │ │ ├── compile_rtree_main.cc │ │ │ ├── main.cc │ │ │ └── unit_rtree.cc │ ├── serialization │ │ ├── .gitattributes │ │ ├── CMakeLists.txt │ │ ├── array.cc │ │ ├── array.h │ │ ├── array_directory.cc │ │ ├── array_directory.h │ │ ├── array_schema.cc │ │ ├── array_schema.h │ │ ├── array_schema_evolution.cc │ │ ├── array_schema_evolution.h │ │ ├── capnp_utils.h │ │ ├── config.cc │ │ ├── config.h │ │ ├── consolidation.cc │ │ ├── consolidation.h │ │ ├── current_domain.cc │ │ ├── current_domain.h │ │ ├── enumeration.cc │ │ ├── enumeration.h │ │ ├── fragment_info.cc │ │ ├── fragment_info.h │ │ ├── fragment_metadata.cc │ │ ├── fragment_metadata.h │ │ ├── fragments.cc │ │ ├── fragments.h │ │ ├── group.cc │ │ ├── group.h │ │ ├── query.cc │ │ ├── query.h │ │ ├── query_aggregates.cc │ │ ├── query_aggregates.h │ │ ├── query_plan.cc │ │ ├── query_plan.h │ │ ├── rest_capabilities.cc │ │ ├── rest_capabilities.h │ │ ├── test │ │ │ ├── CMakeLists.txt │ │ │ ├── main.cc │ │ │ ├── unit_capnp_array_schema.cc │ │ │ ├── unit_capnp_nonempty_domain.cc │ │ │ └── unit_capnp_utils.cc │ │ ├── tiledb-rest.capnp │ │ ├── tiledb-rest.capnp.c++ │ │ ├── tiledb-rest.capnp.h │ │ ├── vacuum.cc │ │ └── vacuum.h │ ├── stats │ │ ├── CMakeLists.txt │ │ ├── duration_instrument.h │ │ ├── global_stats.cc │ │ ├── global_stats.h │ │ ├── stats.cc │ │ ├── stats.h │ │ └── test │ │ │ ├── CMakeLists.txt │ │ │ ├── compile_stats_main.cc │ │ │ ├── main.cc │ │ │ ├── unit_duration_instrument.cc │ │ │ └── unit_stats.cc │ ├── storage_manager │ │ ├── CMakeLists.txt │ │ ├── cancellation_source.cc │ │ ├── cancellation_source.h │ │ ├── context.cc │ │ ├── context.h │ │ ├── context_resources.cc │ │ ├── context_resources.h │ │ ├── storage_manager.cc │ │ ├── storage_manager.h │ │ ├── storage_manager_canonical.h │ │ ├── storage_manager_declaration.h │ │ └── test │ │ │ ├── CMakeLists.txt │ │ │ ├── compile_context_resources_main.cc │ │ │ ├── main.cc │ │ │ └── unit_static_context.cc │ ├── subarray │ │ ├── CMakeLists.txt │ │ ├── cell_slab.h │ │ ├── range_subset.cc │ │ ├── range_subset.h │ │ ├── relevant_fragment_generator.cc │ │ ├── relevant_fragment_generator.h │ │ ├── relevant_fragments.h │ │ ├── subarray.cc │ │ ├── subarray.h │ │ ├── subarray_partitioner.cc │ │ ├── subarray_partitioner.h │ │ ├── subarray_tile_overlap.cc │ │ ├── subarray_tile_overlap.h │ │ ├── test │ │ │ ├── CMakeLists.txt │ │ │ ├── compile_range_subset_main.cc │ │ │ ├── compile_subarray_main.cc │ │ │ ├── main.cc │ │ │ ├── unit_add_ranges_list.cc │ │ │ └── unit_range_subset.cc │ │ ├── tile_cell_slab_iter.cc │ │ └── tile_cell_slab_iter.h │ └── tile │ │ ├── CMakeLists.txt │ │ ├── filtered_buffer.h │ │ ├── generic_tile_io.cc │ │ ├── generic_tile_io.h │ │ ├── test │ │ ├── CMakeLists.txt │ │ ├── compile_generic_tile_io_main.cc │ │ ├── compile_tile_main.cc │ │ ├── compile_writer_tile_main.cc │ │ ├── main.cc │ │ └── unit_tile.cc │ │ ├── tile.cc │ │ ├── tile.h │ │ ├── tile_metadata_generator.cc │ │ ├── tile_metadata_generator.h │ │ ├── writer_tile_tuple.cc │ │ └── writer_tile_tuple.h ├── stdx │ ├── CMakeLists.txt │ ├── DIRECTORY.md │ ├── __ranges │ │ ├── CMakeLists.txt │ │ ├── chunk_view.h │ │ ├── test │ │ │ ├── CMakeLists.txt │ │ │ ├── unit_chunk_view.cc │ │ │ └── unit_zip_view.cc │ │ └── zip_view.h │ ├── bits │ │ ├── jthread.h │ │ └── stop_token.h │ ├── ranges │ ├── stop_token │ ├── synchronized_optional │ │ ├── CMakeLists.txt │ │ ├── controlled_reference.h │ │ ├── synchronized_optional.h │ │ └── test │ │ │ ├── CMakeLists.txt │ │ │ ├── unit_synchronized_optional.cc │ │ │ ├── unit_synchronized_optional_comparisons.cc │ │ │ └── unit_synchronized_optional_swap.cc │ ├── test │ │ ├── CMakeLists.txt │ │ └── compat.cc │ ├── thread │ └── utility │ │ └── to_underlying.h ├── storage_format │ ├── CMakeLists.txt │ ├── DIRECTORY.md │ ├── serialization │ │ ├── CMakeLists.txt │ │ ├── serializers.h │ │ └── test │ │ │ ├── CMakeLists.txt │ │ │ ├── main.cc │ │ │ └── unit_serializers.cc │ └── uri │ │ ├── CMakeLists.txt │ │ ├── generate_uri.cc │ │ ├── generate_uri.h │ │ ├── parse_uri.cc │ │ ├── parse_uri.h │ │ └── test │ │ ├── CMakeLists.txt │ │ ├── compile_uri_format_main.cc │ │ └── unit_uri_format.cc └── type │ ├── CMakeLists.txt │ ├── apply_with_type.h │ ├── datatype_queries.h │ ├── datatype_traits.h │ └── range │ ├── CMakeLists.txt │ ├── range.cc │ ├── range.h │ └── test │ ├── CMakeLists.txt │ ├── compile_range_main.cc │ ├── main.cc │ ├── unit_check_range_is_subset.cc │ ├── unit_check_range_is_valid.cc │ ├── unit_crop_range.cc │ ├── unit_range.cc │ └── unit_range_str.cc ├── tools ├── CMakeLists.txt ├── README.md └── src │ ├── commands │ ├── command.h │ ├── help_command.cc │ ├── help_command.h │ ├── info_command.cc │ └── info_command.h │ ├── main │ └── tiledb.cc │ └── misc │ └── common.h ├── vcpkg-configuration.json └── vcpkg.json /.dockerignore: -------------------------------------------------------------------------------- 1 | build 2 | builds 3 | **/buildtrees/* 4 | scripts 5 | !scripts/capnpupdate.sh 6 | -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | # Flag all PR configuration changes for documentation follow-up. 2 | /tiledb/sm/cpp_api/config.h @TileDB-Inc/tiledb-docs 3 | /tiledb/api/c_api/config/config_api_external.h @TileDB-Inc/tiledb-docs 4 | -------------------------------------------------------------------------------- /.github/misc/README.md: -------------------------------------------------------------------------------- 1 | This directory is called 'misc' instead of 'aux' because 'aux' is a reserved word on windows. 2 | -------------------------------------------------------------------------------- /.github/misc/github_actions_override.cmake: -------------------------------------------------------------------------------- 1 | if (WIN32) 2 | # This override causes CMake to ignore strawberry perl paths in the Github Actions images 3 | # due to incompatible, mingw-built libraries which are picked up by find_package 4 | # - upstream issue: https://github.com/actions/runner-images/issues/6627 5 | # - likely due to changes in CMake 3.25 6 | 7 | set(CMAKE_IGNORE_PREFIX_PATH "C:/Strawberry") 8 | set(CMAKE_IGNORE_PATH "C:/Strawberry/perl/bin;C:/Strawberry/c/lib") 9 | endif() 10 | -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | --- 4 | TYPE: NO_HISTORY | FEATURE | BUG | IMPROVEMENT | DEPRECATION | C_API | CPP_API | BREAKING_BEHAVIOR | BREAKING_API | FORMAT 5 | DESC: 6 | -------------------------------------------------------------------------------- /.github/workflows/backport.yml: -------------------------------------------------------------------------------- 1 | name: Backport 2 | on: 3 | issue_comment: 4 | types: [created] 5 | schedule: 6 | # once a day at 13:00 UTC to cleanup old runs 7 | - cron: '0 13 * * *' 8 | 9 | permissions: 10 | contents: write 11 | issues: write 12 | pull-requests: write 13 | actions: write 14 | 15 | jobs: 16 | backport: 17 | uses: dotnet/arcade/.github/workflows/backport-base.yml@66269f6a88f6062f2cccf6eb84660a8a6f5cc5ec 18 | with: 19 | pr_title_template: '[Backport %target_branch%] %source_pr_title% (#%source_pr_number%)' 20 | pr_description_template: | 21 | Backport of #%source_pr_number% to %target_branch% 22 | 23 | --- 24 | TYPE: NO_HISTORY | FEATURE | BUG | IMPROVEMENT | DEPRECATION | C_API | CPP_API | BREAKING_BEHAVIOR | BREAKING_API | FORMAT 25 | DESC: 26 | repository_owners: TileDB-Inc 27 | -------------------------------------------------------------------------------- /.github/workflows/build-dockerfile.yml: -------------------------------------------------------------------------------- 1 | name: Build-Dockerfile 2 | 3 | on: 4 | workflow_call: 5 | 6 | jobs: 7 | build-dockerfile: 8 | runs-on: ubuntu-latest 9 | 10 | steps: 11 | - name: Check out the repository 12 | uses: actions/checkout@v3 13 | with: 14 | submodules: true 15 | fetch-depth: 0 16 | 17 | 18 | 19 | - name: Build the Dockerfile 20 | run: docker build -f examples/Dockerfile/Dockerfile -t tiledb:dev . 21 | -------------------------------------------------------------------------------- /.github/workflows/check-pr-body.yml: -------------------------------------------------------------------------------- 1 | name: Check PR body 2 | 3 | on: 4 | pull_request: 5 | types: [opened, edited] 6 | paths-ignore: 7 | - '_quarto.yml' 8 | - 'quarto-materials/*' 9 | - '**/.md' 10 | - 'doc/source/conf.py' 11 | - 'tiledb/sm/c_api/tiledb_version.h' 12 | 13 | jobs: 14 | check_pr_body: 15 | runs-on: ubuntu-latest 16 | steps: 17 | - name: Check out the repository 18 | uses: actions/checkout@v3 19 | - name: Run PR body checker 20 | run: | 21 | cat <<'EOF' | scripts/parse_pr.py 22 | ${{ github.event.pull_request.body }} 23 | EOF 24 | -------------------------------------------------------------------------------- /.github/workflows/full-ci-dummy.yml: -------------------------------------------------------------------------------- 1 | name: "CI Placeholder (docs only)" 2 | on: 3 | pull_request: 4 | branches: 5 | - '*' # must quote since "*" is a YAML reserved character; we want a string 6 | 7 | ############################################################################## 8 | # # 9 | # This section must be synchronized with 'paths-ignore' in full-ci.yml # 10 | # # 11 | ############################################################################## 12 | 13 | paths: 14 | - '.github/workflows/quarto-render.yml' 15 | - '_quarto.yml' 16 | - 'quarto-materials/*' 17 | - '**/.md' 18 | - 'tiledb/doxygen/source/*' 19 | - 'tiledb/sm/c_api/tiledb_version.h' 20 | 21 | jobs: 22 | full_ci_passed: 23 | runs-on: ubuntu-latest 24 | steps: 25 | - run: 'echo "No build required" ' 26 | -------------------------------------------------------------------------------- /.github/workflows/nightly-dockerfile.yml: -------------------------------------------------------------------------------- 1 | name: Nightly-Dockerfile 2 | 3 | on: 4 | schedule: 5 | # runs every day at 2:50 UTC 6 | - cron: "50 02 * * *" 7 | workflow_call: 8 | workflow_dispatch: 9 | 10 | jobs: 11 | build: 12 | runs-on: ubuntu-latest 13 | strategy: 14 | matrix: 15 | dockerfile: 16 | - centos.dockerfile 17 | - rocky.dockerfile 18 | name: ${{ matrix.dockerfile }} 19 | steps: 20 | - name: Check out the repository 21 | uses: actions/checkout@v3 22 | with: 23 | submodules: true 24 | fetch-depth: 0 25 | - name: Build the Dockerfile 26 | run: docker build -f examples/Dockerfile/${{ matrix.dockerfile }} -t tiledb:dev . 27 | 28 | create_issue_on_fail: 29 | permissions: 30 | issues: write 31 | runs-on: ubuntu-latest 32 | needs: build 33 | if: failure() || cancelled() 34 | steps: 35 | - uses: actions/checkout@v4 36 | - name: Create Issue if Build Fails 37 | uses: TileDB-Inc/github-actions/open-issue@main 38 | with: 39 | name: Nightly Dev Build 40 | label: CI,nightly 41 | assignee: dudoslav 42 | -------------------------------------------------------------------------------- /.github/workflows/prepare-release.yml: -------------------------------------------------------------------------------- 1 | name: Prepare new release 2 | 3 | on: 4 | workflow_dispatch: 5 | inputs: 6 | version: 7 | description: 'New version to be released' 8 | required: true 9 | branch: 10 | description: 'Release branch' 11 | required: true 12 | 13 | jobs: 14 | prepare_release: 15 | runs-on: ubuntu-latest 16 | 17 | steps: 18 | - name: Check out the repository 19 | uses: actions/checkout@v3 20 | with: 21 | ref: ${{ github.event.inputs.branch }} 22 | token: ${{ secrets.GITHUB_TOKEN }} 23 | 24 | - name: Install dependencies 25 | run: pip install PyGithub 26 | 27 | - name: Update version and history 28 | run: python ./scripts/prepare_release.py ${{ github.event.inputs.version }} --token="${{ secrets.GITHUB_TOKEN }}" 29 | 30 | - name: Commit and push updates 31 | uses: test-room-7/action-update-file@v1 32 | with: 33 | branch: ${{ github.event.inputs.branch }} 34 | file-path: | 35 | HISTORY.md 36 | doc/source/conf.py 37 | tiledb/sm/c_api/tiledb_version.h 38 | commit-msg: "${{ github.event.inputs.version }} release notes, version update" 39 | github-token: ${{ secrets.GITHUB_TOKEN }} 40 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .nova* 2 | .vscode* 3 | *.sw? 4 | build/* 5 | build-*/* 6 | dist/* 7 | cmake-build-*/* 8 | core/bin/* 9 | core/obj/* 10 | core/lib/* 11 | core/include/temp 12 | core/src/temp 13 | coverage.info 14 | test/benchmarking/build/* 15 | test/bin/* 16 | test/cpp_unit_webp.png 17 | test/inputs/arrays/read_compatibility_test* 18 | test/obj/* 19 | test/regression/foo1 20 | test/regression/reading_incomplete_array 21 | test/tiledb_test/* 22 | Doxyfile.log 23 | doxyfile.inc 24 | doxygen/html/ 25 | doxygen/latex/ 26 | examples/bin/* 27 | examples/obj/* 28 | scripts/deps-staging/* 29 | .idea 30 | *.DS_Store 31 | compile_commands.json 32 | doc/venv 33 | doc/source/__pycache__ 34 | doc/source/_build 35 | doc/source/_sidebar.rst.inc 36 | doc/source/gensidebar.pyc 37 | examples/cmake_project/build 38 | CMakeUserPresets.json 39 | .vs/ 40 | 41 | # Quarto dev-cache 42 | /.quarto/ 43 | docs/.quarto 44 | # Let CI build this 45 | /docs 46 | 47 | vcpkg 48 | external/vcpkg 49 | -------------------------------------------------------------------------------- /.gitlab-ci.yml: -------------------------------------------------------------------------------- 1 | stages: 2 | - test 3 | 4 | trigger_pipeline: 5 | stage: test 6 | rules: 7 | - if: $CI_COMMIT_BRANCH =~ /^main|^release-.*/ || $CI_COMMIT_TAG != "" # only/except rules are no longer actively developed. Please use `rules` instead. 8 | - if: $CI_PIPELINE_SOURCE == "external_pull_request_event" 9 | changes: 10 | - "!.github/workflows/quarto-render.yml" 11 | - "!_quarto.yml" 12 | - "!quarto-materials/*" 13 | - "!**/.md" 14 | - "!tiledb/doxygen/source/*" 15 | - "!tiledb/sm/c_api/tiledb_version.h" 16 | 17 | variables: 18 | TILEDB_REF: ${CI_COMMIT_REF_NAME} 19 | 20 | trigger: 21 | project: tiledb-inc/tiledb-internal 22 | strategy: depend 23 | -------------------------------------------------------------------------------- /.readthedocs.yml: -------------------------------------------------------------------------------- 1 | # Don't build any extra formats 2 | formats: [] 3 | 4 | # Use RTD config version 2 5 | # https://docs.readthedocs.io/en/stable/config-file/v2.html 6 | version: 2 7 | 8 | sphinx: 9 | configuration: tiledb/doxygen/source/conf.py 10 | 11 | build: 12 | os: "ubuntu-22.04" 13 | tools: 14 | python: "3.8" 15 | 16 | python: 17 | install: 18 | # this order is important: we need cmake to build doxygen XML for breathe 19 | - requirements: tiledb/doxygen/source/requirements.txt 20 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2017-2021 TileDB, Inc. 4 | Copyright (c) 2016 MIT and Intel Corporation 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | 24 | -------------------------------------------------------------------------------- /cmake/CIConfig.cmake: -------------------------------------------------------------------------------- 1 | if (DEFINED ENV{GITHUB_ACTIONS}) 2 | include("${CMAKE_SOURCE_DIR}/.github/misc/github_actions_override.cmake") 3 | endif() 4 | -------------------------------------------------------------------------------- /cmake/Modules/FindCcache.cmake: -------------------------------------------------------------------------------- 1 | ## cf https://stackoverflow.com/questions/1815688/how-to-use-ccache-with-cmake 2 | ## leading to https://invent.kde.org/kde/konsole/merge_requests/26/diffs 3 | find_program(CCACHE REQUIRED NAMES "sccache" "ccache") 4 | 5 | if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" # GNU is GNU GCC 6 | OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") 7 | # without this compiler messages in `make` backend would be uncolored 8 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fdiagnostics-color=auto") 9 | endif() 10 | -------------------------------------------------------------------------------- /cmake/inputs/CustomCPackOptions.cmake.in: -------------------------------------------------------------------------------- 1 | set(CPACK_PACKAGE_VENDOR "TileDB Inc.") 2 | set(CPACK_PACKAGE_VERSION "@TILEDB_VERSION@") 3 | 4 | set(CPACK_INCLUDE_TOPLEVEL_DIRECTORY OFF) 5 | 6 | # Enable HASH 7 | set(CPACK_PACKAGE_CHECKSUM "SHA256") 8 | 9 | set(PACKAGE_VERSION $ENV{TILEDB_PACKAGE_VERSION}) 10 | if(NOT PACKAGE_VERSION) 11 | message(FATAL_ERROR "In order to package TileDB specify environment variable TILEDB_PACKAGE_VERSION") 12 | endif() 13 | 14 | set(CPACK_SOURCE_PACKAGE_FILE_NAME "${CPACK_SOURCE_PACKAGE_FILE_NAME}-${PACKAGE_VERSION}") 15 | set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_FILE_NAME}-${PACKAGE_VERSION}") 16 | -------------------------------------------------------------------------------- /cmake/inputs/detect_std_pmr.cc: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | 4 | int 5 | main() { 6 | auto resource = std::pmr::get_default_resource(); 7 | } 8 | -------------------------------------------------------------------------------- /cmake/inputs/tiledb.pc.in: -------------------------------------------------------------------------------- 1 | prefix="@CMAKE_INSTALL_PREFIX@" 2 | exec_prefix="${prefix}" 3 | libdir="${prefix}/@CMAKE_INSTALL_LIBDIR@" 4 | includedir="${prefix}/include" 5 | 6 | Name: TileDB 7 | Description: The Storage Engine for Data Science 8 | URL: https://github.com/TileDB-Inc/TileDB 9 | Version: @VERSION@ 10 | Requires: @PKGCONF_REQ_PUB@ 11 | Requires.private: @PKGCONF_REQ_PRIV@ 12 | Cflags: -I"${includedir}" 13 | Libs: -L"${libdir}" -ltiledb 14 | Libs.private: -L"${libdir}" -ltiledb @PKGCONF_LIBS_PRIV@ -------------------------------------------------------------------------------- /cmake/inputs/tiledb_win32_verinfo.rc.in: -------------------------------------------------------------------------------- 1 | #ifdef RC_INVOKED 2 | 3 | 1 VERSIONINFO 4 | /* Windows Explorer apparently presents FILEVERSION info from this field. */ 5 | FILEVERSION @TDB_WIN32_FILEVERSION@ 6 | /* Windows Explorer apparently DOES NOT present PRODUCTVERSION info from this field. */ 7 | PRODUCTVERSION @TDB_WIN32_FILEVERSION@ 8 | BEGIN 9 | BLOCK "StringFileInfo" 10 | BEGIN 11 | BLOCK "040904E4" 12 | BEGIN 13 | VALUE "CompanyName", "TileDB Inc." 14 | VALUE "FileDescription", "TileDB Embedded" 15 | /* Windows Explorer apparently DOES NOT present FileVersion info from this field. */ 16 | /* VALUE "FileVersion", TDB_WIN32_FILEVERSION_STR*/ 17 | VALUE "InternalName", "tiledb" 18 | VALUE "LegalCopyright", "Copyright (c) 2017-2023 TileDB, Inc. Licensed under the MIT License." 19 | VALUE "OriginalName", "tiledb.dll" 20 | VALUE "ProductName", "TileDB Embedded" 21 | /* Windows Explorer apparently presents ProductVersion info from this field. */ 22 | VALUE "ProductVersion", @TDB_WIN32_FILEVERSION_STR@ 23 | END 24 | END 25 | /* apparently VarFileInfo block required for ProductVersion/ProductName to display */ 26 | BLOCK "VarFileInfo" 27 | BEGIN 28 | VALUE "Translation", 0x0409, 1252 29 | END 30 | END 31 | 32 | #endif /*RC_INVOKED*/ 33 | -------------------------------------------------------------------------------- /doc/anaconda.svg: -------------------------------------------------------------------------------- 1 | Anaconda 2 | -------------------------------------------------------------------------------- /doc/dev/style/Memory.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Memory Guidelines 3 | --- 4 | 5 | ## Pointers and Allocations 6 | 7 | The use of `new` or `malloc` is forbidden unless justifcation and a team 8 | agreement on an exception is granted. Inplace a smart pointer should be used. 9 | 10 | That is a `unique_ptr`, `shared_ptr` or `weak_ptr` should be used in all cases. 11 | With `weak_ptr` being rarely used. 12 | 13 | In the core TileDB library we have our own `tdb_unique_ptr` and `tdb_shared_ptr` 14 | that must be used inplace of the `stl` versions. 15 | 16 | `make_unique_ptr` or `make_shared_ptr` is the preferred, exception safe, method 17 | of creating the smart pointers. 18 | 19 | Extreme care must be given to all allocations. Even when using STL containers 20 | like `std::vector` thoughtful consideration must be given for the dynamic 21 | allocations that will occur. 22 | 23 | If we are only allocating one megabyte or less _strongly_ consider fixed 24 | allocations instead. Fixed allocation help to avoid fragmentation of the heap. 25 | -------------------------------------------------------------------------------- /doc/dev/style/Variables.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Initialization 3 | --- 4 | 5 | ## Prefer direct initialization with a braced initialization list 6 | 7 | The title says it all. Here are some examples. 8 | 9 | ```c++ 10 | // No. This is initialization with an assignment expression. 11 | int x = 1; 12 | 13 | // No. This uses a parenthesized expression list. 14 | int x(1); 15 | 16 | // No. This has a brace initialization list, but it uses an assignment expression, 17 | // not direct initialization 18 | std::vector y = {1,2,3}; 19 | 20 | // Yes 21 | int x{1}; 22 | std::vector y{1,2,3}; 23 | ``` 24 | 25 | ## References 26 | 27 | * The FAQ for C++11 calls this [uniform initialization](https://isocpp.org/wiki/faq/cpp11-language#uniform-init). The term "uniform initialization" isn't the official name for the syntax, however. Rather, it describes the goal to allow a single syntax to be used for all initializations. 28 | * Section "11.6 Initializers \[dcl.init\]" in the C++17 standard, ISO/IEC 14882:2017. 29 | -------------------------------------------------------------------------------- /doc/dev/style/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Style Guide 3 | --- 4 | 5 | When in doubt and not in conflict with this style guide, follow [C++ Core 6 | Guidelines](https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines) 7 | 8 | ## C++ Standards 9 | 10 | Where possible we should use up to C++17. Some external packages, such as PDAL are 11 | limited in what they can use. Where we control the environment we should strive 12 | for C++17 usage. 13 | 14 | ### Table of Contents 15 | 16 | * [Functions](Functions.md) 17 | * With emphasis: [Inputs on the right. Outputs on the left.](Functions.md#inputs-on-the-right-outputs-on-the-left) 18 | * [Memory handling](Memory.md) 19 | * [Storage serialization](Serialization.md) 20 | 21 | ## CMake 22 | 23 | * [CMake guide](CMake.md) 24 | -------------------------------------------------------------------------------- /doc/source/_static/custom.css: -------------------------------------------------------------------------------- 1 | .wy-side-nav-search { 2 | background-color: #fafafa; 3 | color: #404040; 4 | } 5 | 6 | .wy-side-nav-search > a { 7 | color: #2980B9; 8 | } 9 | 10 | .wy-side-nav-search > div.version { 11 | color: rgba(64, 64, 64, 0.3); 12 | } 13 | 14 | .red { 15 | color: red; 16 | } 17 | 18 | .green { 19 | color: green; 20 | } 21 | 22 | /* override table no-wrap */ 23 | .wy-table-responsive table td, .wy-table-responsive table th { 24 | white-space: normal; 25 | } 26 | -------------------------------------------------------------------------------- /doc/source/_static/custom.js: -------------------------------------------------------------------------------- 1 | $(function() { 2 | /** 3 | * Override the default content-tabs selection logic. 4 | */ 5 | $('.contenttab-selector li').off('click').click(function(evt) { 6 | evt.preventDefault(); 7 | 8 | /** 9 | * For all tab blocks in the document, select the tabs with the same 10 | * class as this one. If a tab block doesn't have a matching tab, 11 | * do nothing (don't change its selection). 12 | */ 13 | 14 | var sel_class = $(this).attr('class'); 15 | 16 | $('div.content-tabs').each(function() { 17 | var selectors = $(this).find('ul.contenttab-selector'); 18 | var has_sel_class = $(selectors).find('.' + sel_class).length > 0; 19 | // Update the visibility and selected classes for the tabs in the 20 | // current content-tab group. 21 | if (has_sel_class) { 22 | $(this).find('div.contenttab').hide(); 23 | $(this).find('div#' + sel_class).show(); 24 | $(selectors).find('li').removeClass('selected'); 25 | $(selectors).find('li.' + sel_class).addClass('selected'); 26 | } 27 | }); 28 | }); 29 | }); -------------------------------------------------------------------------------- /doc/source/_static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/doc/source/_static/favicon.ico -------------------------------------------------------------------------------- /doc/source/_static/tileDB_uppercase_600_112.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/doc/source/_static/tileDB_uppercase_600_112.png -------------------------------------------------------------------------------- /doc/source/_static/tileDB_uppercase_white_600_141.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/doc/source/_static/tileDB_uppercase_white_600_141.png -------------------------------------------------------------------------------- /doc/source/_static/tiledb-logo_color_@4x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/doc/source/_static/tiledb-logo_color_@4x.png -------------------------------------------------------------------------------- /doc/source/_static/tiledb-logo_color_no_margin_@4x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/doc/source/_static/tiledb-logo_color_no_margin_@4x.png -------------------------------------------------------------------------------- /examples/Dockerfile/centos.dockerfile: -------------------------------------------------------------------------------- 1 | FROM dokken/centos-stream-9 2 | 3 | RUN yum -y install git g++ python3-pip curl zip unzip tar perl \ 4 | && pip install cmake 5 | 6 | WORKDIR /opt/tiledb 7 | COPY . . 8 | 9 | RUN cmake . -B build -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_MAKE_PROGRAM=make \ 10 | -DTILEDB_AZURE=ON -DTILEDB_S3=ON -DTILEDB_SERIALIZATION=ON -DTILEDB_TOOLS=ON \ 11 | -DCMAKE_INSTALL_PREFIX=/usr \ 12 | && cmake --build build \ 13 | && cmake --build build --target install-tiledb \ 14 | && ldconfig -------------------------------------------------------------------------------- /examples/Dockerfile/rocky.dockerfile: -------------------------------------------------------------------------------- 1 | FROM rockylinux:9 2 | 3 | RUN yum -y install git g++ python3-pip zip unzip tar perl \ 4 | && pip install cmake 5 | 6 | WORKDIR /opt/tiledb 7 | COPY . . 8 | 9 | RUN cmake . -B build -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_MAKE_PROGRAM=make \ 10 | -DTILEDB_AZURE=ON -DTILEDB_S3=ON -DTILEDB_SERIALIZATION=ON -DTILEDB_TOOLS=ON \ 11 | -DCMAKE_INSTALL_PREFIX=/usr \ 12 | && cmake --build build \ 13 | && cmake --build build --target install-tiledb \ 14 | && ldconfig 15 | -------------------------------------------------------------------------------- /examples/figures/dense_contents.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/examples/figures/dense_contents.png -------------------------------------------------------------------------------- /examples/figures/dense_schema.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/examples/figures/dense_schema.png -------------------------------------------------------------------------------- /examples/figures/dense_subarray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/examples/figures/dense_subarray.png -------------------------------------------------------------------------------- /examples/figures/dense_write_ordered_subarray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/examples/figures/dense_write_ordered_subarray.png -------------------------------------------------------------------------------- /examples/figures/dense_write_subarray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/examples/figures/dense_write_subarray.png -------------------------------------------------------------------------------- /examples/figures/dense_write_unordered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/examples/figures/dense_write_unordered.png -------------------------------------------------------------------------------- /examples/figures/sparse_contents.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/examples/figures/sparse_contents.png -------------------------------------------------------------------------------- /examples/figures/sparse_schema.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/examples/figures/sparse_schema.png -------------------------------------------------------------------------------- /examples/figures/sparse_subarray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/examples/figures/sparse_subarray.png -------------------------------------------------------------------------------- /examples/png_ingestion/README.md: -------------------------------------------------------------------------------- 1 | # TileDB example: PNG image data 2 | 3 | This directory contains the example program from the [PNG ingestion and slicing tutorial](https://docs.tiledb.io/en/latest/real-world-examples/dense-image-data.html). 4 | 5 | ## Build 6 | 7 | Required dependencies: TileDB and [libpng](https://sourceforge.net/projects/libpng/). 8 | 9 | ```bash 10 | $ mkdir build 11 | $ cd build 12 | $ cmake .. && make 13 | ``` 14 | 15 | This creates the executable `tiledb_png`. 16 | 17 | ## Run 18 | 19 | Ingests `input.png` into a new array `my_array_name`, slices and produces a new output image `output.png`: 20 | 21 | ```bash 22 | ./tiledb_png input.png my_array_name output.png 23 | ``` -------------------------------------------------------------------------------- /experimental/test/compile_experimental_main.cc: -------------------------------------------------------------------------------- 1 | /** 2 | * @file compile_experimental_main.cc 3 | * 4 | * @section LICENSE 5 | * 6 | * The MIT License 7 | * 8 | * @copyright Copyright (c) 2021 TileDB, Inc. 9 | * 10 | * Permission is hereby granted, free of charge, to any person obtaining a copy 11 | * of this software and associated documentation files (the "Software"), to deal 12 | * in the Software without restriction, including without limitation the rights 13 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be included in 18 | * all copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 26 | * THE SOFTWARE. 27 | */ 28 | 29 | int main() { 30 | return 0; 31 | } 32 | -------------------------------------------------------------------------------- /experimental/tiledb/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # 2 | # experimental/tiledb/CMakeLists.txt 3 | # 4 | # 5 | # The MIT License 6 | # 7 | # Copyright (c) 2021 TileDB, Inc. 8 | # 9 | # Permission is hereby granted, free of charge, to any person obtaining a copy 10 | # of this software and associated documentation files (the "Software"), to deal 11 | # in the Software without restriction, including without limitation the rights 12 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | # copies of the Software, and to permit persons to whom the Software is 14 | # furnished to do so, subject to the following conditions: 15 | # 16 | # The above copyright notice and this permission notice shall be included in 17 | # all copies or substantial portions of the Software. 18 | # 19 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 25 | # THE SOFTWARE. 26 | # 27 | include(common NO_POLICY_SCOPE) 28 | 29 | add_subdirectory(common) 30 | -------------------------------------------------------------------------------- /experimental/tiledb/common/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # 2 | # experimental/tiledb/common/CMakeLists.txt 3 | # 4 | # The MIT License 5 | # 6 | # Copyright (c) 2021-2022 TileDB, Inc. 7 | # 8 | # Permission is hereby granted, free of charge, to any person obtaining a copy 9 | # of this software and associated documentation files (the "Software"), to deal 10 | # in the Software without restriction, including without limitation the rights 11 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | # copies of the Software, and to permit persons to whom the Software is 13 | # furnished to do so, subject to the following conditions: 14 | # 15 | # The above copyright notice and this permission notice shall be included in 16 | # all copies or substantial portions of the Software. 17 | # 18 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | # THE SOFTWARE. 25 | # 26 | 27 | # message(STATUS "+++++++ in common") 28 | 29 | include(common-root) 30 | include(common) 31 | 32 | add_subdirectory(dag) 33 | -------------------------------------------------------------------------------- /experimental/tiledb/common/dag/data_block/data_block.cc: -------------------------------------------------------------------------------- 1 | /** 2 | * @file data_block.cc 3 | * 4 | * @section LICENSE 5 | * 6 | * The MIT License 7 | * 8 | * @copyright Copyright (c) 2022 TileDB, Inc. 9 | * 10 | * Permission is hereby granted, free of charge, to any person obtaining a copy 11 | * of this software and associated documentation files (the "Software"), to deal 12 | * in the Software without restriction, including without limitation the rights 13 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be included in 18 | * all copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 26 | * THE SOFTWARE. 27 | * 28 | * @section DESCRIPTION 29 | * 30 | * This file declares the DataBlock class for dag. 31 | */ 32 | #include "data_block.h" 33 | -------------------------------------------------------------------------------- /experimental/tiledb/common/dag/data_block/test/compile_data_block_main.cc: -------------------------------------------------------------------------------- 1 | /** 2 | * @file compile_data_block_main.cc 3 | * 4 | * @section LICENSE 5 | * 6 | * The MIT License 7 | * 8 | * @copyright Copyright (c) 2022 TileDB, Inc. 9 | * 10 | * Permission is hereby granted, free of charge, to any person obtaining a copy 11 | * of this software and associated documentation files (the "Software"), to deal 12 | * in the Software without restriction, including without limitation the rights 13 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be included in 18 | * all copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 26 | * THE SOFTWARE. 27 | * 28 | * 29 | */ 30 | 31 | #include "../data_block.h" 32 | 33 | int main() { 34 | } 35 | -------------------------------------------------------------------------------- /experimental/tiledb/common/dag/doc/miscellaneous.md: -------------------------------------------------------------------------------- 1 | 2 | ## Miscellaneous 3 | 4 | 5 | ### TileDB Conventions 6 | 7 | Data items are data blocks. 8 | 9 | -------------------------------------------------------------------------------- /experimental/tiledb/common/dag/edge/edge.cc: -------------------------------------------------------------------------------- 1 | /** 2 | * @file edge.cc 3 | * 4 | * @section LICENSE 5 | * 6 | * The MIT License 7 | * 8 | * @copyright Copyright (c) 2022 TileDB, Inc. 9 | * 10 | * Permission is hereby granted, free of charge, to any person obtaining a copy 11 | * of this software and associated documentation files (the "Software"), to deal 12 | * in the Software without restriction, including without limitation the rights 13 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be included in 18 | * all copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 26 | * THE SOFTWARE. 27 | * 28 | * @section DESCRIPTION 29 | * 30 | * This file declares the edge class for dag. 31 | */ 32 | 33 | #include "edge.h" 34 | -------------------------------------------------------------------------------- /experimental/tiledb/common/dag/edge/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # 2 | # experimental/tiledb/common/dag/edge/test/CMakeLists.txt 3 | # 4 | # 5 | # The MIT License 6 | # 7 | # Copyright (c) 2022 TileDB, Inc. 8 | # 9 | # Permission is hereby granted, free of charge, to any person obtaining a copy 10 | # of this software and associated documentation files (the "Software"), to deal 11 | # in the Software without restriction, including without limitation the rights 12 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | # copies of the Software, and to permit persons to whom the Software is 14 | # furnished to do so, subject to the following conditions: 15 | # 16 | # The above copyright notice and this permission notice shall be included in 17 | # all copies or substantial portions of the Software. 18 | # 19 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 25 | # THE SOFTWARE. 26 | # 27 | 28 | dag_add_header_only_unit_test(edge) 29 | dag_add_header_only_unit_test(block_edge) 30 | dag_add_header_only_unit_test(edge_pseudo_nodes) 31 | -------------------------------------------------------------------------------- /experimental/tiledb/common/dag/execution/bountiful.cc: -------------------------------------------------------------------------------- 1 | /** 2 | * @file bountiful.cc 3 | * 4 | * @section LICENSE 5 | * 6 | * The MIT License 7 | * 8 | * @copyright Copyright (c) 2022 TileDB, Inc. 9 | * 10 | * Permission is hereby granted, free of charge, to any person obtaining a copy 11 | * of this software and associated documentation files (the "Software"), to deal 12 | * in the Software without restriction, including without limitation the rights 13 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be included in 18 | * all copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 26 | * THE SOFTWARE. 27 | * 28 | * @section DESCRIPTION 29 | */ 30 | 31 | #include "bountiful.h" 32 | -------------------------------------------------------------------------------- /experimental/tiledb/common/dag/execution/duffs.cc: -------------------------------------------------------------------------------- 1 | /** 2 | * @file duffs.cc 3 | * 4 | * @section LICENSE 5 | * 6 | * The MIT License 7 | * 8 | * @copyright Copyright (c) 2022 TileDB, Inc. 9 | * 10 | * Permission is hereby granted, free of charge, to any person obtaining a copy 11 | * of this software and associated documentation files (the "Software"), to deal 12 | * in the Software without restriction, including without limitation the rights 13 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be included in 18 | * all copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 26 | * THE SOFTWARE. 27 | * 28 | * @section DESCRIPTION 29 | */ 30 | 31 | #include "duffs.h" 32 | -------------------------------------------------------------------------------- /experimental/tiledb/common/dag/execution/frugal.cc: -------------------------------------------------------------------------------- 1 | /** 2 | * @file frugal.cc 3 | * 4 | * @section LICENSE 5 | * 6 | * The MIT License 7 | * 8 | * @copyright Copyright (c) 2022 TileDB, Inc. 9 | * 10 | * Permission is hereby granted, free of charge, to any person obtaining a copy 11 | * of this software and associated documentation files (the "Software"), to deal 12 | * in the Software without restriction, including without limitation the rights 13 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be included in 18 | * all copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 26 | * THE SOFTWARE. 27 | * 28 | * @section DESCRIPTION 29 | */ 30 | 31 | #include "frugal.h" 32 | -------------------------------------------------------------------------------- /experimental/tiledb/common/dag/execution/task.cc: -------------------------------------------------------------------------------- 1 | /** 2 | * @file task.cc 3 | * 4 | * @section LICENSE 5 | * 6 | * The MIT License 7 | * 8 | * @copyright Copyright (c) 2022 TileDB, Inc. 9 | * 10 | * Permission is hereby granted, free of charge, to any person obtaining a copy 11 | * of this software and associated documentation files (the "Software"), to deal 12 | * in the Software without restriction, including without limitation the rights 13 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be included in 18 | * all copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 26 | * THE SOFTWARE. 27 | * 28 | * @section DESCRIPTION 29 | */ 30 | 31 | #include "task.h" 32 | -------------------------------------------------------------------------------- /experimental/tiledb/common/dag/execution/task_state_machine.cc: -------------------------------------------------------------------------------- 1 | /** 2 | * @file task_state_machine.cc 3 | * 4 | * @section LICENSE 5 | * 6 | * The MIT License 7 | * 8 | * @copyright Copyright (c) 2022 TileDB, Inc. 9 | * 10 | * Permission is hereby granted, free of charge, to any person obtaining a copy 11 | * of this software and associated documentation files (the "Software"), to deal 12 | * in the Software without restriction, including without limitation the rights 13 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be included in 18 | * all copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 26 | * THE SOFTWARE. 27 | * 28 | * @section DESCRIPTION 29 | */ 30 | 31 | #include "task_state_machine.h" 32 | -------------------------------------------------------------------------------- /experimental/tiledb/common/dag/execution/test/compile_bountiful_main.cc: -------------------------------------------------------------------------------- 1 | /** 2 | * @file compile_bountiful_main.cc 3 | * 4 | * @section LICENSE 5 | * 6 | * The MIT License 7 | * 8 | * @copyright Copyright (c) 2022 TileDB, Inc. 9 | * 10 | * Permission is hereby granted, free of charge, to any person obtaining a copy 11 | * of this software and associated documentation files (the "Software"), to deal 12 | * in the Software without restriction, including without limitation the rights 13 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be included in 18 | * all copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 26 | * THE SOFTWARE. 27 | */ 28 | 29 | #include "../bountiful.h" 30 | 31 | int main() { 32 | } 33 | -------------------------------------------------------------------------------- /experimental/tiledb/common/dag/execution/test/compile_threadpool_main.cc: -------------------------------------------------------------------------------- 1 | /** 2 | * @file compile_threadpool_main.cc 3 | * 4 | * @section LICENSE 5 | * 6 | * The MIT License 7 | * 8 | * @copyright Copyright (c) 2022 TileDB, Inc. 9 | * 10 | * Permission is hereby granted, free of charge, to any person obtaining a copy 11 | * of this software and associated documentation files (the "Software"), to deal 12 | * in the Software without restriction, including without limitation the rights 13 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be included in 18 | * all copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 26 | * THE SOFTWARE. 27 | */ 28 | 29 | #include "../threadpool.h" 30 | 31 | int main() { 32 | } 33 | -------------------------------------------------------------------------------- /experimental/tiledb/common/dag/execution/threadpool.cc: -------------------------------------------------------------------------------- 1 | /** 2 | * @file threadpool.cc 3 | * 4 | * @section LICENSE 5 | * 6 | * The MIT License 7 | * 8 | * @copyright Copyright (c) 2022 TileDB, Inc. 9 | * 10 | * Permission is hereby granted, free of charge, to any person obtaining a copy 11 | * of this software and associated documentation files (the "Software"), to deal 12 | * in the Software without restriction, including without limitation the rights 13 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be included in 18 | * all copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 26 | * THE SOFTWARE. 27 | * 28 | * @section DESCRIPTION 29 | */ 30 | 31 | #include "threadpool.h" 32 | -------------------------------------------------------------------------------- /experimental/tiledb/common/dag/execution/throw_catch.cc: -------------------------------------------------------------------------------- 1 | /** 2 | * @file throw_catch.cc 3 | * 4 | * @section LICENSE 5 | * 6 | * The MIT License 7 | * 8 | * @copyright Copyright (c) 2022 TileDB, Inc. 9 | * 10 | * Permission is hereby granted, free of charge, to any person obtaining a copy 11 | * of this software and associated documentation files (the "Software"), to deal 12 | * in the Software without restriction, including without limitation the rights 13 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be included in 18 | * all copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 26 | * THE SOFTWARE. 27 | * 28 | * @section DESCRIPTION 29 | */ 30 | 31 | #include "throw_catch.h" 32 | -------------------------------------------------------------------------------- /experimental/tiledb/common/dag/nodes/doc/mimo_node.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/experimental/tiledb/common/dag/nodes/doc/mimo_node.pdf -------------------------------------------------------------------------------- /experimental/tiledb/common/dag/nodes/doc/mimo_node.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/experimental/tiledb/common/dag/nodes/doc/mimo_node.png -------------------------------------------------------------------------------- /experimental/tiledb/common/dag/nodes/doc/mimo_node.svg/image36.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/experimental/tiledb/common/dag/nodes/doc/mimo_node.svg/image36.pdf -------------------------------------------------------------------------------- /experimental/tiledb/common/dag/nodes/doc/mimo_node.svg/image37.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/experimental/tiledb/common/dag/nodes/doc/mimo_node.svg/image37.pdf -------------------------------------------------------------------------------- /experimental/tiledb/common/dag/nodes/doc/mimo_node.svg/image38.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/experimental/tiledb/common/dag/nodes/doc/mimo_node.svg/image38.pdf -------------------------------------------------------------------------------- /experimental/tiledb/common/dag/nodes/doc/mimo_node.svg/image42.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/experimental/tiledb/common/dag/nodes/doc/mimo_node.svg/image42.pdf -------------------------------------------------------------------------------- /experimental/tiledb/common/dag/nodes/doc/mimo_node.svg/image43.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/experimental/tiledb/common/dag/nodes/doc/mimo_node.svg/image43.pdf -------------------------------------------------------------------------------- /experimental/tiledb/common/dag/nodes/doc/mimo_node.svg/image44.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/experimental/tiledb/common/dag/nodes/doc/mimo_node.svg/image44.pdf -------------------------------------------------------------------------------- /experimental/tiledb/common/dag/nodes/doc/simple_node.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/experimental/tiledb/common/dag/nodes/doc/simple_node.pdf -------------------------------------------------------------------------------- /experimental/tiledb/common/dag/nodes/doc/simple_node.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/experimental/tiledb/common/dag/nodes/doc/simple_node.png -------------------------------------------------------------------------------- /experimental/tiledb/common/dag/nodes/doc/simple_node.svg/image28.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/experimental/tiledb/common/dag/nodes/doc/simple_node.svg/image28.pdf -------------------------------------------------------------------------------- /experimental/tiledb/common/dag/nodes/doc/simple_node.svg/image29.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/experimental/tiledb/common/dag/nodes/doc/simple_node.svg/image29.pdf -------------------------------------------------------------------------------- /experimental/tiledb/common/dag/nodes/doc/simple_node.svg/image30.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/experimental/tiledb/common/dag/nodes/doc/simple_node.svg/image30.pdf -------------------------------------------------------------------------------- /experimental/tiledb/common/dag/nodes/doc/simple_node.svg/image31.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/experimental/tiledb/common/dag/nodes/doc/simple_node.svg/image31.pdf -------------------------------------------------------------------------------- /experimental/tiledb/common/dag/nodes/doc/simple_node.svg/image32.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/experimental/tiledb/common/dag/nodes/doc/simple_node.svg/image32.pdf -------------------------------------------------------------------------------- /experimental/tiledb/common/dag/nodes/simple_nodes.cc: -------------------------------------------------------------------------------- 1 | /** 2 | * @file simple.cc 3 | * 4 | * @section LICENSE 5 | * 6 | * The MIT License 7 | * 8 | * @copyright Copyright (c) 2022 TileDB, Inc. 9 | * 10 | * Permission is hereby granted, free of charge, to any person obtaining a copy 11 | * of this software and associated documentation files (the "Software"), to deal 12 | * in the Software without restriction, including without limitation the rights 13 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be included in 18 | * all copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 26 | * THE SOFTWARE. 27 | * 28 | * @section DESCRIPTION 29 | * 30 | * This file declares the DataBlock class for dag. 31 | */ 32 | #include "simple_nodes.h" 33 | -------------------------------------------------------------------------------- /experimental/tiledb/common/dag/nodes/test/compile_segmented_nodes_main.cc: -------------------------------------------------------------------------------- 1 | /** 2 | * @file compile_simple_main.cc 3 | * 4 | * @section LICENSE 5 | * 6 | * The MIT License 7 | * 8 | * @copyright Copyright (c) 2022 TileDB, Inc. 9 | * 10 | * Permission is hereby granted, free of charge, to any person obtaining a copy 11 | * of this software and associated documentation files (the "Software"), to deal 12 | * in the Software without restriction, including without limitation the rights 13 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be included in 18 | * all copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 26 | * THE SOFTWARE. 27 | * 28 | * 29 | */ 30 | 31 | #include "../segmented_nodes.h" 32 | 33 | int main() { 34 | } 35 | -------------------------------------------------------------------------------- /experimental/tiledb/common/dag/nodes/test/compile_simple_nodes_main.cc: -------------------------------------------------------------------------------- 1 | /** 2 | * @file compile_simple_main.cc 3 | * 4 | * @section LICENSE 5 | * 6 | * The MIT License 7 | * 8 | * @copyright Copyright (c) 2022 TileDB, Inc. 9 | * 10 | * Permission is hereby granted, free of charge, to any person obtaining a copy 11 | * of this software and associated documentation files (the "Software"), to deal 12 | * in the Software without restriction, including without limitation the rights 13 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be included in 18 | * all copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 26 | * THE SOFTWARE. 27 | * 28 | * 29 | */ 30 | 31 | #include "../simple_nodes.h" 32 | 33 | int main() { 34 | } 35 | -------------------------------------------------------------------------------- /experimental/tiledb/common/dag/ports/test/compile_pseudo_nodes_main.cc: -------------------------------------------------------------------------------- 1 | /** 2 | * @file compile_pseudo_nodes_main.cc 3 | * 4 | * @section LICENSE 5 | * 6 | * The MIT License 7 | * 8 | * @copyright Copyright (c) 2021 TileDB, Inc. 9 | * 10 | * Permission is hereby granted, free of charge, to any person obtaining a copy 11 | * of this software and associated documentation files (the "Software"), to deal 12 | * in the Software without restriction, including without limitation the rights 13 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be included in 18 | * all copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 26 | * THE SOFTWARE. 27 | */ 28 | 29 | #include "./pseudo_nodes.h" 30 | 31 | int main() { 32 | return 0; 33 | } 34 | -------------------------------------------------------------------------------- /experimental/tiledb/common/dag/utility/range_join.cc: -------------------------------------------------------------------------------- 1 | /** 2 | * @file range_join.cc 3 | * 4 | * @section LICENSE 5 | * 6 | * The MIT License 7 | * 8 | * @copyright Copyright (c) 2021-2022 TileDB, Inc. 9 | * 10 | * Permission is hereby granted, free of charge, to any person obtaining a copy 11 | * of this software and associated documentation files (the "Software"), to deal 12 | * in the Software without restriction, including without limitation the rights 13 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be included in 18 | * all copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 26 | * THE SOFTWARE. 27 | * 28 | * @section DESCRIPTION 29 | * 30 | */ 31 | 32 | #include "range_join.h" 33 | -------------------------------------------------------------------------------- /experimental/tiledb/common/dag/utility/spinlock.cc: -------------------------------------------------------------------------------- 1 | /** 2 | * @file spinlock.cc 3 | * 4 | * @section LICENSE 5 | * 6 | * The MIT License 7 | * 8 | * @copyright Copyright (c) 2021-2022 TileDB, Inc. 9 | * 10 | * Permission is hereby granted, free of charge, to any person obtaining a copy 11 | * of this software and associated documentation files (the "Software"), to deal 12 | * in the Software without restriction, including without limitation the rights 13 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be included in 18 | * all copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 26 | * THE SOFTWARE. 27 | * 28 | * @section DESCRIPTION 29 | * 30 | */ 31 | 32 | #include "spinlock.h" 33 | -------------------------------------------------------------------------------- /external/blosc/README-VERSIONS.md: -------------------------------------------------------------------------------- 1 | The blosc files here were copied from release 1.21.0 of the `c-blosc` repository 2 | of the Blosc project. 3 | All we are using here is the byte shuffle code, so we do not have the library itself 4 | as an external dependency. 5 | We only use a selected subset of the sources; they are used without modification. 6 | 7 | * https://github.com/Blosc/c-blosc 8 | * https://github.com/Blosc/c-blosc/releases/tag/v1.21.0 -------------------------------------------------------------------------------- /external/blosc/include/blosc-comp-features.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | Blosc - Blocked Shuffling and Compression Library 3 | 4 | Author: Francesc Alted 5 | 6 | See LICENSES/BLOSC.txt for details about copyright and rights to use. 7 | **********************************************************************/ 8 | 9 | #ifndef BLOSC_COMP_FEATURES_H 10 | #define BLOSC_COMP_FEATURES_H 11 | 12 | /* Use inlined functions for supported systems */ 13 | #if defined(_MSC_VER) && !defined(__cplusplus) /* Visual Studio */ 14 | #define BLOSC_INLINE __inline /* Visual C is not C99, but supports some kind of inline */ 15 | #elif __STDC_VERSION__ >= 199901L 16 | #define BLOSC_INLINE inline 17 | #else 18 | #define BLOSC_INLINE 19 | #endif 20 | 21 | #endif /* BLOSC_COMP_FEATURES_H */ 22 | -------------------------------------------------------------------------------- /external/blosc/include/shuffle-avx2.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | Blosc - Blocked Shuffling and Compression Library 3 | 4 | Author: Francesc Alted 5 | 6 | See LICENSES/BLOSC.txt for details about copyright and rights to use. 7 | **********************************************************************/ 8 | 9 | /* AVX2-accelerated shuffle/unshuffle routines. */ 10 | 11 | #ifndef SHUFFLE_AVX2_H 12 | #define SHUFFLE_AVX2_H 13 | 14 | #include "blosc-common.h" 15 | 16 | #ifdef __cplusplus 17 | extern "C" { 18 | #endif 19 | 20 | /** 21 | AVX2-accelerated shuffle routine. 22 | */ 23 | BLOSC_NO_EXPORT void blosc_internal_shuffle_avx2(const size_t bytesoftype, const size_t blocksize, 24 | const uint8_t* const _src, uint8_t* const _dest); 25 | 26 | /** 27 | AVX2-accelerated unshuffle routine. 28 | */ 29 | BLOSC_NO_EXPORT void blosc_internal_unshuffle_avx2(const size_t bytesoftype, const size_t blocksize, 30 | const uint8_t* const _src, uint8_t* const _dest); 31 | 32 | #ifdef __cplusplus 33 | } 34 | #endif 35 | 36 | #endif /* SHUFFLE_AVX2_H */ 37 | -------------------------------------------------------------------------------- /external/blosc/include/shuffle-sse2.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | Blosc - Blocked Shuffling and Compression Library 3 | 4 | Author: Francesc Alted 5 | 6 | See LICENSES/BLOSC.txt for details about copyright and rights to use. 7 | **********************************************************************/ 8 | 9 | /* SSE2-accelerated shuffle/unshuffle routines. */ 10 | 11 | #ifndef SHUFFLE_SSE2_H 12 | #define SHUFFLE_SSE2_H 13 | 14 | #include "blosc-common.h" 15 | 16 | #ifdef __cplusplus 17 | extern "C" { 18 | #endif 19 | 20 | /** 21 | SSE2-accelerated shuffle routine. 22 | */ 23 | BLOSC_NO_EXPORT void blosc_internal_shuffle_sse2(const size_t bytesoftype, const size_t blocksize, 24 | const uint8_t* const _src, uint8_t* const _dest); 25 | 26 | /** 27 | SSE2-accelerated unshuffle routine. 28 | */ 29 | BLOSC_NO_EXPORT void blosc_internal_unshuffle_sse2(const size_t bytesoftype, const size_t blocksize, 30 | const uint8_t* const _src, uint8_t* const _dest); 31 | 32 | #ifdef __cplusplus 33 | } 34 | #endif 35 | 36 | #endif /* SHUFFLE_SSE2_H */ 37 | -------------------------------------------------------------------------------- /external/blosc/src/shuffle-generic.c: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | Blosc - Blocked Shuffling and Compression Library 3 | 4 | Author: Francesc Alted 5 | 6 | See LICENSES/BLOSC.txt for details about copyright and rights to use. 7 | **********************************************************************/ 8 | 9 | #include "shuffle-generic.h" 10 | 11 | /* Shuffle a block. This can never fail. */ 12 | void blosc_internal_shuffle_generic(const size_t bytesoftype, const size_t blocksize, 13 | const uint8_t* const _src, uint8_t* const _dest) 14 | { 15 | /* Non-optimized shuffle */ 16 | shuffle_generic_inline(bytesoftype, 0, blocksize, _src, _dest); 17 | } 18 | 19 | /* Unshuffle a block. This can never fail. */ 20 | void blosc_internal_unshuffle_generic(const size_t bytesoftype, const size_t blocksize, 21 | const uint8_t* const _src, uint8_t* const _dest) 22 | { 23 | /* Non-optimized unshuffle */ 24 | unshuffle_generic_inline(bytesoftype, 0, blocksize, _src, _dest); 25 | } 26 | -------------------------------------------------------------------------------- /external/include/bitshuffle/LICENSE: -------------------------------------------------------------------------------- 1 | Bitshuffle - Filter for improving compression of typed binary data. 2 | 3 | Copyright (c) 2014 Kiyoshi Masui (kiyo@physics.ubc.ca) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /format_spec/FORMAT_SPEC.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Format Specification 3 | --- 4 | 5 | **Notes:** 6 | 7 | * The current TileDB array format version number is **22** (`uint32_t`). 8 | * Other structures might be versioned separately. 9 | * Data written by TileDB and referenced in this document is **little-endian** 10 | with the following exceptions: 11 | 12 | - [Dictionary encoding filter](filters/dictionary_encoding.md) 13 | - RLE filter 14 | 15 | ## Table of Contents 16 | 17 | * **Array** 18 | * [Format Version History](./array_format_history.md) 19 | * [File hierarchy](./array_file_hierarchy.md) 20 | * [Array Schema](./array_schema.md) 21 | * [Fragment](./fragment.md) 22 | * [Array Metadata](./metadata.md) 23 | * [Tile](./tile.md) 24 | * [Generic Tile](./generic_tile.md) 25 | * **Group** 26 | * [File hierarchy](./group_file_hierarchy.md) 27 | * **Other** 28 | * [Consolidated Fragment Metadata File](./consolidated_fragment_metadata_file.md) 29 | * [Filter Pipeline](./filter_pipeline.md) 30 | * [Timestamped Name](./timestamped_name.md) 31 | * [Vacuum File](./vacuum_file.md) 32 | -------------------------------------------------------------------------------- /format_spec/current_domain.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Current Domain 3 | --- 4 | 5 | > [!NOTE] 6 | > The specification for the array current domain was moved to the [array schema specification document](./array_schema.md#current-domain). 7 | -------------------------------------------------------------------------------- /format_spec/enumeration.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Enumerations 3 | --- 4 | 5 | ## Main Structure 6 | 7 | ``` 8 | my_array # array folder 9 | | ... 10 | |_ schema # ArraySchema directory named `__schema` 11 | |_ enumerations # Enumeration directory named `__enumerations` 12 | |_ enumeration # enumeration data with names `__uuid_v` 13 | 14 | 15 | Enumeration data is stored in a subdirectory of the [array schema][./array_schema.md] 16 | directory. Enumerations are stored using [Generic Tiles][./generic_tile.md]. 17 | 18 | | **Field** | **Type** | **Description** | 19 | | :--- | :--- | :--- | 20 | | Version number | `uint32_t` | Enumerations version number | 21 | | Datatype | `uint8_t` | The datatype of the enumeration values | 22 | | Cell Val Num | `uint32_t` | The cell val num of the enumeration values | 23 | | Ordered | `bool` | Whether the enumeration values should be considered ordered | 24 | | Data Size | `uint64_t` | The number of bytes used to store the values | 25 | | Data | `uint8_t` * Data Size | The data for the enumeration values | 26 | | Offsets Size | `uint64_t` | The number of bytes used to store offsets if cell_var_num is TILEDB_VAR_NUM | 27 | | Offsets | `uint8_t` * Offsets Size | The offsets data for the enumeration if cell_var_num is TILEDB_VAR_NUM | 28 | -------------------------------------------------------------------------------- /format_spec/figures/bgra_layout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/format_spec/figures/bgra_layout.png -------------------------------------------------------------------------------- /format_spec/filters/delta.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Delta Filter 3 | --- 4 | 5 | ## Delta Filter 6 | 7 | The delta filter transforms integer type data by computing and storing the delta between consecutive elements. 8 | 9 | ### Filter Enum Value 10 | 11 | The filter enum value for the delta filter is `19` (`TILEDB_FILTER_DELTA` enum). 12 | 13 | ### Input and Output Layout 14 | 15 | The input data layout will be an array of integer numbers (each known as `in_{n}`, with `n` starting from 0). Their type (henceforth known as `input_t`) is inferred from the output type of the previous filter, or the tile's datatype if this is the first filter in the pipeline, but can be overriden by the [_Reinterpret datatype_ field](../filter_pipeline.md#delta-compressor-options) in the filter options. 16 | 17 | The output data layout consists of the following fields: 18 | 19 | |Field|Type|Description| 20 | |:---|:---|:---| 21 | |`n`|`uint64_t`|Number of values in the input data.| 22 | |`in_0`|`input_t`|First input value.| 23 | |`delta_1`|`input_t`|Value of `in_1 - in_0`.| 24 | |`delta_n`|`input_t`|Value of `in_n - in_{n - 1}`.| 25 | -------------------------------------------------------------------------------- /format_spec/filters/xor.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: XOR Filter 3 | --- 4 | 5 | The XOR filter applies the XOR operation sequentially to the input data, in chunks of 1-4 bytes, depending on the `sizeof` the attribute's type representation. For example, given `data` as a NumPy int64 array: 6 | 7 | ``` 8 | data = np.random.rand(npts) 9 | data_b = data.view(np.int64) 10 | for i in range(1, len(data)): 11 | data_b[i] = data_b[i] ^ data_b[i-1] 12 | ``` 13 | 14 | # Filter Enum Value 15 | 16 | The filter enum value for the XOR filter is `16` (TILEDB_FILTER_XOR enum). 17 | 18 | # Input and Output Layout 19 | 20 | The input and output data layout is identical for the XOR filter. 21 | -------------------------------------------------------------------------------- /format_spec/generic_tile.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Generic Tile 3 | --- 4 | 5 | The generic tile is a [tile](./tile.md) prepended with some extra header data, so that it can be used stand-alone without requiring extra information from the array schema. A generic tile has the following on-disk format: 6 | 7 | | **Field** | **Type** | **Description** | 8 | | :--- | :--- | :--- | 9 | | Version number | `uint32_t` | Format version number of the generic tile | 10 | | Persisted size | `uint64_t` | Persisted \(e.g. compressed\) size of the tile | 11 | | Tile size | `uint64_t` | In-memory \(e.g. uncompressed\) size of the tile | 12 | | Datatype | `uint8_t` | Datatype of the tile | 13 | | Cell size | `uint64_t` | Cell size of the tile | 14 | | Encryption type | `uint8_t` | Type of encryption used in filtering the tile | 15 | | Filter pipeline size | `uint32_t` | Number of bytes in the serialized filter pipeline | 16 | | Filter pipeline | [Filter Pipeline](./filter_pipeline.md) | Filter pipeline used to filter the tile | 17 | | Tile data | [Tile](./tile.md) | The serialized tile data | 18 | -------------------------------------------------------------------------------- /format_spec/group_file_hierarchy.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Group File Hierarchy 3 | --- 4 | 5 | A TileDB group is a folder with a single file in it: 6 | 7 | ``` 8 | my_group # Group folder 9 | |_ __tiledb_group.tdb # Empty group file 10 | |_ __group # Group folder 11 | |_ # Timestamped group file detailing members 12 | |_ __meta # group metadata folder 13 | ``` 14 | 15 | File `__tiledb_group.tdb` is empty and it is merely used to indicate that `my_group` is a TileDB group. 16 | 17 | Inside the group folder, you can find the following: 18 | 19 | * [Group details](./group.md) folder `__group`. 20 | * [Group metadata](./metadata.md) folder `__meta`. 21 | -------------------------------------------------------------------------------- /format_spec/metadata.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Array Metadata 3 | --- 4 | 5 | ## Main Structure 6 | 7 | The metadata is a folder called `__meta` located here: 8 | 9 | ``` 10 | my_array # array folder 11 | | ... 12 | |_ __meta # metadata folder 13 | |_ # metadata file 14 | |_ ... 15 | |_ .vac # vacuum file 16 | |_ ... 17 | ``` 18 | 19 | The metadata folder can contain any number of [timestamped](./timestamped_name.md): 20 | * [metadata files](#array-metadata-file) 21 | * [vacuum files](./vacuum_file.md) 22 | * **Note**: the timestamped names do _not_ include the format version. 23 | 24 | ## Metadata File 25 | 26 | The metadata file consists of a single [generic tile](./generic_tile.md), containing multiple entries with the following data: 27 | 28 | | **Field** | **Type** | **Description** | 29 | | :--- | :--- | :--- | 30 | | Key length | `uint32_t` | The length of the key. | 31 | | Key | `uint8_t[]` | The key. | 32 | | Deletion | `uint8_t` | `1`/`0` if it is a deletion/insertion. | 33 | | Value type | `uint8_t` | The value data type. Present only if `del` is `0`. | 34 | | Number of values | `uint32_t` | The number of values. Present only if `del` is `0`. | 35 | | Value | `uint8_t[]` | The value. Present only if `del` is `0`. | 36 | -------------------------------------------------------------------------------- /format_spec/timestamped_name.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Timestamped Name 3 | --- 4 | 5 | A TileDB object may contain files with format `.ext`, as seen in [array_file_hierarchy.md](./array_file_hierarchy.md), for example. 6 | 7 | A `` has format `__t1_t2_uuid[_v]`, where: 8 | 9 | * `t1` and `t2` are timestamps in milliseconds elapsed since 1970-01-01 00:00:00 +0000 (UTC) 10 | * `uuid` is a unique identifier 11 | * `v` is the _optional_ format version, as indicated by `[]` 12 | 13 | ## Format History 14 | _Note_: The presence of `[]` is indicative of an optional parameter. 15 | | Format version | TileDB version | Timestamped name format | 16 | | :-: | :-: | :-: | 17 | | 1 - 2 | 1.4 - 1.5 | `__uuid_t1[_t2]` | 18 | | 3 - 4 | 1.6 - 1.7 | `__t1_t2_uuid` | 19 | | 5+ | 2.0+ | `__t1_t2_uuid[_v]` | 20 | -------------------------------------------------------------------------------- /format_spec/vacuum_file.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Vacuum File 3 | --- 4 | 5 | A vacuum file has name `[``](./timestamped_name.md)`.vac` and can be located either in the array commit folder: 6 | 7 | ``` 8 | my_array # array folder 9 | |_ .... 10 | |_ __commits # array commit folder 11 | |_ .vac # vacuum file 12 | ``` 13 | 14 | or in the array or group metadata folder: 15 | 16 | ``` 17 | my_obj # array/group folder 18 | | ... 19 | | __meta # metadata folder 20 | | ... 21 | | .vac # vacuum file 22 | | ... 23 | ``` 24 | 25 | When located in the commits folder, it will include the name of fragments (in the `__fragments` folder) that can be vacuumed. When located in the metadata folder, it will include the URI or metadata files that can be vacuumed. 26 | 27 | The vacuum file is a simple text file where each line contains a string: 28 | 29 | | **Field** | **Type** | **Description** | 30 | | :--- | :--- | :--- | 31 | | Item 1 followed by a new line character | `uint8_t[]` | Item 1 to be vacuumed | 32 | | … | … | … | 33 | | Item N followed by a new line character | `uint8_t[]` | Item N to be vacuumed | 34 | 35 | > [!NOTE] 36 | > Prior to version 19, vacuum files contained absolute URIs. 37 | -------------------------------------------------------------------------------- /index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Public code docs 3 | --- 4 | 5 | This is public documentation of the code within this repository. 6 | -------------------------------------------------------------------------------- /ports/aws-c-cal/portfile.cmake: -------------------------------------------------------------------------------- 1 | vcpkg_from_github( 2 | OUT_SOURCE_PATH SOURCE_PATH 3 | REPO awslabs/aws-c-cal 4 | REF "v${VERSION}" 5 | SHA512 c601a00f5e21bf42bd8e44787182be3805b90ab9c8a23025bed5acac602718548e6236106891b336c4ea81f68a26c3f0a5d33e090246b670efe53229df1fca90 6 | HEAD_REF master 7 | PATCHES remove-libcrypto-messages.patch 8 | ) 9 | 10 | if (NOT (VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_OSX)) 11 | set(USE_OPENSSL ON) 12 | endif() 13 | 14 | vcpkg_cmake_configure( 15 | SOURCE_PATH "${SOURCE_PATH}" 16 | OPTIONS 17 | "-DCMAKE_MODULE_PATH=${CURRENT_INSTALLED_DIR}/share/aws-c-common" # use extra cmake files 18 | -DBUILD_TESTING=FALSE 19 | -DUSE_OPENSSL=${USE_OPENSSL} 20 | ) 21 | 22 | vcpkg_cmake_install() 23 | 24 | string(REPLACE "dynamic" "shared" subdir "${VCPKG_LIBRARY_LINKAGE}") 25 | vcpkg_cmake_config_fixup(CONFIG_PATH "lib/${PORT}/cmake/${subdir}" DO_NOT_DELETE_PARENT_CONFIG_PATH) 26 | vcpkg_cmake_config_fixup(CONFIG_PATH "lib/${PORT}/cmake") 27 | vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/${PORT}-config.cmake" [[/${type}/]] "/") 28 | 29 | file(REMOVE_RECURSE 30 | "${CURRENT_PACKAGES_DIR}/debug/include" 31 | "${CURRENT_PACKAGES_DIR}/debug/lib/${PORT}" 32 | "${CURRENT_PACKAGES_DIR}/debug/share" 33 | "${CURRENT_PACKAGES_DIR}/lib/${PORT}" 34 | ) 35 | 36 | vcpkg_copy_pdbs() 37 | 38 | vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") 39 | -------------------------------------------------------------------------------- /ports/aws-c-cal/remove-libcrypto-messages.patch: -------------------------------------------------------------------------------- 1 | diff --git a/cmake/modules/Findcrypto.cmake b/cmake/modules/Findcrypto.cmake 2 | index fed83bb..9c1ae28 100644 3 | --- a/cmake/modules/Findcrypto.cmake 4 | +++ b/cmake/modules/Findcrypto.cmake 5 | @@ -105,9 +105,6 @@ else() 6 | set(CRYPTO_FOUND true) 7 | set(crypto_FOUND true) 8 | 9 | - message(STATUS "LibCrypto Include Dir: ${crypto_INCLUDE_DIR}") 10 | - message(STATUS "LibCrypto Shared Lib: ${crypto_SHARED_LIBRARY}") 11 | - message(STATUS "LibCrypto Static Lib: ${crypto_STATIC_LIBRARY}") 12 | if (NOT TARGET AWS::crypto AND 13 | (EXISTS "${crypto_LIBRARY}") 14 | ) 15 | -------------------------------------------------------------------------------- /ports/aws-c-cal/vcpkg.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "aws-c-cal", 3 | "version": "0.8.1", 4 | "port-version": 1, 5 | "description": "C99 wrapper for cryptography primitives.", 6 | "homepage": "https://github.com/awslabs/aws-c-cal", 7 | "license": "Apache-2.0", 8 | "dependencies": [ 9 | "aws-c-common", 10 | { 11 | "name": "openssl", 12 | "platform": "!windows & !osx" 13 | }, 14 | { 15 | "name": "vcpkg-cmake", 16 | "host": true 17 | }, 18 | { 19 | "name": "vcpkg-cmake-config", 20 | "host": true 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /ports/aws-sdk-cpp/find-dependency.patch: -------------------------------------------------------------------------------- 1 | diff --git a/toolchains/core-config.cmake b/toolchains/core-config.cmake 2 | index d90bfaf747..ab14402577 100644 3 | --- a/toolchains/core-config.cmake 4 | +++ b/toolchains/core-config.cmake 5 | @@ -15,5 +15,9 @@ if (AWSSDK_CRYPTO_IN_SOURCE_BUILD) 6 | find_dependency(crypto) 7 | find_dependency(ssl) 8 | endif() 9 | +find_dependency(ZLIB) 10 | +if("@ENABLE_CURL_CLIENT@") 11 | + find_dependency(CURL) 12 | +endif() 13 | set(BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS_PREV}) 14 | include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@-targets.cmake") 15 | -------------------------------------------------------------------------------- /ports/aws-sdk-cpp/fix-aws-root.patch: -------------------------------------------------------------------------------- 1 | diff --git a/cmake/AWSSDKConfig.cmake b/cmake/AWSSDKConfig.cmake 2 | --- a/cmake/AWSSDKConfig.cmake (revision 2f90f9fd6c56460bd382243aa215fcddcb5883c8) 3 | +++ b/cmake/AWSSDKConfig.cmake (date 1636913220527) 4 | @@ -54,18 +54,14 @@ 5 | string(REPLACE ";" "${AWS_MODULE_DIR};" SYSTEM_MODULE_PATH "${CMAKE_SYSTEM_PREFIX_PATH}${AWS_MODULE_DIR}") 6 | list(APPEND CMAKE_MODULE_PATH ${AWS_MODULE_PATH} ${SYSTEM_MODULE_PATH}) 7 | 8 | -# On Windows, dlls are treated as runtime target and installed in bindir 9 | if (WIN32 AND AWSSDK_INSTALL_AS_SHARED_LIBS) 10 | - set(AWSSDK_INSTALL_LIBDIR "${AWSSDK_INSTALL_BINDIR}") 11 | # If installed CMake scripts are associated with dll library, define USE_IMPORT_EXPORT for customers 12 | add_definitions(-DUSE_IMPORT_EXPORT) 13 | endif() 14 | 15 | 16 | # Compute the default installation root relative to this file. 17 | -# from prefix/lib/cmake/AWSSDK/xx.cmake to prefix 18 | get_filename_component(AWSSDK_DEFAULT_ROOT_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) 19 | -get_filename_component(AWSSDK_DEFAULT_ROOT_DIR "${AWSSDK_DEFAULT_ROOT_DIR}" PATH) 20 | get_filename_component(AWSSDK_DEFAULT_ROOT_DIR "${AWSSDK_DEFAULT_ROOT_DIR}" PATH) 21 | get_filename_component(AWSSDK_DEFAULT_ROOT_DIR "${AWSSDK_DEFAULT_ROOT_DIR}" PATH) 22 | get_filename_component(AWS_NATIVE_SDK_ROOT "${CMAKE_CURRENT_SOURCE_DIR}" ABSOLUTE) 23 | -------------------------------------------------------------------------------- /ports/aws-sdk-cpp/fix-wininet-http2.patch: -------------------------------------------------------------------------------- 1 | diff --git a/src/aws-cpp-sdk-core/source/http/windows/WinINetSyncHttpClient.cpp b/src/aws-cpp-sdk-core/source/http/windows/WinINetSyncHttpClient.cpp 2 | index b79caf4..caf9e4b 100644 3 | --- a/src/aws-cpp-sdk-core/source/http/windows/WinINetSyncHttpClient.cpp 4 | +++ b/src/aws-cpp-sdk-core/source/http/windows/WinINetSyncHttpClient.cpp 5 | @@ -31,6 +31,10 @@ using namespace Aws::Utils::Logging; 6 | static const DWORD HTTP_PROTOCOL_FLAG_HTTP2 = 0x2; 7 | #endif 8 | 9 | +#ifndef INTERNET_OPTION_ENABLE_HTTP_PROTOCOL 10 | +static const DWORD INTERNET_OPTION_ENABLE_HTTP_PROTOCOL = 148; 11 | +#endif 12 | + 13 | static void WinINetEnableHttp2(void* handle) 14 | { 15 | DWORD http2 = HTTP_PROTOCOL_FLAG_HTTP2; 16 | -------------------------------------------------------------------------------- /ports/aws-sdk-cpp/fix-winsock-headers.patch: -------------------------------------------------------------------------------- 1 | diff --git a/src/aws-cpp-sdk-core/source/http/windows/WinHttpSyncHttpClient.cpp b/src/aws-cpp-sdk-core/source/http/windows/WinHttpSyncHttpClient.cpp 2 | index b8ab519..7cd91e9 100644 3 | --- a/src/aws-cpp-sdk-core/source/http/windows/WinHttpSyncHttpClient.cpp 4 | +++ b/src/aws-cpp-sdk-core/source/http/windows/WinHttpSyncHttpClient.cpp 5 | @@ -19,6 +19,9 @@ 6 | 7 | #include 8 | #include 9 | +#ifdef __MINGW32__ 10 | +#include 11 | +#endif 12 | #include // for tcp_keepalive 13 | #include 14 | #include 15 | -------------------------------------------------------------------------------- /ports/aws-sdk-cpp/lock-curl-http-and-tls-settings.patch: -------------------------------------------------------------------------------- 1 | diff --git a/src/aws-cpp-sdk-core/CMakeLists.txt b/src/aws-cpp-sdk-core/CMakeLists.txt 2 | index c44546b0e..b66888362 100644 3 | --- a/src/aws-cpp-sdk-core/CMakeLists.txt 4 | +++ b/src/aws-cpp-sdk-core/CMakeLists.txt 5 | @@ -113,13 +113,8 @@ if(ENABLE_CURL_CLIENT) 6 | int main() { 7 | CURL* handle = curl_easy_init(); 8 | return curl_easy_setopt(handle, CURLOPT_PROXY_SSLCERT, \"client.pem\"); }") 9 | - if (CMAKE_CROSSCOMPILING) 10 | - check_c_source_compiles("${CHECK_CURL_HAS_H2}" CURL_HAS_H2) 11 | - check_c_source_compiles("${CHECK_CURL_HAS_TLS_PROXY}" CURL_HAS_TLS_PROXY) 12 | - else() 13 | - check_c_source_runs("${CHECK_CURL_HAS_H2}" CURL_HAS_H2) 14 | - check_c_source_runs("${CHECK_CURL_HAS_TLS_PROXY}" CURL_HAS_TLS_PROXY) 15 | - endif() 16 | + set(CURL_HAS_H2 OFF) 17 | + set(CURL_HAS_TLS_PROXY ON) 18 | elseif(ENABLE_WINDOWS_CLIENT) 19 | # NOTE: HTTP/2 is not supported when using IXML_HTTP_REQUEST_2 20 | if(USE_IXML_HTTP_REQUEST_2) 21 | -------------------------------------------------------------------------------- /ports/aws-sdk-cpp/usage: -------------------------------------------------------------------------------- 1 | The package @PORT@:@TARGET_TRIPLET@ provides CMake targets: 2 | 3 | When using AWSSDK, AWSSDK_ROOT_DIR must be defined by the user. 4 | find_package(AWSSDK CONFIG COMPONENTS core dynamodb kinesis s3 REQUIRED) 5 | target_include_directories(main PRIVATE ${AWSSDK_INCLUDE_DIRS}) 6 | target_link_libraries(main PRIVATE ${AWSSDK_LIBRARIES}) 7 | 8 | OR 9 | 10 | find_package(aws-cpp-sdk-core REQUIRED) 11 | target_include_directories(main PRIVATE aws-cpp-sdk-core) 12 | target_link_libraries(main PRIVATE aws-cpp-sdk-core) 13 | -------------------------------------------------------------------------------- /ports/aws-sdk-cpp/vcpkg.in.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "aws-sdk-cpp", 3 | "version": "1.11.474", 4 | "description": "AWS SDK for C++", 5 | "homepage": "https://github.com/aws/aws-sdk-cpp", 6 | "license": "Apache-2.0", 7 | "dependencies": [ 8 | "aws-crt-cpp", 9 | { 10 | "name": "curl", 11 | "default-features": false, 12 | "features": [ 13 | "ssl" 14 | ], 15 | "platform": "!uwp & !windows" 16 | }, 17 | { 18 | "name": "openssl", 19 | "platform": "!uwp & !windows" 20 | }, 21 | { 22 | "name": "vcpkg-cmake", 23 | "host": true 24 | }, 25 | { 26 | "name": "vcpkg-cmake-config", 27 | "host": true 28 | }, 29 | "zlib" 30 | ], 31 | "default-features": [ 32 | "dynamodb", 33 | "kinesis", 34 | "s3" 35 | ] 36 | } 37 | -------------------------------------------------------------------------------- /ports/capnproto/undef-KJ_USE_EPOLL-for-ANDROID_PLATFORM-23.patch: -------------------------------------------------------------------------------- 1 | From 306220e57881064da99f89ad4192b3e19c7953a9 Mon Sep 17 00:00:00 2001 2 | From: Stig Hornang 3 | Date: Thu, 31 Aug 2023 21:20:09 +0200 4 | Subject: [PATCH] Undef KJ_USE_EPOLL for ANDROID_PLATFORM < 23 5 | 6 | --- 7 | c++/src/kj/async-unix.h | 5 ++++- 8 | 1 file changed, 4 insertions(+), 1 deletion(-) 9 | 10 | diff --git a/c++/src/kj/async-unix.h b/c++/src/kj/async-unix.h 11 | index 665305ea..c5f195cf 100644 12 | --- a/c++/src/kj/async-unix.h 13 | +++ b/c++/src/kj/async-unix.h 14 | @@ -34,7 +34,10 @@ 15 | KJ_BEGIN_HEADER 16 | 17 | #if !defined(KJ_USE_EPOLL) && !defined(KJ_USE_KQUEUE) 18 | -#if __linux__ 19 | + 20 | +// Android NDK less than API version 23 doesn't have sigtimedwait 21 | +// sigtimedwait is used in async-unix.c++ if KJ_USE_EPOLL is defined 22 | +#if __linux__ && !(__ANDROID__ && __ANDROID_API__ < 23) 23 | // Default to epoll on Linux. 24 | #define KJ_USE_EPOLL 1 25 | #elif __APPLE__ || __FreeBSD__ || __OpenBSD__ || __NetBSD__ || __DragonFly__ 26 | -- 27 | 2.41.0.windows.3 28 | 29 | -------------------------------------------------------------------------------- /ports/capnproto/vcpkg.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "capnproto", 3 | "version": "1.1.0", 4 | "description": "Data interchange format and capability-based RPC system", 5 | "homepage": "https://capnproto.org/", 6 | "license": "MIT", 7 | "supports": "!windows | (!uwp & !arm32)", 8 | "dependencies": [ 9 | { 10 | "name": "vcpkg-cmake", 11 | "host": true 12 | }, 13 | { 14 | "name": "vcpkg-cmake-config", 15 | "host": true 16 | }, 17 | "zlib" 18 | ], 19 | "features": { 20 | "openssl": { 21 | "description": "Build libkj-tls by linking against OpenSSL.", 22 | "dependencies": [ 23 | "openssl" 24 | ] 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /ports/crc32c/fix_clang-cl.patch: -------------------------------------------------------------------------------- 1 | diff --git a/CMakeLists.txt b/CMakeLists.txt 2 | index 84907285c..8c446b0c8 100644 3 | --- a/CMakeLists.txt 4 | +++ b/CMakeLists.txt 5 | @@ -22,7 +22,7 @@ if(NOT CMAKE_CXX_STANDARD) 6 | endif(NOT CMAKE_CXX_STANDARD) 7 | 8 | # https://github.com/izenecloud/cmake/blob/master/SetCompilerWarningAll.cmake 9 | -if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") 10 | +if(MSVC) 11 | # Use the highest warning level for Visual Studio. 12 | set(CMAKE_CXX_WARNING_LEVEL 4) 13 | if(CMAKE_CXX_FLAGS MATCHES "/W[0-4]") 14 | -------------------------------------------------------------------------------- /ports/crc32c/fix_cmake_4.0.patch: -------------------------------------------------------------------------------- 1 | diff --git a/CMakeLists.txt b/CMakeLists.txt 2 | index e0b8e7c..e75211f 100644 3 | --- a/CMakeLists.txt 4 | +++ b/CMakeLists.txt 5 | @@ -2,7 +2,7 @@ 6 | # Use of this source code is governed by a BSD-style license that can be 7 | # found in the LICENSE file. See the AUTHORS file for names of contributors. 8 | 9 | -cmake_minimum_required(VERSION 3.1) 10 | +cmake_minimum_required(VERSION 3.16) 11 | project(Crc32c VERSION 1.1.0 LANGUAGES C CXX) 12 | 13 | # C standard can be overridden when this is used as a sub-project. 14 | -------------------------------------------------------------------------------- /ports/crc32c/portfile.cmake: -------------------------------------------------------------------------------- 1 | vcpkg_check_linkage(ONLY_STATIC_LIBRARY) 2 | 3 | vcpkg_from_github( 4 | OUT_SOURCE_PATH SOURCE_PATH 5 | REPO google/crc32c 6 | REF 1.1.2 7 | SHA512 6325c52b5a6850b9f90086e0c0c86798c008af36e7cfd3a0216184a2d37b3bf7323481ddc6bfe4cbd5b31288b3ee6c69772d03085a13094cf95d00a9756a7196 8 | HEAD_REF master 9 | PATCHES 10 | fix_clang-cl.patch 11 | fix_cmake_4.0.patch 12 | ) 13 | 14 | vcpkg_cmake_configure( 15 | SOURCE_PATH ${SOURCE_PATH} 16 | OPTIONS 17 | -DCRC32C_BUILD_TESTS=OFF 18 | -DCRC32C_BUILD_BENCHMARKS=OFF 19 | -DCRC32C_USE_GLOG=OFF 20 | ) 21 | 22 | vcpkg_cmake_install() 23 | vcpkg_copy_pdbs() 24 | vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/Crc32c) 25 | 26 | file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) 27 | file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) 28 | 29 | if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") 30 | file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) 31 | endif() 32 | 33 | # Handle copyright 34 | file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) 35 | -------------------------------------------------------------------------------- /ports/crc32c/vcpkg.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "crc32c", 3 | "version": "1.1.2", 4 | "port-version": 2, 5 | "description": "CRC32C implementation with support for CPU-specific acceleration instructions.", 6 | "homepage": "https://github.com/google/crc32c", 7 | "license": "BSD-3-Clause", 8 | "dependencies": [ 9 | { 10 | "name": "vcpkg-cmake", 11 | "host": true 12 | }, 13 | { 14 | "name": "vcpkg-cmake-config", 15 | "host": true 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /ports/fmt/fix-write-batch.patch: -------------------------------------------------------------------------------- 1 | diff --git a/CMakeLists.txt b/CMakeLists.txt 2 | index 88c12148..967b53dd 100644 3 | --- a/CMakeLists.txt 4 | +++ b/CMakeLists.txt 5 | @@ -260,7 +260,7 @@ if (FMT_MASTER_PROJECT AND CMAKE_GENERATOR MATCHES "Visual Studio") 6 | join(netfxpath 7 | "C:\\Program Files\\Reference Assemblies\\Microsoft\\Framework\\" 8 | ".NETFramework\\v4.0") 9 | - file(WRITE run-msbuild.bat " 10 | + file(WRITE "${CMAKE_BINARY_DIR}/run-msbuild.bat" " 11 | ${MSBUILD_SETUP} 12 | ${CMAKE_MAKE_PROGRAM} -p:FrameworkPathOverride=\"${netfxpath}\" %*") 13 | endif () 14 | -------------------------------------------------------------------------------- /ports/fmt/portfile.cmake: -------------------------------------------------------------------------------- 1 | vcpkg_from_github( 2 | OUT_SOURCE_PATH SOURCE_PATH 3 | REPO fmtlib/fmt 4 | REF "${VERSION}" 5 | SHA512 573b7de1bd224b7b1b60d44808a843db35d4bc4634f72a9edcb52cf68e99ca66c744fd5d5c97b4336ba70b94abdabac5fc253b245d0d5cd8bbe2a096bf941e39 6 | HEAD_REF master 7 | PATCHES 8 | fix-write-batch.patch 9 | ) 10 | 11 | vcpkg_cmake_configure( 12 | SOURCE_PATH "${SOURCE_PATH}" 13 | OPTIONS 14 | -DFMT_CMAKE_DIR=share/fmt 15 | -DFMT_TEST=OFF 16 | -DFMT_DOC=OFF 17 | ) 18 | 19 | vcpkg_cmake_install() 20 | vcpkg_cmake_config_fixup() 21 | vcpkg_fixup_pkgconfig() 22 | vcpkg_copy_pdbs() 23 | 24 | if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) 25 | vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/fmt/base.h" 26 | "defined(FMT_SHARED)" 27 | "1" 28 | ) 29 | endif() 30 | 31 | file(REMOVE_RECURSE 32 | "${CURRENT_PACKAGES_DIR}/debug/include" 33 | "${CURRENT_PACKAGES_DIR}/debug/share" 34 | ) 35 | 36 | file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") 37 | vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") 38 | -------------------------------------------------------------------------------- /ports/fmt/usage: -------------------------------------------------------------------------------- 1 | The package fmt provides CMake targets: 2 | 3 | find_package(fmt CONFIG REQUIRED) 4 | target_link_libraries(main PRIVATE fmt::fmt) 5 | 6 | # Or use the header-only version 7 | find_package(fmt CONFIG REQUIRED) 8 | target_link_libraries(main PRIVATE fmt::fmt-header-only) 9 | -------------------------------------------------------------------------------- /ports/fmt/vcpkg.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "fmt", 3 | "version": "11.1.4", 4 | "description": "{fmt} is an open-source formatting library providing a fast and safe alternative to C stdio and C++ iostreams.", 5 | "homepage": "https://github.com/fmtlib/fmt", 6 | "license": "MIT", 7 | "dependencies": [ 8 | { 9 | "name": "vcpkg-cmake", 10 | "host": true 11 | }, 12 | { 13 | "name": "vcpkg-cmake-config", 14 | "host": true 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /ports/libfaketime/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.20) 2 | 3 | project(faketime VERSION 0.9.10) 4 | 5 | add_library( 6 | ${PROJECT_NAME} 7 | src/libfaketime.c 8 | ) 9 | 10 | if (CMAKE_SYSTEM_NAME STREQUAL "Linux") 11 | target_link_libraries( 12 | ${PROJECT_NAME} 13 | rt 14 | m 15 | ) 16 | endif() 17 | 18 | target_include_directories(${PROJECT_NAME} 19 | PUBLIC 20 | ${CMAKE_CURRENT_SOURCE_DIR}/src 21 | ) 22 | 23 | file(GLOB_RECURSE PUBLIC_HEADERS "src/*.h") 24 | 25 | install(FILES ${PUBLIC_HEADERS} DESTINATION include) 26 | 27 | install(TARGETS ${PROJECT_NAME} 28 | RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} 29 | LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} 30 | ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} 31 | INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} 32 | ) 33 | -------------------------------------------------------------------------------- /ports/libfaketime/portfile.cmake: -------------------------------------------------------------------------------- 1 | vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) 2 | 3 | vcpkg_from_github( 4 | OUT_SOURCE_PATH SOURCE_PATH 5 | REPO wolfcw/libfaketime 6 | REF v${VERSION} 7 | SHA512 07c431bee21e31343b680d1322dd529ea276e3cc4dbec61646c12bf5d0263163faf6186efeb36b199e24b655578a493c43e3b7a7acf8eba8b9ff84a1e94d618b 8 | ) 9 | 10 | file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") 11 | 12 | vcpkg_cmake_configure( 13 | SOURCE_PATH ${SOURCE_PATH} 14 | ) 15 | 16 | vcpkg_cmake_install() 17 | vcpkg_copy_pdbs() 18 | 19 | file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") 20 | 21 | # Handle copyright and usage 22 | vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") 23 | -------------------------------------------------------------------------------- /ports/libfaketime/vcpkg.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "libfaketime", 3 | "version": "0.9.10", 4 | "license": "GPL-2.0-only", 5 | "description": "libfaketime modifies the system time for a single application", 6 | "supports": "!windows", 7 | "homepage": "https://github.com/wolfcw/libfaketime", 8 | "dependencies": [ 9 | { 10 | "name": "vcpkg-cmake", 11 | "host": true 12 | } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /ports/libmagic/0003-Fix-WIN32-macro-checks.patch: -------------------------------------------------------------------------------- 1 | diff --git a/src/file.h b/src/file.h 2 | index a67e8ff..9115c5b 100644 3 | --- a/src/file.h 4 | +++ b/src/file.h 5 | @@ -82,7 +82,7 @@ 6 | #include 7 | #include 8 | #include 9 | -#ifndef WIN32 10 | +#ifndef _WIN32 11 | #include 12 | #endif 13 | /* Do this here and now, because struct stat gets re-defined on solaris */ 14 | @@ -99,7 +99,7 @@ 15 | #define MAGIC "/etc/magic" 16 | #endif 17 | 18 | -#if defined(__EMX__) || defined (WIN32) 19 | +#if defined(__EMX__) || defined (_WIN32) 20 | #define PATHSEP ';' 21 | #else 22 | #define PATHSEP ':' 23 | @@ -108,7 +108,7 @@ 24 | #define file_private static 25 | 26 | #if HAVE_VISIBILITY 27 | -# if defined(WIN32) 28 | +# if defined(_WIN32) 29 | # define file_public __declspec(dllexport) 30 | # ifndef file_protected 31 | # define file_protected 32 | 33 | -------------------------------------------------------------------------------- /ports/libmagic/0004-Typedef-POSIX-types-on-Windows.patch: -------------------------------------------------------------------------------- 1 | From eb3dde2954dacd86ec7490540eb9b7e3530b917b Mon Sep 17 00:00:00 2001 2 | From: Long Nguyen 3 | Date: Sat, 8 May 2021 20:12:55 +0700 4 | Subject: [PATCH 04/14] Typedef POSIX types on Windows 5 | 6 | --- 7 | src/file.h | 6 ++++++ 8 | 1 file changed, 6 insertions(+) 9 | 10 | diff --git a/src/file.h b/src/file.h 11 | index 2c365a6..0332506 100644 12 | --- a/src/file.h 13 | +++ b/src/file.h 14 | @@ -425,6 +425,12 @@ struct cont { 15 | 16 | #define MAGIC_SETS 2 17 | 18 | +#ifdef _MSC_VER 19 | +#include 20 | +typedef int mode_t; 21 | +typedef SSIZE_T ssize_t; 22 | +#endif 23 | + 24 | struct magic_set { 25 | struct mlist *mlist[MAGIC_SETS]; /* list of regular entries */ 26 | struct cont c; 27 | -- 28 | 2.29.2.windows.2 29 | 30 | -------------------------------------------------------------------------------- /ports/libmagic/0005-Include-dirent.h-for-S_ISREG-and-S_ISDIR.patch: -------------------------------------------------------------------------------- 1 | From a8f8fbfc2736419c65992cbf24de963c3b1f3107 Mon Sep 17 00:00:00 2001 2 | From: Long Nguyen 3 | Date: Sat, 8 May 2021 22:07:55 +0700 4 | Subject: [PATCH 05/14] Include dirent.h for S_ISREG and S_ISDIR 5 | 6 | --- 7 | src/file.h | 1 + 8 | 1 file changed, 1 insertion(+) 9 | 10 | diff --git a/src/file.h b/src/file.h 11 | index 0332506..4aa9f60 100644 12 | --- a/src/file.h 13 | +++ b/src/file.h 14 | @@ -88,7 +88,8 @@ 15 | /* Do this here and now, because struct stat gets re-defined on solaris */ 16 | #include 17 | #include 18 | +#include 19 | #include 20 | #if defined(HAVE_XLOCALE_H) 21 | #include 22 | #endif 23 | -- 24 | 2.29.2.windows.2 25 | 26 | -------------------------------------------------------------------------------- /ports/libmagic/0007-Substitute-unistd-macros-for-MSVC.patch: -------------------------------------------------------------------------------- 1 | From 1106d1523ed44bcbcca90fc1fe9fa9400777d8fe Mon Sep 17 00:00:00 2001 2 | From: Long Nguyen 3 | Date: Sun, 9 May 2021 10:28:49 +0700 4 | Subject: [PATCH 07/14] Substitute unistd macros for MSVC 5 | 6 | --- 7 | src/file.h | 7 +++++++ 8 | 1 file changed, 7 insertions(+) 9 | 10 | diff --git a/src/file.h b/src/file.h 11 | index 4aa9f60..5da838c 100644 12 | --- a/src/file.h 13 | +++ b/src/file.h 14 | @@ -85,6 +85,13 @@ 15 | #ifndef _WIN32 16 | #include 17 | #endif 18 | +#ifdef _MSC_VER 19 | +#include 20 | +#define R_OK 4 21 | +#define W_OK 2 22 | +#define X_OK R_OK 23 | +#define F_OK 0 24 | +#endif 25 | /* Do this here and now, because struct stat gets re-defined on solaris */ 26 | #include 27 | #include 28 | -- 29 | 2.29.2.windows.2 30 | 31 | -------------------------------------------------------------------------------- /ports/libmagic/0008-Add-FILENO-defines.patch: -------------------------------------------------------------------------------- 1 | From e449e3fb47aee00f0d82782183cc7fd6b446d27b Mon Sep 17 00:00:00 2001 2 | From: Long Nguyen 3 | Date: Sun, 9 May 2021 13:24:42 +0700 4 | Subject: [PATCH 08/14] Add FILENO defines 5 | 6 | --- 7 | src/file.h | 3 +++ 8 | 1 file changed, 3 insertions(+) 9 | 10 | diff --git a/src/file.h b/src/file.h 11 | index 5da838c..ccfe0da 100644 12 | --- a/src/file.h 13 | +++ b/src/file.h 14 | @@ -91,6 +91,9 @@ 15 | #define W_OK 2 16 | #define X_OK R_OK 17 | #define F_OK 0 18 | +#define STDIN_FILENO _fileno(stdin) 19 | +#define STDOUT_FILENO _fileno(stdout) 20 | +#define STDERR_FILENO _fileno(stderr) 21 | #endif 22 | /* Do this here and now, because struct stat gets re-defined on solaris */ 23 | #include 24 | -- 25 | 2.29.2.windows.2 26 | 27 | -------------------------------------------------------------------------------- /ports/libmagic/0011-Remove-pipe-related-functions-in-funcs.c.patch: -------------------------------------------------------------------------------- 1 | From 15b0f505ff9eefd41b74ffdd4230355e933263ca Mon Sep 17 00:00:00 2001 2 | From: Long Nguyen 3 | Date: Sun, 9 May 2021 17:45:50 +0700 4 | Subject: [PATCH 11/14] Remove pipe related functions in funcs.c 5 | 6 | --- 7 | src/funcs.c | 2 ++ 8 | 1 file changed, 2 insertions(+) 9 | 10 | diff --git a/src/funcs.c b/src/funcs.c 11 | index b926625..b585486 100644 12 | --- a/src/funcs.c 13 | +++ b/src/funcs.c 14 | @@ -888,5 +888,6 @@ 15 | } 16 | 17 | +#ifndef _WIN32 18 | file_protected int 19 | file_pipe_closexec(int *fds) 20 | { 21 | @@ -914,5 +915,6 @@ 22 | #endif 23 | } 24 | +#endif 25 | 26 | file_protected char * 27 | file_strtrim(char *str) 28 | -- 29 | 2.29.2.windows.2 30 | 31 | -------------------------------------------------------------------------------- /ports/libmagic/0015-MSYS2-Remove-ioctl-call.patch: -------------------------------------------------------------------------------- 1 | # From https://github.com/msys2/MINGW-packages/commit/3a51faadb8bacf06c7b7fd84b2ea80775d1a8b0d 2 | 3 | # this is an advanced patch to fix building v5.38 4 | # see for details 5 | # this patch should be removed with the next version 6 | diff --git a/src/compress.c b/src/compress.c 7 | index 33ce2bc..f172eda 100644 8 | --- a/src/compress.c 9 | +++ b/src/compress.c 10 | @@ -378,7 +378,7 @@ 11 | sread(int fd, void *buf, size_t n, int canbepipe __attribute__((__unused__))) 12 | { 13 | ssize_t rv; 14 | -#if defined(FIONREAD) && !defined(__MINGW32__) 15 | +#if defined(FIONREAD) && !defined(__MINGW32__) && !defined(WIN32) 16 | int t = 0; 17 | #endif 18 | size_t rn = n; 19 | @@ -386,7 +386,7 @@ 20 | if (fd == STDIN_FILENO) 21 | goto nocheck; 22 | 23 | -#if defined(FIONREAD) && !defined(__MINGW32__) 24 | +#if defined(FIONREAD) && !defined(__MINGW32__) && !defined(WIN32) 25 | if (canbepipe && (ioctl(fd, FIONREAD, &t) == -1 || t == 0)) { 26 | #ifdef FD_ZERO 27 | ssize_t cnt; 28 | -------------------------------------------------------------------------------- /ports/libmagic/magic.def: -------------------------------------------------------------------------------- 1 | LIBRARY libmagic 2 | EXPORTS 3 | magic_open 4 | magic_close 5 | magic_getpath 6 | magic_file 7 | magic_descriptor 8 | magic_buffer 9 | magic_error 10 | magic_setflags 11 | magic_version 12 | magic_load 13 | magic_load_buffers 14 | magic_compile 15 | magic_check 16 | magic_list 17 | magic_errno 18 | magic_setparam 19 | magic_getparam 20 | getline 21 | -------------------------------------------------------------------------------- /ports/libmagic/unofficial-libmagic-config.cmake.in: -------------------------------------------------------------------------------- 1 | @PACKAGE_INIT@ 2 | 3 | include(CMakeFindDependencyMacro) 4 | find_dependency(PCRE2 COMPONENTS 8BIT POSIX) 5 | 6 | include("${CMAKE_CURRENT_LIST_DIR}/@TARGETS_EXPORT_NAME@.cmake") 7 | 8 | set(unofficial-libmagic_VERSION @CMAKE_PROJECT_VERSION@) 9 | set(unofficial-libmagic_FOUND true) 10 | set(unofficial-libmagic_DICTIONARY "${CMAKE_CURRENT_LIST_DIR}/magic.mgc") 11 | 12 | check_required_components("unofficial-libmagic") 13 | -------------------------------------------------------------------------------- /ports/libmagic/usage: -------------------------------------------------------------------------------- 1 | libmagic provides CMake targets: 2 | 3 | find_package(unofficial-libmagic REQUIRED) 4 | target_link_libraries(main PRIVATE unofficial::libmagic::libmagic) 5 | 6 | The magic.mgc file can be accessed from the unofficial-libmagic_DICTIONARY variable. 7 | -------------------------------------------------------------------------------- /ports/libmagic/vcpkg.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "libmagic", 3 | "version-string": "5.46", 4 | "description": "This library can be used to classify files according to magic number tests.", 5 | "homepage": "https://github.com/file/file", 6 | "dependencies": [ 7 | { 8 | "name": "vcpkg-cmake", 9 | "host": true 10 | }, 11 | { 12 | "name": "vcpkg-cmake-config", 13 | "host": true 14 | }, 15 | { 16 | "name": "libmagic", 17 | "host": true 18 | }, 19 | { 20 | "name": "dirent", 21 | "platform": "windows" 22 | }, 23 | { 24 | "name": "getopt", 25 | "platform": "windows & !mingw" 26 | }, 27 | "pcre2" 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /ports/s2n/fix_cmake_4.0.patch: -------------------------------------------------------------------------------- 1 | diff --git a/CMakeLists.txt b/CMakeLists.txt 2 | index 8dfaa4e2d80..f19e25d1440 100644 3 | --- a/CMakeLists.txt 4 | +++ b/CMakeLists.txt 5 | @@ -1,4 +1,4 @@ 6 | -cmake_minimum_required (VERSION 3.0) 7 | +cmake_minimum_required (VERSION 3.9) 8 | project (s2n C) 9 | 10 | if(POLICY CMP0077) 11 | -------------------------------------------------------------------------------- /ports/s2n/openssl.patch: -------------------------------------------------------------------------------- 1 | diff --git a/CMakeLists.txt b/CMakeLists.txt 2 | index d16e5f5f0..133934580 100644 3 | --- a/CMakeLists.txt 4 | +++ b/CMakeLists.txt 5 | @@ -266,9 +266,10 @@ if (TARGET crypto) 6 | message(STATUS "S2N found target: crypto") 7 | set(LINK_LIB "crypto") 8 | else() 9 | - find_package(crypto REQUIRED) 10 | - message(STATUS "Using libcrypto from the cmake path") 11 | - set(LINK_LIB "AWS::crypto") 12 | + find_package(OpenSSL REQUIRED) 13 | + find_package(Threads REQUIRED) 14 | + set(LINK_LIB OpenSSL::Crypto Threads::Threads) 15 | + message(STATUS "Using libcrypto from system: ${OPENSSL_CRYPTO_LIBRARY}") 16 | endif() 17 | 18 | if (S2N_INTERN_LIBCRYPTO) 19 | -------------------------------------------------------------------------------- /ports/s2n/portfile.cmake: -------------------------------------------------------------------------------- 1 | vcpkg_from_github( 2 | OUT_SOURCE_PATH SOURCE_PATH 3 | REPO aws/s2n-tls 4 | REF "v${VERSION}" 5 | SHA512 17f49a114a3e3934cea2ebff47198417927d405194f901540380844f9481d11ccff2219b3512bd20a1f3d1945515b637b609aceaaa3b55701574df1d859125ec 6 | PATCHES 7 | fix-cmake-target-path.patch 8 | openssl.patch 9 | fix_cmake_4.0.patch 10 | ) 11 | 12 | vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS 13 | FEATURES 14 | tests BUILD_TESTING 15 | ) 16 | 17 | set(EXTRA_ARGS) 18 | if(VCPKG_TARGET_ARCHITECTURE STREQUAL "wasm32") 19 | set(EXTRA_ARGS "-DS2N_NO_PQ=TRUE") 20 | endif() 21 | 22 | vcpkg_cmake_configure( 23 | SOURCE_PATH "${SOURCE_PATH}" 24 | OPTIONS 25 | ${EXTRA_ARGS} 26 | ${FEATURE_OPTIONS} 27 | -DUNSAFE_TREAT_WARNINGS_AS_ERRORS=OFF 28 | ) 29 | 30 | vcpkg_cmake_install() 31 | vcpkg_copy_pdbs() 32 | vcpkg_cmake_config_fixup(CONFIG_PATH lib/s2n/cmake) 33 | 34 | if(BUILD_TESTING) 35 | message(STATUS "Testing") 36 | vcpkg_cmake_build(TARGET test LOGFILE_BASE test) 37 | endif() 38 | 39 | file(REMOVE_RECURSE 40 | "${CURRENT_PACKAGES_DIR}/debug/include" 41 | "${CURRENT_PACKAGES_DIR}/debug/lib/s2n" 42 | "${CURRENT_PACKAGES_DIR}/debug/share" 43 | "${CURRENT_PACKAGES_DIR}/lib/s2n" 44 | "${CURRENT_PACKAGES_DIR}/share/s2n/modules" 45 | ) 46 | 47 | # Handle copyright 48 | vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") 49 | -------------------------------------------------------------------------------- /ports/s2n/vcpkg.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "s2n", 3 | "version": "1.5.9", 4 | "port-version": 1, 5 | "description": "C99 implementation of the TLS/SSL protocols.", 6 | "homepage": "https://github.com/aws/s2n-tls", 7 | "license": "Apache-2.0", 8 | "supports": "!uwp & !windows", 9 | "dependencies": [ 10 | "openssl", 11 | { 12 | "name": "vcpkg-cmake", 13 | "host": true 14 | }, 15 | { 16 | "name": "vcpkg-cmake-config", 17 | "host": true 18 | } 19 | ], 20 | "features": { 21 | "tests": { 22 | "description": "Build and run the tests" 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /ports/spdlog/usage: -------------------------------------------------------------------------------- 1 | The package spdlog provides CMake targets: 2 | 3 | find_package(spdlog CONFIG REQUIRED) 4 | target_link_libraries(main PRIVATE spdlog::spdlog) 5 | 6 | # Or use the header-only version 7 | find_package(spdlog CONFIG REQUIRED) 8 | target_link_libraries(main PRIVATE spdlog::spdlog_header_only) 9 | -------------------------------------------------------------------------------- /ports/spdlog/vcpkg.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "spdlog", 3 | "version-semver": "1.15.2", 4 | "description": "Very fast, header-only/compiled, C++ logging library.", 5 | "homepage": "https://github.com/gabime/spdlog", 6 | "license": "MIT", 7 | "dependencies": [ 8 | "fmt", 9 | { 10 | "name": "vcpkg-cmake", 11 | "host": true 12 | }, 13 | { 14 | "name": "vcpkg-cmake-config", 15 | "host": true 16 | } 17 | ], 18 | "features": { 19 | "benchmark": { 20 | "description": "Use google benchmark", 21 | "dependencies": [ 22 | "benchmark" 23 | ] 24 | }, 25 | "wchar": { 26 | "description": "Build with wchar_t (Windows only)", 27 | "supports": "windows" 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /ports/triplets/arm64-linux-asan.cmake: -------------------------------------------------------------------------------- 1 | set(VCPKG_TARGET_ARCHITECTURE arm64) 2 | set(VCPKG_CRT_LINKAGE dynamic) 3 | set(VCPKG_LIBRARY_LINKAGE static) 4 | 5 | set(VCPKG_CMAKE_SYSTEM_NAME Linux) 6 | 7 | set(VCPKG_C_FLAGS "-fsanitize=address") 8 | set(VCPKG_CXX_FLAGS "-fsanitize=address") 9 | 10 | # Hide symbols in the AWS SDK. Fixes symbol collisions with other libraries 11 | # like arrow (https://github.com/apache/arrow/issues/42154). 12 | if("${PORT}" MATCHES "^aws-") 13 | set(VCPKG_CMAKE_CONFIGURE_OPTIONS "-DCMAKE_CXX_VISIBILITY_PRESET=hidden;-DCMAKE_C_VISIBILITY_PRESET=hidden") 14 | endif() 15 | -------------------------------------------------------------------------------- /ports/triplets/arm64-linux-release.cmake: -------------------------------------------------------------------------------- 1 | set(VCPKG_TARGET_ARCHITECTURE arm64) 2 | set(VCPKG_CRT_LINKAGE dynamic) 3 | set(VCPKG_LIBRARY_LINKAGE static) 4 | 5 | set(VCPKG_CMAKE_SYSTEM_NAME Linux) 6 | 7 | set(VCPKG_BUILD_TYPE release) 8 | 9 | # Hide symbols in the AWS SDK. Fixes symbol collisions with other libraries 10 | # like arrow (https://github.com/apache/arrow/issues/42154). 11 | if("${PORT}" MATCHES "^aws-") 12 | set(VCPKG_CMAKE_CONFIGURE_OPTIONS "-DCMAKE_CXX_VISIBILITY_PRESET=hidden;-DCMAKE_C_VISIBILITY_PRESET=hidden") 13 | endif() 14 | -------------------------------------------------------------------------------- /ports/triplets/arm64-linux-relwithdebinfo.cmake: -------------------------------------------------------------------------------- 1 | set(VCPKG_TARGET_ARCHITECTURE arm64) 2 | set(VCPKG_CRT_LINKAGE dynamic) 3 | set(VCPKG_LIBRARY_LINKAGE static) 4 | 5 | set(VCPKG_CMAKE_SYSTEM_NAME Linux) 6 | 7 | set(VCPKG_CXX_FLAGS "-g") 8 | set(VCPKG_C_FLAGS "-g") 9 | 10 | # Hide symbols in the AWS SDK. Fixes symbol collisions with other libraries 11 | # like arrow (https://github.com/apache/arrow/issues/42154). 12 | if("${PORT}" MATCHES "^aws-") 13 | set(VCPKG_CMAKE_CONFIGURE_OPTIONS "-DCMAKE_CXX_VISIBILITY_PRESET=hidden;-DCMAKE_C_VISIBILITY_PRESET=hidden") 14 | endif() 15 | -------------------------------------------------------------------------------- /ports/triplets/arm64-linux.cmake: -------------------------------------------------------------------------------- 1 | set(VCPKG_TARGET_ARCHITECTURE arm64) 2 | set(VCPKG_CRT_LINKAGE dynamic) 3 | set(VCPKG_LIBRARY_LINKAGE static) 4 | 5 | set(VCPKG_CMAKE_SYSTEM_NAME Linux) 6 | 7 | # For AWS SDK. Remove after update from 1.74 8 | set(VCPKG_CXX_FLAGS "-Wno-error=nonnull -Wno-error=deprecated-declarations") 9 | set(VCPKG_C_FLAGS "-Wno-error=nonnull -Wno-error=deprecated-declarations") 10 | 11 | # Hide symbols in the AWS SDK. Fixes symbol collisions with other libraries 12 | # like arrow (https://github.com/apache/arrow/issues/42154). 13 | if("${PORT}" MATCHES "^aws-") 14 | set(VCPKG_CMAKE_CONFIGURE_OPTIONS "-DCMAKE_CXX_VISIBILITY_PRESET=hidden;-DCMAKE_C_VISIBILITY_PRESET=hidden") 15 | endif() 16 | -------------------------------------------------------------------------------- /ports/triplets/arm64-osx-asan.cmake: -------------------------------------------------------------------------------- 1 | set(VCPKG_TARGET_ARCHITECTURE arm64) 2 | set(VCPKG_CRT_LINKAGE dynamic) 3 | set(VCPKG_LIBRARY_LINKAGE static) 4 | 5 | set(VCPKG_CMAKE_SYSTEM_NAME Darwin) 6 | set(VCPKG_OSX_ARCHITECTURES arm64) 7 | 8 | set(VCPKG_C_FLAGS "-fsanitize=address") 9 | set(VCPKG_CXX_FLAGS "-fsanitize=address") 10 | 11 | # Hide symbols in the AWS SDK. Fixes symbol collisions with other libraries 12 | # like arrow (https://github.com/apache/arrow/issues/42154). 13 | if("${PORT}" MATCHES "^aws-") 14 | set(VCPKG_CMAKE_CONFIGURE_OPTIONS "-DCMAKE_CXX_VISIBILITY_PRESET=hidden;-DCMAKE_C_VISIBILITY_PRESET=hidden") 15 | endif() 16 | -------------------------------------------------------------------------------- /ports/triplets/arm64-osx-release.cmake: -------------------------------------------------------------------------------- 1 | set(VCPKG_TARGET_ARCHITECTURE arm64) 2 | set(VCPKG_CRT_LINKAGE dynamic) 3 | set(VCPKG_LIBRARY_LINKAGE static) 4 | 5 | set(VCPKG_CMAKE_SYSTEM_NAME Darwin) 6 | set(VCPKG_OSX_ARCHITECTURES arm64) 7 | set(VCPKG_OSX_DEPLOYMENT_TARGET 11) 8 | 9 | set(VCPKG_BUILD_TYPE release) 10 | 11 | # Hide symbols in the AWS SDK. Fixes symbol collisions with other libraries 12 | # like arrow (https://github.com/apache/arrow/issues/42154). 13 | if("${PORT}" MATCHES "^aws-") 14 | set(VCPKG_CMAKE_CONFIGURE_OPTIONS "-DCMAKE_CXX_VISIBILITY_PRESET=hidden;-DCMAKE_C_VISIBILITY_PRESET=hidden") 15 | endif() 16 | -------------------------------------------------------------------------------- /ports/triplets/arm64-osx-relwithdebinfo.cmake: -------------------------------------------------------------------------------- 1 | set(VCPKG_TARGET_ARCHITECTURE arm64) 2 | set(VCPKG_CRT_LINKAGE dynamic) 3 | set(VCPKG_LIBRARY_LINKAGE static) 4 | 5 | set(VCPKG_CMAKE_SYSTEM_NAME Darwin) 6 | set(VCPKG_OSX_ARCHITECTURES arm64) 7 | set(VCPKG_OSX_DEPLOYMENT_TARGET 11) 8 | 9 | set(VCPKG_CXX_FLAGS "-g") 10 | set(VCPKG_C_FLAGS "-g") 11 | 12 | # Hide symbols in the AWS SDK. Fixes symbol collisions with other libraries 13 | # like arrow (https://github.com/apache/arrow/issues/42154). 14 | if("${PORT}" MATCHES "^aws-") 15 | set(VCPKG_CMAKE_CONFIGURE_OPTIONS "-DCMAKE_CXX_VISIBILITY_PRESET=hidden;-DCMAKE_C_VISIBILITY_PRESET=hidden") 16 | endif() 17 | -------------------------------------------------------------------------------- /ports/triplets/arm64-osx.cmake: -------------------------------------------------------------------------------- 1 | set(VCPKG_TARGET_ARCHITECTURE arm64) 2 | set(VCPKG_CRT_LINKAGE dynamic) 3 | set(VCPKG_LIBRARY_LINKAGE static) 4 | 5 | set(VCPKG_CMAKE_SYSTEM_NAME Darwin) 6 | set(VCPKG_OSX_ARCHITECTURES arm64) 7 | set(VCPKG_OSX_DEPLOYMENT_TARGET 11) 8 | 9 | # Hide symbols in the AWS SDK. Fixes symbol collisions with other libraries 10 | # like arrow (https://github.com/apache/arrow/issues/42154). 11 | if("${PORT}" MATCHES "^aws-") 12 | set(VCPKG_CMAKE_CONFIGURE_OPTIONS "-DCMAKE_CXX_VISIBILITY_PRESET=hidden;-DCMAKE_C_VISIBILITY_PRESET=hidden") 13 | endif() 14 | -------------------------------------------------------------------------------- /ports/triplets/x64-linux-asan.cmake: -------------------------------------------------------------------------------- 1 | set(VCPKG_TARGET_ARCHITECTURE x64) 2 | set(VCPKG_CRT_LINKAGE dynamic) 3 | set(VCPKG_LIBRARY_LINKAGE static) 4 | 5 | set(VCPKG_CMAKE_SYSTEM_NAME Linux) 6 | 7 | set(VCPKG_C_FLAGS "-fsanitize=address") 8 | set(VCPKG_CXX_FLAGS "-fsanitize=address") 9 | 10 | # Hide symbols in the AWS SDK. Fixes symbol collisions with other libraries 11 | # like arrow (https://github.com/apache/arrow/issues/42154). 12 | if("${PORT}" MATCHES "^aws-") 13 | set(VCPKG_CMAKE_CONFIGURE_OPTIONS "-DCMAKE_CXX_VISIBILITY_PRESET=hidden;-DCMAKE_C_VISIBILITY_PRESET=hidden") 14 | endif() 15 | -------------------------------------------------------------------------------- /ports/triplets/x64-linux-release.cmake: -------------------------------------------------------------------------------- 1 | set(VCPKG_TARGET_ARCHITECTURE x64) 2 | set(VCPKG_CRT_LINKAGE dynamic) 3 | set(VCPKG_LIBRARY_LINKAGE static) 4 | 5 | set(VCPKG_CMAKE_SYSTEM_NAME Linux) 6 | 7 | set(VCPKG_BUILD_TYPE release) 8 | 9 | # Hide symbols in the AWS SDK. Fixes symbol collisions with other libraries 10 | # like arrow (https://github.com/apache/arrow/issues/42154). 11 | if("${PORT}" MATCHES "^aws-") 12 | set(VCPKG_CMAKE_CONFIGURE_OPTIONS "-DCMAKE_CXX_VISIBILITY_PRESET=hidden;-DCMAKE_C_VISIBILITY_PRESET=hidden") 13 | endif() 14 | -------------------------------------------------------------------------------- /ports/triplets/x64-linux-relwithdebinfo.cmake: -------------------------------------------------------------------------------- 1 | set(VCPKG_TARGET_ARCHITECTURE x64) 2 | set(VCPKG_CRT_LINKAGE dynamic) 3 | set(VCPKG_LIBRARY_LINKAGE static) 4 | 5 | set(VCPKG_CMAKE_SYSTEM_NAME Linux) 6 | 7 | set(VCPKG_CXX_FLAGS "-g") 8 | set(VCPKG_C_FLAGS "-g") 9 | 10 | # Hide symbols in the AWS SDK. Fixes symbol collisions with other libraries 11 | # like arrow (https://github.com/apache/arrow/issues/42154). 12 | if("${PORT}" MATCHES "^aws-") 13 | set(VCPKG_CMAKE_CONFIGURE_OPTIONS "-DCMAKE_CXX_VISIBILITY_PRESET=hidden;-DCMAKE_C_VISIBILITY_PRESET=hidden") 14 | endif() 15 | -------------------------------------------------------------------------------- /ports/triplets/x64-linux.cmake: -------------------------------------------------------------------------------- 1 | set(VCPKG_TARGET_ARCHITECTURE x64) 2 | set(VCPKG_CRT_LINKAGE dynamic) 3 | set(VCPKG_LIBRARY_LINKAGE static) 4 | 5 | set(VCPKG_CMAKE_SYSTEM_NAME Linux) 6 | 7 | # For AWS SDK. Remove after update from 1.74 8 | set(VCPKG_CXX_FLAGS "-Wno-error=nonnull -Wno-error=deprecated-declarations") 9 | set(VCPKG_C_FLAGS "-Wno-error=nonnull -Wno-error=deprecated-declarations") 10 | 11 | # Hide symbols in the AWS SDK. Fixes symbol collisions with other libraries 12 | # like arrow (https://github.com/apache/arrow/issues/42154). 13 | if("${PORT}" MATCHES "^aws-") 14 | set(VCPKG_CMAKE_CONFIGURE_OPTIONS "-DCMAKE_CXX_VISIBILITY_PRESET=hidden;-DCMAKE_C_VISIBILITY_PRESET=hidden") 15 | endif() 16 | -------------------------------------------------------------------------------- /ports/triplets/x64-mingw-static-release.cmake: -------------------------------------------------------------------------------- 1 | set(VCPKG_TARGET_ARCHITECTURE x64) 2 | set(VCPKG_CRT_LINKAGE dynamic) 3 | set(VCPKG_LIBRARY_LINKAGE static) 4 | set(VCPKG_ENV_PASSTHROUGH PATH) 5 | 6 | set(VCPKG_CMAKE_SYSTEM_NAME MinGW) 7 | 8 | set(VCPKG_BUILD_TYPE release) 9 | -------------------------------------------------------------------------------- /ports/triplets/x64-osx-asan.cmake: -------------------------------------------------------------------------------- 1 | set(VCPKG_TARGET_ARCHITECTURE x64) 2 | set(VCPKG_CRT_LINKAGE dynamic) 3 | set(VCPKG_LIBRARY_LINKAGE static) 4 | 5 | set(VCPKG_CMAKE_SYSTEM_NAME Darwin) 6 | set(VCPKG_OSX_ARCHITECTURES x86_64) 7 | 8 | set(VCPKG_C_FLAGS "-fsanitize=address") 9 | set(VCPKG_CXX_FLAGS "-fsanitize=address") 10 | 11 | # Hide symbols in the AWS SDK. Fixes symbol collisions with other libraries 12 | # like arrow (https://github.com/apache/arrow/issues/42154). 13 | if("${PORT}" MATCHES "^aws-") 14 | set(VCPKG_CMAKE_CONFIGURE_OPTIONS "-DCMAKE_CXX_VISIBILITY_PRESET=hidden;-DCMAKE_C_VISIBILITY_PRESET=hidden") 15 | endif() 16 | -------------------------------------------------------------------------------- /ports/triplets/x64-osx-release.cmake: -------------------------------------------------------------------------------- 1 | set(VCPKG_TARGET_ARCHITECTURE x64) 2 | set(VCPKG_CRT_LINKAGE dynamic) 3 | set(VCPKG_LIBRARY_LINKAGE static) 4 | 5 | set(VCPKG_CMAKE_SYSTEM_NAME Darwin) 6 | set(VCPKG_OSX_ARCHITECTURES x86_64) 7 | set(VCPKG_OSX_DEPLOYMENT_TARGET 11) 8 | 9 | set(VCPKG_BUILD_TYPE release) 10 | 11 | # Hide symbols in the AWS SDK. Fixes symbol collisions with other libraries 12 | # like arrow (https://github.com/apache/arrow/issues/42154). 13 | if("${PORT}" MATCHES "^aws-") 14 | set(VCPKG_CMAKE_CONFIGURE_OPTIONS "-DCMAKE_CXX_VISIBILITY_PRESET=hidden;-DCMAKE_C_VISIBILITY_PRESET=hidden") 15 | endif() 16 | -------------------------------------------------------------------------------- /ports/triplets/x64-osx-relwithdebinfo.cmake: -------------------------------------------------------------------------------- 1 | set(VCPKG_TARGET_ARCHITECTURE x64) 2 | set(VCPKG_CRT_LINKAGE dynamic) 3 | set(VCPKG_LIBRARY_LINKAGE static) 4 | 5 | set(VCPKG_CMAKE_SYSTEM_NAME Darwin) 6 | set(VCPKG_OSX_ARCHITECTURES x86_64) 7 | set(VCPKG_OSX_DEPLOYMENT_TARGET 11) 8 | 9 | set(VCPKG_CXX_FLAGS "-g") 10 | set(VCPKG_C_FLAGS "-g") 11 | 12 | # Hide symbols in the AWS SDK. Fixes symbol collisions with other libraries 13 | # like arrow (https://github.com/apache/arrow/issues/42154). 14 | if("${PORT}" MATCHES "^aws-") 15 | set(VCPKG_CMAKE_CONFIGURE_OPTIONS "-DCMAKE_CXX_VISIBILITY_PRESET=hidden;-DCMAKE_C_VISIBILITY_PRESET=hidden") 16 | endif() 17 | -------------------------------------------------------------------------------- /ports/triplets/x64-osx.cmake: -------------------------------------------------------------------------------- 1 | set(VCPKG_TARGET_ARCHITECTURE x64) 2 | set(VCPKG_CRT_LINKAGE dynamic) 3 | set(VCPKG_LIBRARY_LINKAGE static) 4 | 5 | set(VCPKG_CMAKE_SYSTEM_NAME Darwin) 6 | set(VCPKG_OSX_ARCHITECTURES x86_64) 7 | set(VCPKG_OSX_DEPLOYMENT_TARGET 11) 8 | 9 | # Hide symbols in the AWS SDK. Fixes symbol collisions with other libraries 10 | # like arrow (https://github.com/apache/arrow/issues/42154). 11 | if("${PORT}" MATCHES "^aws-") 12 | set(VCPKG_CMAKE_CONFIGURE_OPTIONS "-DCMAKE_CXX_VISIBILITY_PRESET=hidden;-DCMAKE_C_VISIBILITY_PRESET=hidden") 13 | endif() 14 | -------------------------------------------------------------------------------- /ports/triplets/x64-windows-asan.cmake: -------------------------------------------------------------------------------- 1 | set(VCPKG_TARGET_ARCHITECTURE x64) 2 | set(VCPKG_CRT_LINKAGE dynamic) 3 | set(VCPKG_LIBRARY_LINKAGE static) 4 | 5 | set(X_VCPKG_APPLOCAL_DEPS_INSTALL ON) 6 | 7 | # bigobj is needed for capnp. 8 | set(VCPKG_C_FLAGS "/fsanitize=address /bigobj") 9 | set(VCPKG_CXX_FLAGS "/fsanitize=address /bigobj") 10 | -------------------------------------------------------------------------------- /ports/triplets/x64-windows-release.cmake: -------------------------------------------------------------------------------- 1 | set(VCPKG_TARGET_ARCHITECTURE x64) 2 | set(VCPKG_CRT_LINKAGE dynamic) 3 | set(VCPKG_LIBRARY_LINKAGE static) 4 | 5 | set(X_VCPKG_APPLOCAL_DEPS_INSTALL ON) 6 | 7 | set(VCPKG_BUILD_TYPE release) 8 | -------------------------------------------------------------------------------- /ports/triplets/x64-windows.cmake: -------------------------------------------------------------------------------- 1 | set(VCPKG_TARGET_ARCHITECTURE x64) 2 | set(VCPKG_CRT_LINKAGE dynamic) 3 | set(VCPKG_LIBRARY_LINKAGE static) 4 | 5 | set(X_VCPKG_APPLOCAL_DEPS_INSTALL ON) 6 | -------------------------------------------------------------------------------- /ports/triplets/x86-mingw-static-release.cmake: -------------------------------------------------------------------------------- 1 | set(VCPKG_TARGET_ARCHITECTURE x86) 2 | set(VCPKG_CRT_LINKAGE dynamic) 3 | set(VCPKG_LIBRARY_LINKAGE static) 4 | set(VCPKG_ENV_PASSTHROUGH PATH) 5 | 6 | set(VCPKG_CMAKE_SYSTEM_NAME MinGW) 7 | 8 | set(VCPKG_BUILD_TYPE release) 9 | -------------------------------------------------------------------------------- /quarto-materials/tiledb-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/quarto-materials/tiledb-logo.png -------------------------------------------------------------------------------- /quarto-materials/tiledb.css: -------------------------------------------------------------------------------- 1 | /* 2 | Cloned from https://github.com/TileDB-Inc/tiledb-quarto-template 3 | 4 | tiledb light blue #4d9fff 5 | tiledb dark blue #0a2580 6 | */ 7 | 8 | .navbar-nav:hover .nav-link:hover { 9 | color: #0a2580; 10 | } 11 | 12 | .sidebar-navigation .text-start { 13 | font-weight: bold; 14 | } 15 | 16 | .sidebar.sidebar-navigation .active { 17 | /* 18 | color: #800000; 19 | background-color: #e0e0e0; 20 | */ 21 | } 22 | 23 | .sidebar.sidebar-navigation .active, .sidebar.sidebar-navigation .show>.nav-link { 24 | /*color: #0a2580;*/ 25 | color: #4d9fff; 26 | background-color: #e0e0e0; 27 | padding-left: 4px; 28 | padding-right: 4px; 29 | } 30 | 31 | a { 32 | color: #4d9fff; 33 | } 34 | a:before, a:focus, a:hover, a:link, a:visited { 35 | color: #4d9fff; 36 | } 37 | 38 | code, p code:not(.sourceCode), li code:not(.sourceCode), kbd, pre { 39 | color: #000000; 40 | background-color: #f0f0f0; 41 | font-size: 12px; 42 | direction: ltr; 43 | border-radius: 3px; 44 | } 45 | 46 | pre { 47 | font-size: 12px; 48 | padding: 10px; 49 | text-decoration: none; 50 | 51 | white-space: pre-wrap; /* css-3 */ 52 | white-space: -moz-pre-wrap; /* Mozilla, since 1999 */ 53 | white-space: -pre-wrap; /* Opera 4-6 */ 54 | white-space: -o-pre-wrap; /* Opera 7 */ 55 | } 56 | -------------------------------------------------------------------------------- /quarto-materials/tiledb.scss: -------------------------------------------------------------------------------- 1 | /* 2 | Cloned from https://github.com/TileDB-Inc/tiledb-quarto-template 3 | 4 | tiledb light blue #4d9fff 5 | tiledb dark blue #0a2580 6 | */ 7 | 8 | /*-- scss:defaults --*/ 9 | /* 10 | $navbar-bg: #800000; 11 | $navbar-fg: #eeeeee; 12 | $sidebar-fg: #800000; 13 | $footer-bg: #800000; 14 | $footer-fg: #eeeeee; 15 | */ 16 | 17 | /*-- scss:rules --*/ 18 | h1, h2, h3 { 19 | font-weight: 600; /* semibold */ 20 | /* 21 | color: #4d9fff; 22 | background-color: #e0e0e0; 23 | */ 24 | border-radius: 6px; 25 | padding: 6px; 26 | } 27 | -------------------------------------------------------------------------------- /scripts/ci/patch_vcpkg_triplets.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | workspace = os.curdir 4 | triplet_paths = [os.path.join(workspace, "ports", "triplets")] 5 | 6 | for triplet_path in triplet_paths: 7 | for path, dnames, fnames in os.walk(triplet_path): 8 | for fname in fnames: 9 | fname = os.path.join(path, fname) 10 | print(fname) 11 | with open(fname, "rb") as handle: 12 | contents = handle.read() 13 | # If a file is already patched we skip patching it again because 14 | # this affects the hashes calculated by vcpkg for caching 15 | if b"VCPKG_BUILD_TYPE release" in contents: 16 | continue 17 | contents += b"\nset(VCPKG_BUILD_TYPE release)\n" 18 | with open(fname, "wb") as handle: 19 | handle.write(contents) 20 | -------------------------------------------------------------------------------- /scripts/ci/posix/DIRECTORY.md: -------------------------------------------------------------------------------- 1 | This directory holds common auxiliary scripts used by Github actions workflows for macOS and Linux 2 | (see `/.github/workflows/ci-linux_mac.yml`). 3 | 4 | - `prelim.sh`: install required system packages; configure system for core dumps 5 | - `build-services-start.sh`: start emulators (eg S3, GCS) for backend-specific testing 6 | - `build-services-stop.sh`: stop emulators 7 | (this has been necessary to avoid job failure due to unexited processes) 8 | - `dump-core-stacks.sh`: dump the stack traces from saved core dumps (if applicable) 9 | -------------------------------------------------------------------------------- /scripts/ci/posix/build-services-start.sh: -------------------------------------------------------------------------------- 1 | 2 | if [[ "$TILEDB_CI_BACKEND" == "S3" ]]; then 3 | # Start minio server if S3 is enabled 4 | source scripts/install-minio.sh; 5 | source scripts/run-minio.sh; 6 | 7 | if [[ "$TILEDB_CI_OS" == "Linux" ]]; then 8 | # make sure docker is still running... 9 | printenv 10 | docker ps -a 11 | fi 12 | fi 13 | 14 | if [[ "$TILEDB_CI_BACKEND" == "GCS" ]]; then 15 | # Start GCS Emulator if GCS is enabled 16 | source scripts/install-gcs-emu.sh; 17 | source scripts/run-gcs-emu.sh; 18 | fi 19 | 20 | if [[ "$TILEDB_CI_BACKEND" == "AZURE" ]]; then 21 | # Start Azurite - Azure is enabled 22 | source scripts/install-azurite.sh; 23 | source scripts/run-azurite.sh; 24 | fi 25 | -------------------------------------------------------------------------------- /scripts/ci/posix/build-services-stop.sh: -------------------------------------------------------------------------------- 1 | # Terminate background processes to avoid job failure due to non-exit 2 | 3 | # GCS emulator 4 | if [[ "$TILEDB_CI_BACKEND" == "GCS" ]] && [[ "$GCS_PID" ]]; then 5 | kill -9 "$GCS_PID" || true # failure to stop should not fail job 6 | kill -9 "$GCS_SSL_PID" || true 7 | fi 8 | 9 | # Azure emulator 10 | if [[ "$TILEDB_CI_BACKEND" = "AZURE" ]] && [[ "$AZURITE_PID" ]]; then 11 | # Kill the running Azurite server 12 | kill -n 9 "$AZURITE_PID" || true 13 | kill -n 9 "$AZURITE_SSL_PID" || true 14 | fi 15 | 16 | if [[ "$TILEDB_CI_BACKEND" == "S3" ]] && [[ "$TILEDB_CI_OS" == "macOS" ]]; then 17 | # Kill the running Minio server, OSX only because Linux runs it within 18 | # docker. 19 | kill -n 9 "$MINIO_PID" 20 | fi 21 | -------------------------------------------------------------------------------- /scripts/ci/posix/prelim.sh: -------------------------------------------------------------------------------- 1 | set -x 2 | 3 | if [[ "$TILEDB_CI_OS" == "Linux" ]]; then 4 | 5 | echo "Linux: enabling core dumps, dumping cpuinfo, dumping lscpu" 6 | 7 | ulimit -c unlimited # Enable core dumps to be captured (must be in same run block) 8 | ulimit -c 9 | sudo apt-get update 10 | sudo apt-get -y install gdb ninja-build git curl zip unzip tar pkg-config 11 | if [[ -f $(which gdb) ]]; then 12 | echo found $(which gdb) 13 | else 14 | echo tried to install gdb, but gdb not found! 15 | fi 16 | echo "core_pattern follows..." 17 | cat /proc/sys/kernel/core_pattern 18 | echo "...core_pattern above" 19 | fi 20 | 21 | if [[ "$TILEDB_CI_OS" == "macOS" ]]; then 22 | 23 | echo "macOS: enabling core dumps" 24 | 25 | sudo chown :staff /cores 26 | sudo chmod g+w /cores 27 | ulimit -c unlimited # Enable core dumps to be captured (must be in same run block) 28 | ls -ld /cores 29 | ulimit -c 30 | fi 31 | 32 | if [[ "$CC" == "gcc-13" ]]; then 33 | sudo apt install -y gcc-13 g++-13 34 | fi 35 | -------------------------------------------------------------------------------- /scripts/ci/posix/print-env.sh: -------------------------------------------------------------------------------- 1 | echo "'uname -s' is:" 2 | echo "uname: " $(uname) 3 | echo "uname -m: " $(uname -m) 4 | echo "uname -r:" $(uname -r) 5 | echo "uname -s: " $(uname -s) 6 | echo "uname -v: " $(uname -v) 7 | printenv 8 | 9 | cat /proc/cpuinfo 10 | 11 | if [[ $(which lscpu) ]] ; then 12 | lscpu 13 | fi 14 | -------------------------------------------------------------------------------- /test/ci/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable( 2 | test_assert 3 | test_assert.cc 4 | ) 5 | 6 | target_include_directories(test_assert 7 | PRIVATE 8 | "${TILEDB_CORE_INCLUDE_DIR}" 9 | Catch2::Catch2 10 | ) 11 | 12 | target_link_libraries(test_assert PUBLIC tiledb_Catch2WithMain) 13 | 14 | target_compile_definitions( 15 | test_assert 16 | PRIVATE 17 | -DTILEDB_PATH_TO_TRY_ASSERT="$" 18 | ) 19 | 20 | add_executable( 21 | try_assert 22 | try_assert.cc 23 | ) 24 | 25 | target_link_libraries(try_assert PUBLIC assert) 26 | 27 | target_include_directories(try_assert 28 | PRIVATE 29 | "${TILEDB_CORE_INCLUDE_DIR}" 30 | Catch2::Catch2 31 | ) 32 | 33 | add_dependencies(test_assert try_assert) 34 | 35 | add_test( 36 | NAME "test_ci_asserts" 37 | COMMAND test_assert 38 | ) 39 | -------------------------------------------------------------------------------- /test/ci/try_assert.cc: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | #include "tiledb/common/assert.h" 5 | 6 | int main(int, char**) { 7 | #if defined(_MSC_VER) 8 | // We disable the following events on abort: 9 | // _WRITE_ABORT_MSG: Display message box with Abort, Retry, Ignore 10 | // _CALL_REPORTFAULT: Send an error report to Microsoft 11 | // The second parameter specifies which flags to change, and the first 12 | // the value of these flags. 13 | _set_abort_behavior(0, _WRITE_ABORT_MSG | _CALL_REPORTFAULT); 14 | #endif 15 | passert(false); 16 | 17 | std::cout << "Assert did not exit!" << std::endl; 18 | return 0; 19 | } 20 | -------------------------------------------------------------------------------- /test/inputs/arrays/dense_array_v1_3_0/__array_schema.tdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/test/inputs/arrays/dense_array_v1_3_0/__array_schema.tdb -------------------------------------------------------------------------------- /test/inputs/arrays/dense_array_v1_3_0/__b4cae15e1a294904a1296510c34f19ec_1538747712566/__fragment_metadata.tdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/test/inputs/arrays/dense_array_v1_3_0/__b4cae15e1a294904a1296510c34f19ec_1538747712566/__fragment_metadata.tdb -------------------------------------------------------------------------------- /test/inputs/arrays/dense_array_v1_3_0/__b4cae15e1a294904a1296510c34f19ec_1538747712566/a.tdb: -------------------------------------------------------------------------------- 1 |  2 |  -------------------------------------------------------------------------------- /test/inputs/arrays/dense_array_v1_3_0/__lock.tdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/test/inputs/arrays/dense_array_v1_3_0/__lock.tdb -------------------------------------------------------------------------------- /test/inputs/arrays/experimental_array_vUINT32_MAX/__fragments/__1657562300109_1657562300109_8dc3a927a28e445080d5dfd288825e1d_4294967295.ok: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/test/inputs/arrays/experimental_array_vUINT32_MAX/__fragments/__1657562300109_1657562300109_8dc3a927a28e445080d5dfd288825e1d_4294967295.ok -------------------------------------------------------------------------------- /test/inputs/arrays/experimental_array_vUINT32_MAX/__fragments/__1657562300109_1657562300109_8dc3a927a28e445080d5dfd288825e1d_4294967295/__fragment_metadata.tdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/test/inputs/arrays/experimental_array_vUINT32_MAX/__fragments/__1657562300109_1657562300109_8dc3a927a28e445080d5dfd288825e1d_4294967295/__fragment_metadata.tdb -------------------------------------------------------------------------------- /test/inputs/arrays/experimental_array_vUINT32_MAX/__fragments/__1657562300109_1657562300109_8dc3a927a28e445080d5dfd288825e1d_4294967295/a0.tdb: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /test/inputs/arrays/experimental_array_vUINT32_MAX/__schema/__1657562300107_1657562300107_634feb310ce6426796198decd5dbddbf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/test/inputs/arrays/experimental_array_vUINT32_MAX/__schema/__1657562300107_1657562300107_634feb310ce6426796198decd5dbddbf -------------------------------------------------------------------------------- /test/inputs/arrays/non_split_coords_v1_4_0/__5dc2cc9cce204a189f825fd4919d0c55_1541540586869/__coords.tdb: -------------------------------------------------------------------------------- 1 |  2 |  3 |  4 |  5 | -------------------------------------------------------------------------------- /test/inputs/arrays/non_split_coords_v1_4_0/__5dc2cc9cce204a189f825fd4919d0c55_1541540586869/__fragment_metadata.tdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/test/inputs/arrays/non_split_coords_v1_4_0/__5dc2cc9cce204a189f825fd4919d0c55_1541540586869/__fragment_metadata.tdb -------------------------------------------------------------------------------- /test/inputs/arrays/non_split_coords_v1_4_0/__5dc2cc9cce204a189f825fd4919d0c55_1541540586869/a.tdb: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /test/inputs/arrays/non_split_coords_v1_4_0/__array_schema.tdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/test/inputs/arrays/non_split_coords_v1_4_0/__array_schema.tdb -------------------------------------------------------------------------------- /test/inputs/arrays/non_split_coords_v1_4_0/__lock.tdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/test/inputs/arrays/non_split_coords_v1_4_0/__lock.tdb -------------------------------------------------------------------------------- /test/inputs/arrays/sparse_array_v11/__schema/__1646080196909_1646080196909_295490b3104f401e943c4a7a58143d3a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/test/inputs/arrays/sparse_array_v11/__schema/__1646080196909_1646080196909_295490b3104f401e943c4a7a58143d3a -------------------------------------------------------------------------------- /test/inputs/arrays/zero_var_chunks_v10/__1693562063524_1693562063524_0fcdefaa40d34ff2a4b09153472fbdc2_10.ok: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/test/inputs/arrays/zero_var_chunks_v10/__1693562063524_1693562063524_0fcdefaa40d34ff2a4b09153472fbdc2_10.ok -------------------------------------------------------------------------------- /test/inputs/arrays/zero_var_chunks_v10/__1693562063524_1693562063524_0fcdefaa40d34ff2a4b09153472fbdc2_10/__fragment_metadata.tdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/test/inputs/arrays/zero_var_chunks_v10/__1693562063524_1693562063524_0fcdefaa40d34ff2a4b09153472fbdc2_10/__fragment_metadata.tdb -------------------------------------------------------------------------------- /test/inputs/arrays/zero_var_chunks_v10/__1693562063524_1693562063524_0fcdefaa40d34ff2a4b09153472fbdc2_10/a0.tdb: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /test/inputs/arrays/zero_var_chunks_v10/__1693562063524_1693562063524_0fcdefaa40d34ff2a4b09153472fbdc2_10/d0.tdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/test/inputs/arrays/zero_var_chunks_v10/__1693562063524_1693562063524_0fcdefaa40d34ff2a4b09153472fbdc2_10/d0.tdb -------------------------------------------------------------------------------- /test/inputs/arrays/zero_var_chunks_v10/__1693562063524_1693562063524_0fcdefaa40d34ff2a4b09153472fbdc2_10/d0_var.tdb: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/inputs/arrays/zero_var_chunks_v10/__lock.tdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/test/inputs/arrays/zero_var_chunks_v10/__lock.tdb -------------------------------------------------------------------------------- /test/inputs/arrays/zero_var_chunks_v10/__schema/__1693562063520_1693562063520_87f6551825c94139b3000f0d6b7c0ac0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/test/inputs/arrays/zero_var_chunks_v10/__schema/__1693562063520_1693562063520_87f6551825c94139b3000f0d6b7c0ac0 -------------------------------------------------------------------------------- /test/inputs/files/.gitattributes: -------------------------------------------------------------------------------- 1 | *.txt text eol=lf 2 | -------------------------------------------------------------------------------- /test/inputs/files/fake_gz.gz: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/inputs/files/quickstart_dense.csv.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/test/inputs/files/quickstart_dense.csv.gz -------------------------------------------------------------------------------- /test/inputs/files/text.txt: -------------------------------------------------------------------------------- 1 | Simple text file. 2 | With two lines. 3 | -------------------------------------------------------------------------------- /test/inputs/groups/group_v1/__group/__1708362383727_1708362383727_a464f3a3a7e740c8856a476ee4c66ce1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/test/inputs/groups/group_v1/__group/__1708362383727_1708362383727_a464f3a3a7e740c8856a476ee4c66ce1 -------------------------------------------------------------------------------- /test/inputs/groups/group_v1/__tiledb_group.tdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/test/inputs/groups/group_v1/__tiledb_group.tdb -------------------------------------------------------------------------------- /test/inputs/groups/group_v1/subgroup1/__tiledb_group.tdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/test/inputs/groups/group_v1/subgroup1/__tiledb_group.tdb -------------------------------------------------------------------------------- /test/inputs/test_certs/2ec8ef2c.0: -------------------------------------------------------------------------------- 1 | public.crt -------------------------------------------------------------------------------- /test/inputs/test_certs/private.key: -------------------------------------------------------------------------------- 1 | -----BEGIN EC PRIVATE KEY----- 2 | MHcCAQEEIFgA4eICHyxZW1v7XBNKMgr39fASH9ybXHs3kuXfv+IyoAoGCCqGSM49 3 | AwEHoUQDQgAE6mKvRgyLN3ugahSWJl+EOfadkAomH9qXaihtGGYS3hM8h4T1eg2I 4 | w9pJM5xRQedq2ao+T+I51IQMiaL+ezcaUQ== 5 | -----END EC PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /test/inputs/test_certs/public.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICCjCCAbGgAwIBAgIULN4laZh0c/ONVnZcoH6YQuwsnOAwCgYIKoZIzj0EAwIw 3 | WzELMAkGA1UEBhMCVVMxDjAMBgNVBAgMBXN0YXRlMREwDwYDVQQHDAhsb2NhdGlv 4 | bjEVMBMGA1UECgwMb3JnYW5pemF0aW9uMRIwEAYDVQQDDAlsb2NhbGhvc3QwHhcN 5 | MTkwOTA0MTgxNDIwWhcNMjkwOTAxMTgxNDIwWjBbMQswCQYDVQQGEwJVUzEOMAwG 6 | A1UECAwFc3RhdGUxETAPBgNVBAcMCGxvY2F0aW9uMRUwEwYDVQQKDAxvcmdhbml6 7 | YXRpb24xEjAQBgNVBAMMCWxvY2FsaG9zdDBZMBMGByqGSM49AgEGCCqGSM49AwEH 8 | A0IABOpir0YMizd7oGoUliZfhDn2nZAKJh/al2oobRhmEt4TPIeE9XoNiMPaSTOc 9 | UUHnatmqPk/iOdSEDImi/ns3GlGjUzBRMB0GA1UdDgQWBBRtxW017AeuUMsiPhQa 10 | XmqvdljrazAfBgNVHSMEGDAWgBRtxW017AeuUMsiPhQaXmqvdljrazAPBgNVHRMB 11 | Af8EBTADAQH/MAoGCCqGSM49BAMCA0cAMEQCIEKs3sathT+OrOLYIozslfVvqxTa 12 | yjWlED3A0F3SBLyiAiBpf2MMEA3zchypssBpdkGYFVsbjmGZOmchFMj42X8/sQ== 13 | -----END CERTIFICATE----- 14 | -------------------------------------------------------------------------------- /test/performance/msys_handle_leakage/trials.bat: -------------------------------------------------------------------------------- 1 | rem run from root of build tree... 2 | if not exist .\test\performance\RelWithDebInfo\tiledb_explore_msys_handle_leakage.exe goto err 3 | rem .\test\performance\RelWithDebInfo\tiledb_explore_msys_handle_leakage.exe --read-sparse-iters=1 --perform-query=0 --consolidate-sparse-iters=1 --wait-for-keypress both 4 | .\test\performance\RelWithDebInfo\tiledb_explore_msys_handle_leakage.exe --read-sparse-iters=1 --perform-query=0 --consolidate-sparse-iters=1 5 | .\test\performance\RelWithDebInfo\tiledb_explore_msys_handle_leakage.exe --read-sparse-iters=1 --perform-query=1 --consolidate-sparse-iters=1 6 | .\test\performance\RelWithDebInfo\tiledb_explore_msys_handle_leakage.exe --read-sparse-iters=150 --perform-query=1 --consolidate-sparse-iters=1 7 | .\test\performance\RelWithDebInfo\tiledb_explore_msys_handle_leakage.exe --read-sparse-iters=300 --perform-query=1 --consolidate-sparse-iters=1 8 | goto done 9 | 10 | :err 11 | echo "Failed to find %cd%\test\performance\RelWithDebInfo\tiledb_explore_msys_handle_leakage.exe 12 | goto done 13 | 14 | :done 15 | -------------------------------------------------------------------------------- /test/performance/msys_handle_leakage/trials.sh: -------------------------------------------------------------------------------- 1 | # run from root of build tree 2 | if [ ! -f ./test/performance/tiledb_explore_msys_handle_leakage.exe ]; then 3 | echo "failed to find `pwd`/test/performance/tiledb_explore_msys_handle_leakage.exe" 4 | return 1 5 | fi 6 | set -x 7 | # ./test/performance/tiledb_explore_msys_handle_leakage.exe --read-sparse-iters=1 --perform-query=1 --consolidate-sparse-iters=1 --wait-for-keypress both 8 | ./test/performance/tiledb_explore_msys_handle_leakage.exe --read-sparse-iters=1 --perform-query=0 --consolidate-sparse-iters=1 9 | ./test/performance/tiledb_explore_msys_handle_leakage.exe --read-sparse-iters=1 --perform-query=1 --consolidate-sparse-iters=1 10 | ./test/performance/tiledb_explore_msys_handle_leakage.exe --read-sparse-iters=150 --perform-query=1 --consolidate-sparse-iters=1 11 | ./test/performance/tiledb_explore_msys_handle_leakage.exe --read-sparse-iters=300 --perform-query=1 --consolidate-sparse-iters=1 12 | -------------------------------------------------------------------------------- /test/regression/regression.cc: -------------------------------------------------------------------------------- 1 | #define CATCH_CONFIG_RUNNER 2 | #include 3 | 4 | int main(const int argc, char** const argv) { 5 | Catch::Session session; 6 | 7 | int rc = session.applyCommandLine(argc, argv); 8 | if (rc != 0) 9 | return rc; 10 | 11 | return session.run(); 12 | } 13 | -------------------------------------------------------------------------------- /test/support/src/array_helpers.cc: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | namespace tiledb::test { 4 | 5 | tiledb_error_t* SparseGlobalOrderReaderMemoryBudget::apply( 6 | tiledb_config_t* config) { 7 | tiledb_error_t* error; 8 | 9 | if (tiledb_config_set( 10 | config, "sm.mem.total_budget", total_budget_.c_str(), &error) != 11 | TILEDB_OK) { 12 | return error; 13 | } 14 | 15 | if (tiledb_config_set( 16 | config, 17 | "sm.mem.reader.sparse_global_order.ratio_tile_ranges", 18 | ratio_tile_ranges_.c_str(), 19 | &error) != TILEDB_OK) { 20 | return error; 21 | } 22 | 23 | if (tiledb_config_set( 24 | config, 25 | "sm.mem.reader.sparse_global_order.ratio_array_data", 26 | ratio_array_data_.c_str(), 27 | &error) != TILEDB_OK) { 28 | return error; 29 | } 30 | 31 | if (tiledb_config_set( 32 | config, 33 | "sm.mem.reader.sparse_global_order.ratio_coords", 34 | ratio_coords_.c_str(), 35 | &error) != TILEDB_OK) { 36 | return error; 37 | } 38 | 39 | return nullptr; 40 | } 41 | 42 | } // namespace tiledb::test 43 | -------------------------------------------------------------------------------- /test/support/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # 2 | # test/support/test/CMakeLists.txt 3 | # 4 | # The MIT License 5 | # 6 | # Copyright (c) 2023 TileDB, Inc. 7 | # 8 | # Permission is hereby granted, free of charge, to any person obtaining a copy 9 | # of this software and associated documentation files (the "Software"), to deal 10 | # in the Software without restriction, including without limitation the rights 11 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | # copies of the Software, and to permit persons to whom the Software is 13 | # furnished to do so, subject to the following conditions: 14 | # 15 | # The above copyright notice and this permission notice shall be included in 16 | # all copies or substantial portions of the Software. 17 | # 18 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | # THE SOFTWARE. 25 | # 26 | 27 | include(unit_test) 28 | 29 | commence(unit_test test_tdb_catch) 30 | this_target_sources(unit_tdb_catch.cc) 31 | this_target_object_libraries(tdb_catch) 32 | conclude(unit_test) 33 | -------------------------------------------------------------------------------- /tiledb/api/DIRECTORY.md: -------------------------------------------------------------------------------- 1 | ## API 2 | 3 | This directory is the (future) home of the C API and the C++ API. The API's are the leaves of the dependency tree insofar as code organization is concerned. API code may reference anything in the code base, but nothing here should be referenced by anything but user code. 4 | 5 | Also included here are API support functions and API-specific tests. The scope of tests are those that exercise the API narrowly, that is, unit tests of the API code itself insofar as it's possible to write them. They should be more than unit tests of the major classes they use but less than full integration tests of the library. 6 | 7 | Functions outside of the API itself should be defined in `namespace tiledb::api`. 8 | 9 | ### C API 10 | 11 | The C API has started to move to this directory and is currently in transition. 12 | 13 | This directory is for declaration and definition of C API functions, but is not for any common infrastructure they share. 14 | 15 | ### C API Support 16 | 17 | This directory contains support code shared generally between implementations of C API functions. 18 | 19 | ### C++ API 20 | 21 | The C++ API has not yet moved to this directory. -------------------------------------------------------------------------------- /tiledb/api/c_api/error/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # 2 | # tiledb/api/c_api/error/test/CMakeLists.txt 3 | # 4 | # The MIT License 5 | # 6 | # Copyright (c) 2022 TileDB, Inc. 7 | # 8 | # Permission is hereby granted, free of charge, to any person obtaining a copy 9 | # of this software and associated documentation files (the "Software"), to deal 10 | # in the Software without restriction, including without limitation the rights 11 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | # copies of the Software, and to permit persons to whom the Software is 13 | # furnished to do so, subject to the following conditions: 14 | # 15 | # The above copyright notice and this permission notice shall be included in 16 | # all copies or substantial portions of the Software. 17 | # 18 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | # THE SOFTWARE. 25 | # 26 | include(unit_test) 27 | 28 | commence(unit_test capi_error) 29 | this_target_sources(unit_capi_error.cc) 30 | this_target_object_libraries(capi_error) 31 | conclude(unit_test) 32 | -------------------------------------------------------------------------------- /tiledb/api/c_api/vfs/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # 2 | # tiledb/api/c_api/vfs/test/CMakeLists.txt 3 | # 4 | # The MIT License 5 | # 6 | # Copyright (c) 2022-2024 TileDB, Inc. 7 | # 8 | # Permission is hereby granted, free of charge, to any person obtaining a copy 9 | # of this software and associated documentation files (the "Software"), to deal 10 | # in the Software without restriction, including without limitation the rights 11 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | # copies of the Software, and to permit persons to whom the Software is 13 | # furnished to do so, subject to the following conditions: 14 | # 15 | # The above copyright notice and this permission notice shall be included in 16 | # all copies or substantial portions of the Software. 17 | # 18 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | # THE SOFTWARE. 25 | # 26 | 27 | include(unit_test) 28 | 29 | commence(unit_test capi_vfs) 30 | this_target_sources(unit_capi_vfs.cc) 31 | this_target_object_libraries(capi_vfs) 32 | conclude(unit_test) 33 | -------------------------------------------------------------------------------- /tiledb/api/c_api_support/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # 2 | # tiledb/api/c_api_support/CMakeLists.txt 3 | # 4 | # The MIT License 5 | # 6 | # Copyright (c) 2022 TileDB, Inc. 7 | # 8 | # Permission is hereby granted, free of charge, to any person obtaining a copy 9 | # of this software and associated documentation files (the "Software"), to deal 10 | # in the Software without restriction, including without limitation the rights 11 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | # copies of the Software, and to permit persons to whom the Software is 13 | # furnished to do so, subject to the following conditions: 14 | # 15 | # The above copyright notice and this permission notice shall be included in 16 | # all copies or substantial portions of the Software. 17 | # 18 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | # THE SOFTWARE. 25 | # 26 | 27 | include(common) 28 | 29 | add_subdirectory(cpp_string) 30 | add_subdirectory(exception_wrapper) 31 | add_subdirectory(handle) 32 | -------------------------------------------------------------------------------- /tiledb/api/c_api_support/DIRECTORY.md: -------------------------------------------------------------------------------- 1 | ## C API Support 2 | 3 | This directory contains support code shared generally between implementations of C API functions. 4 | 5 | * `class Handle` is the means through which user code refers to objects inside the library. These are managed wrappers around pointers to internal objects. 6 | -------------------------------------------------------------------------------- /tiledb/api/c_api_support/exception_wrapper/test/hook/DIRECTORY.md: -------------------------------------------------------------------------------- 1 | # Directory for C API hook testing 2 | 3 | A user activates the C API hook by writing an override header and building the library with its directory as part of the include path. This is a compile-time mechanism, so in order to test it well, the same code should execute both with and without a test hook compiled in. 4 | 5 | This directory proivdes a place to put an override header that's not ordinarily included in the build. -------------------------------------------------------------------------------- /tiledb/api/c_api_support/handle/handle.cc: -------------------------------------------------------------------------------- 1 | /** 2 | * @file tiledb/api/handle/handle.cc 3 | * 4 | * @section LICENSE 5 | * 6 | * The MIT License 7 | * 8 | * @copyright Copyright (c) 2022 TileDB, Inc. 9 | * 10 | * Permission is hereby granted, free of charge, to any person obtaining a copy 11 | * of this software and associated documentation files (the "Software"), to deal 12 | * in the Software without restriction, including without limitation the rights 13 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be included in 18 | * all copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 26 | * THE SOFTWARE. 27 | * 28 | * @section DESCRIPTION 29 | */ 30 | 31 | #include "handle.h" 32 | 33 | namespace tiledb::api {} // namespace tiledb::api 34 | -------------------------------------------------------------------------------- /tiledb/api/c_api_test_support/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # 2 | # tiledb/api/c_api_test_support/CMakeLists.txt 3 | # 4 | # The MIT License 5 | # 6 | # Copyright (c) 2022 TileDB, Inc. 7 | # 8 | # Permission is hereby granted, free of charge, to any person obtaining a copy 9 | # of this software and associated documentation files (the "Software"), to deal 10 | # in the Software without restriction, including without limitation the rights 11 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | # copies of the Software, and to permit persons to whom the Software is 13 | # furnished to do so, subject to the following conditions: 14 | # 15 | # The above copyright notice and this permission notice shall be included in 16 | # all copies or substantial portions of the Software. 17 | # 18 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | # THE SOFTWARE. 25 | # 26 | 27 | add_subdirectory(storage_manager_stub) 28 | -------------------------------------------------------------------------------- /tiledb/api/c_api_test_support/DIRECTORY.md: -------------------------------------------------------------------------------- 1 | ## C API Test Support 2 | 3 | This directory provides support classes for testing the C API at the unit level 4 | 5 | ### Storage Manager Stub 6 | 7 | The `class StorageManager` is too large and unwieldy to support unit testing, yet there's member variable of that type in each `Context`. This directory defines a stub class for `StorageManager` that allows testing with `Context` in cases that don't require anything but a stub. -------------------------------------------------------------------------------- /tiledb/api/c_api_test_support/storage_manager_stub/DIRECTORY.md: -------------------------------------------------------------------------------- 1 | ## Storage Manager Stub 2 | 3 | The `class StorageManager` is too large and unwieldy to support unit testing, yet there's member variable of that type in each `Context`. This directory defines a stub class for `StorageManager` that allows testing with `Context` in cases that don't require anything but a stub. 4 | 5 | ### Override Headers 6 | 7 | The name of the header may not change; they're fixed in other headers. The file `storage_manager_override` declares the class `StorageManagerStub` and puts that declaration into `storage_manager.h`. The file `storage_manager_declaration_override.h` specializes a template that has the effect of assigning the alias `StorageManager` to StorageManagerStub`. 8 | 9 | ### CMake support 10 | 11 | In order to activate the override, the directory path must be modified to reach this directory so that the override header will be found on the include path. The file `storage_manager_override.cmake` defines an object library that sets up the include path. 12 | 13 | ### Stub Definition 14 | 15 | The file `storage_manager_stub.cc` is empty, but is needed to define an object library for the overridden storage manager. 16 | -------------------------------------------------------------------------------- /tiledb/api/cpp_api_support/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # 2 | # tiledb/api/cpp_api_support/CMakeLists.txt 3 | # 4 | # The MIT License 5 | # 6 | # Copyright (c) 2023 TileDB, Inc. 7 | # 8 | # Permission is hereby granted, free of charge, to any person obtaining a copy 9 | # of this software and associated documentation files (the "Software"), to deal 10 | # in the Software without restriction, including without limitation the rights 11 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | # copies of the Software, and to permit persons to whom the Software is 13 | # furnished to do so, subject to the following conditions: 14 | # 15 | # The above copyright notice and this permission notice shall be included in 16 | # all copies or substantial portions of the Software. 17 | # 18 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | # THE SOFTWARE. 25 | # 26 | 27 | include(common NO_POLICY_SCOPE) 28 | 29 | add_test_subdirectory() 30 | -------------------------------------------------------------------------------- /tiledb/common/evaluator/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # 2 | # tiledb/common/evaluator/CMakeLists.txt 3 | # 4 | # The MIT License 5 | # 6 | # Copyright (c) 2024 TileDB, Inc. 7 | # 8 | # Permission is hereby granted, free of charge, to any person obtaining a copy 9 | # of this software and associated documentation files (the "Software"), to deal 10 | # in the Software without restriction, including without limitation the rights 11 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | # copies of the Software, and to permit persons to whom the Software is 13 | # furnished to do so, subject to the following conditions: 14 | # 15 | # The above copyright notice and this permission notice shall be included in 16 | # all copies or substantial portions of the Software. 17 | # 18 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | # THE SOFTWARE. 25 | # 26 | 27 | # This is a header-only component, an object library is not needed 28 | 29 | include(common NO_POLICY_SCOPE) 30 | 31 | add_test_subdirectory() 32 | -------------------------------------------------------------------------------- /tiledb/common/exception/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # 2 | # tiledb/common/exception/CMakeLists.txt 3 | # 4 | # 5 | # The MIT License 6 | # 7 | # Copyright (c) 2022 TileDB, Inc. 8 | # 9 | # Permission is hereby granted, free of charge, to any person obtaining a copy 10 | # of this software and associated documentation files (the "Software"), to deal 11 | # in the Software without restriction, including without limitation the rights 12 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | # copies of the Software, and to permit persons to whom the Software is 14 | # furnished to do so, subject to the following conditions: 15 | # 16 | # The above copyright notice and this permission notice shall be included in 17 | # all copies or substantial portions of the Software. 18 | # 19 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 25 | # THE SOFTWARE. 26 | # 27 | 28 | include(common NO_POLICY_SCOPE) 29 | 30 | add_test_subdirectory() 31 | -------------------------------------------------------------------------------- /tiledb/common/interval/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # 2 | # tiledb/common/interval/test/CMakeLists.txt 3 | # 4 | # The MIT License 5 | # 6 | # Copyright (c) 2021 TileDB, Inc. 7 | # 8 | # Permission is hereby granted, free of charge, to any person obtaining a copy 9 | # of this software and associated documentation files (the "Software"), to deal 10 | # in the Software without restriction, including without limitation the rights 11 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | # copies of the Software, and to permit persons to whom the Software is 13 | # furnished to do so, subject to the following conditions: 14 | # 15 | # The above copyright notice and this permission notice shall be included in 16 | # all copies or substantial portions of the Software. 17 | # 18 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | # THE SOFTWARE. 25 | # 26 | 27 | # 28 | # No object library `interval`; it's header-only 29 | # 30 | add_test_subdirectory() 31 | -------------------------------------------------------------------------------- /tiledb/common/polymorphic_allocator/README.md: -------------------------------------------------------------------------------- 1 | Polymorphic Allocator Fallback Implementation 2 | === 3 | 4 | This implementation of polymorphic_allocator was pulled from Pablo Halpern's 5 | C++11 implementation available here: 6 | 7 | https://github.com/phalpern/CppCon2017Code/tree/d26e7f4f6c593fe135c6b454aee93486790726b7 8 | 9 | I have a personal forked copy here in case that repository ever dissappears: 10 | 11 | https://github.com/davisp/phalpern-CppCon2017Code/tree/d26e7f4f6c593fe135c6b454aee93486790726b7 12 | 13 | The only changes from the original files in that repository are to reformat 14 | using TileDB coding style and adding a handful of `std::` namespace qualifiers 15 | to avoid symbol name clashes with internal TileDB symbols. 16 | -------------------------------------------------------------------------------- /tiledb/common/polymorphic_allocator/polymorphic_allocator.cc: -------------------------------------------------------------------------------- 1 | /* polymorphic_allocator.cpp -*-C++-*- 2 | * 3 | * Copyright 2012 Pablo Halpern. 4 | * Distributed under the Boost Software License, Version 1.0. 5 | * (See accompanying file LICENSE_1_0.txt or copy at 6 | * http://www.boost.org/LICENSE_1_0.txt) 7 | */ 8 | 9 | #include "polymorphic_allocator.h" 10 | 11 | namespace cpp17 { 12 | 13 | atomic pmr::memory_resource::s_default_resource(nullptr); 14 | 15 | pmr::new_delete_resource* pmr::new_delete_resource_singleton() { 16 | // TBD: I think the standard makes this exception-safe, otherwise, we need 17 | // to use 'call_once()' in ''. 18 | static new_delete_resource singleton; 19 | return &singleton; 20 | } 21 | 22 | } // namespace cpp17 23 | 24 | // end polymorphic_allocator.cpp 25 | -------------------------------------------------------------------------------- /tiledb/common/thread_pool/test/unit_thread_pool.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file tiledb/common/thread_pool/test/unit_thread_pool.h 3 | * 4 | * @section LICENSE 5 | * 6 | * The MIT License 7 | * 8 | * @copyright Copyright (c) 2021 TileDB, Inc. 9 | * 10 | * Permission is hereby granted, free of charge, to any person obtaining a copy 11 | * of this software and associated documentation files (the "Software"), to deal 12 | * in the Software without restriction, including without limitation the rights 13 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be included in 18 | * all copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 26 | * THE SOFTWARE. 27 | * 28 | * @section DESCRIPTION 29 | */ 30 | 31 | #include 32 | -------------------------------------------------------------------------------- /tiledb/common/types/untyped_datum.cc: -------------------------------------------------------------------------------- 1 | /** 2 | * @file untyped_datum.cc 3 | * 4 | * @section LICENSE 5 | * 6 | * The MIT License 7 | * 8 | * @copyright Copyright (c) 2021 TileDB, Inc. 9 | * 10 | * Permission is hereby granted, free of charge, to any person obtaining a copy 11 | * of this software and associated documentation files (the "Software"), to deal 12 | * in the Software without restriction, including without limitation the rights 13 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be included in 18 | * all copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 26 | * THE SOFTWARE. 27 | */ 28 | 29 | #include "untyped_datum.h" 30 | -------------------------------------------------------------------------------- /tiledb/common/util/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # 2 | # tiledb/common/util/CMakeLists.txt 3 | # 4 | # The MIT License 5 | # 6 | # Copyright (c) 2024 TileDB, Inc. 7 | # 8 | # Permission is hereby granted, free of charge, to any person obtaining a copy 9 | # of this software and associated documentation files (the "Software"), to deal 10 | # in the Software without restriction, including without limitation the rights 11 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | # copies of the Software, and to permit persons to whom the Software is 13 | # furnished to do so, subject to the following conditions: 14 | # 15 | # The above copyright notice and this permission notice shall be included in 16 | # all copies or substantial portions of the Software. 17 | # 18 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | # THE SOFTWARE. 25 | # 26 | 27 | include(common NO_POLICY_SCOPE) 28 | include(object_library) 29 | 30 | add_subdirectory(detail) 31 | add_test_subdirectory() 32 | -------------------------------------------------------------------------------- /tiledb/common/util/detail/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # 2 | # tiledb/util/detail/CMakeLists.txt 3 | # 4 | # The MIT License 5 | # 6 | # Copyright (c) 2024 TileDB, Inc. 7 | # 8 | # Permission is hereby granted, free of charge, to any person obtaining a copy 9 | # of this software and associated documentation files (the "Software"), to deal 10 | # in the Software without restriction, including without limitation the rights 11 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | # copies of the Software, and to permit persons to whom the Software is 13 | # furnished to do so, subject to the following conditions: 14 | # 15 | # The above copyright notice and this permission notice shall be included in 16 | # all copies or substantial portions of the Software. 17 | # 18 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | # THE SOFTWARE. 25 | # 26 | 27 | include(common NO_POLICY_SCOPE) 28 | include(object_library) 29 | 30 | add_test_subdirectory() -------------------------------------------------------------------------------- /tiledb/common/util/detail/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # 2 | # tiledb/util/detail/test/CMakeLists.txt 3 | # 4 | # The MIT License 5 | # 6 | # Copyright (c) 2024 TileDB, Inc. 7 | # 8 | # Permission is hereby granted, free of charge, to any person obtaining a copy 9 | # of this software and associated documentation files (the "Software"), to deal 10 | # in the Software without restriction, including without limitation the rights 11 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | # copies of the Software, and to permit persons to whom the Software is 13 | # furnished to do so, subject to the following conditions: 14 | # 15 | # The above copyright notice and this permission notice shall be included in 16 | # all copies or substantial portions of the Software. 17 | # 18 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | # THE SOFTWARE. 25 | # 26 | 27 | include(unit_test) 28 | 29 | commence(unit_test iterator_facade) 30 | this_target_sources( 31 | unit_iterator_facade.cc 32 | ) 33 | conclude(unit_test) 34 | -------------------------------------------------------------------------------- /tiledb/doxygen/source/figures/Scarlet-Macaw-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/tiledb/doxygen/source/figures/Scarlet-Macaw-small.png -------------------------------------------------------------------------------- /tiledb/doxygen/source/index.rst: -------------------------------------------------------------------------------- 1 | TileDB API Reference 2 | ==================== 3 | 4 | TileDB is a data management solution invented to help Data Science teams make 5 | faster discoveries, by giving them a more natural way to store, analyze and 6 | share large sets of diverse data, so that they can stop wasting time working 7 | around performance limitations, inadequate data storage formats, and unfamiliar 8 | tooling. 9 | 10 | 11 | Here you will find the API reference for the TileDB storage engine, which 12 | is open-sourced under the permissive 13 | `MIT License `_. 14 | 15 | 16 | Useful Links 17 | ------------ 18 | 19 | - `Main Developer Docs `_ 20 | - `Installation `_ 21 | - `Quickstart `_ 22 | - `TileDB Github Repo `_ 23 | - `TileDB, Inc. Official Website `_ 24 | 25 | .. include:: _sidebar.rst.inc 26 | 27 | Special pages 28 | ------------- 29 | * :ref:`genindex` 30 | * :ref:`search` 31 | -------------------------------------------------------------------------------- /tiledb/doxygen/source/requirements.txt: -------------------------------------------------------------------------------- 1 | breathe 2 | cmake 3 | docutils 4 | jinja2 5 | sphinx_rtd_theme 6 | sphinxcontrib-contentui 7 | -------------------------------------------------------------------------------- /tiledb/oxidize/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # assumes cargo is found via `Modules/FindCargo.cmake` 2 | 3 | include(oxidize) 4 | 5 | add_crate( 6 | NAME 7 | arithmetic 8 | BRIDGES 9 | src/lib.rs 10 | SOURCES 11 | Cargo.toml 12 | ) 13 | -------------------------------------------------------------------------------- /tiledb/oxidize/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | resolver = "2" 3 | members = [ 4 | "arithmetic", 5 | ] 6 | 7 | [workspace.package] 8 | edition = "2024" 9 | rust-version = "1.85" 10 | version = "0.1.0" 11 | 12 | [workspace.dependencies] 13 | cxx = "1" 14 | cxx-build = "1" 15 | num-traits = "0.2" 16 | -------------------------------------------------------------------------------- /tiledb/oxidize/arithmetic/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "arithmetic" 3 | edition = { workspace = true } 4 | rust-version = { workspace = true } 5 | version = { workspace = true } 6 | 7 | [dependencies] 8 | cxx = { workspace = true } 9 | num-traits = { workspace = true } 10 | 11 | [build-dependencies] 12 | cxx-build = { workspace = true } 13 | 14 | [lib] 15 | crate-type = ["staticlib"] 16 | -------------------------------------------------------------------------------- /tiledb/oxidize/arithmetic/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | let _bridge = cxx_build::bridge("src/lib.rs"); 3 | println!("cargo:rerun-if-changed=src/lib.rs"); 4 | } 5 | -------------------------------------------------------------------------------- /tiledb/platform/test/unit_platform.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file tiledb/platform/test/unit_platform.h 3 | * 4 | * @section LICENSE 5 | * 6 | * The MIT License 7 | * 8 | * @copyright Copyright (c) 2021 TileDB, Inc. 9 | * 10 | * Permission is hereby granted, free of charge, to any person obtaining a copy 11 | * of this software and associated documentation files (the "Software"), to deal 12 | * in the Software without restriction, including without limitation the rights 13 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be included in 18 | * all copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 26 | * THE SOFTWARE. 27 | * 28 | * @section DESCRIPTION 29 | */ 30 | 31 | #include 32 | -------------------------------------------------------------------------------- /tiledb/sm/buffer/test/compile_buffer_main.cc: -------------------------------------------------------------------------------- 1 | /** 2 | * @file compile_buffer_main.cc 3 | * 4 | * @section LICENSE 5 | * 6 | * The MIT License 7 | * 8 | * @copyright Copyright (c) 2023 TileDB, Inc. 9 | * 10 | * Permission is hereby granted, free of charge, to any person obtaining a copy 11 | * of this software and associated documentation files (the "Software"), to deal 12 | * in the Software without restriction, including without limitation the rights 13 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be included in 18 | * all copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 26 | * THE SOFTWARE. 27 | */ 28 | 29 | #include "../buffer.h" 30 | 31 | int main() { 32 | tiledb::sm::Buffer(); 33 | return 0; 34 | } 35 | -------------------------------------------------------------------------------- /tiledb/sm/c_api/api_argument_validator.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TileDB-Inc/TileDB/44463b2e83a35f10cd1fac62427cb937927ef1a6/tiledb/sm/c_api/api_argument_validator.cc -------------------------------------------------------------------------------- /tiledb/sm/c_api/tiledb_version.h: -------------------------------------------------------------------------------- 1 | /* 2 | * @file version.h 3 | * 4 | * @section LICENSE 5 | * 6 | * The MIT License 7 | * 8 | * @copyright Copyright (c) 2017-2021 TileDB, Inc. 9 | * 10 | * Permission is hereby granted, free of charge, to any person obtaining a copy 11 | * of this software and associated documentation files (the "Software"), to deal 12 | * in the Software without restriction, including without limitation the rights 13 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be included in 18 | * all copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 26 | * THE SOFTWARE. 27 | */ 28 | 29 | #define TILEDB_VERSION_MAJOR 2 30 | #define TILEDB_VERSION_MINOR 29 31 | #define TILEDB_VERSION_PATCH 0 32 | -------------------------------------------------------------------------------- /tiledb/sm/config/test/compile_config_main.cc: -------------------------------------------------------------------------------- 1 | /** 2 | * @file compile_config_main.cc 3 | * 4 | * @section LICENSE 5 | * 6 | * The MIT License 7 | * 8 | * @copyright Copyright (c) 2021 TileDB, Inc. 9 | * 10 | * Permission is hereby granted, free of charge, to any person obtaining a copy 11 | * of this software and associated documentation files (the "Software"), to deal 12 | * in the Software without restriction, including without limitation the rights 13 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be included in 18 | * all copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 26 | * THE SOFTWARE. 27 | */ 28 | 29 | #include "../config.h" 30 | 31 | int main() { 32 | (void)sizeof(tiledb::sm::Config); 33 | return 0; 34 | } 35 | -------------------------------------------------------------------------------- /tiledb/sm/consolidator/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # 2 | # tiledb/sm/consolidator/CMakeLists.txt 3 | # 4 | # The MIT License 5 | # 6 | # Copyright (c) 2021-2022 TileDB, Inc. 7 | # 8 | # Permission is hereby granted, free of charge, to any person obtaining a copy 9 | # of this software and associated documentation files (the "Software"), to deal 10 | # in the Software without restriction, including without limitation the rights 11 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | # copies of the Software, and to permit persons to whom the Software is 13 | # furnished to do so, subject to the following conditions: 14 | # 15 | # The above copyright notice and this permission notice shall be included in 16 | # all copies or substantial portions of the Software. 17 | # 18 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | # THE SOFTWARE. 25 | 26 | include(common NO_POLICY_SCOPE) 27 | 28 | add_test_subdirectory() 29 | -------------------------------------------------------------------------------- /tiledb/sm/filter/test/compile_filter_main.cc: -------------------------------------------------------------------------------- 1 | /** 2 | * @file compile_filter_main.cc 3 | * 4 | * @section LICENSE 5 | * 6 | * The MIT License 7 | * 8 | * @copyright Copyright (c) 2021 TileDB, Inc. 9 | * 10 | * Permission is hereby granted, free of charge, to any person obtaining a copy 11 | * of this software and associated documentation files (the "Software"), to deal 12 | * in the Software without restriction, including without limitation the rights 13 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be included in 18 | * all copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 26 | * THE SOFTWARE. 27 | */ 28 | 29 | #include "../filter.h" 30 | 31 | int main() { 32 | (void)sizeof(tiledb::sm::Filter); 33 | return 0; 34 | } 35 | -------------------------------------------------------------------------------- /tiledb/sm/group/test/compile_group_main.cc: -------------------------------------------------------------------------------- 1 | /** 2 | * @file compile_group_main.cc 3 | * 4 | * @section LICENSE 5 | * 6 | * The MIT License 7 | * 8 | * @copyright Copyright (c) 2021 TileDB, Inc. 9 | * 10 | * Permission is hereby granted, free of charge, to any person obtaining a copy 11 | * of this software and associated documentation files (the "Software"), to deal 12 | * in the Software without restriction, including without limitation the rights 13 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be included in 18 | * all copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 26 | * THE SOFTWARE. 27 | */ 28 | 29 | #include "../group.h" 30 | 31 | int main() { 32 | (void)sizeof(tiledb::sm::GroupDetails); 33 | return 0; 34 | } 35 | -------------------------------------------------------------------------------- /tiledb/sm/misc/test/compile_math_main.cc: -------------------------------------------------------------------------------- 1 | /** 2 | * @file compile_math_main.cc 3 | * 4 | * @section LICENSE 5 | * 6 | * The MIT License 7 | * 8 | * @copyright Copyright (c) 2021 TileDB, Inc. 9 | * 10 | * Permission is hereby granted, free of charge, to any person obtaining a copy 11 | * of this software and associated documentation files (the "Software"), to deal 12 | * in the Software without restriction, including without limitation the rights 13 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be included in 18 | * all copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 26 | * THE SOFTWARE. 27 | */ 28 | 29 | #include "../tdb_math.h" 30 | 31 | int main() { 32 | (void)tiledb::sm::utils::math::ceil(1, 1); 33 | return 0; 34 | } 35 | -------------------------------------------------------------------------------- /tiledb/sm/query/DELETES_AND_UPDATES.md: -------------------------------------------------------------------------------- 1 | # Deletes 2 | 3 | Deletes are implemented as a query type, `TILEDB_QUERY_TYPE_DELETE`, which requires 4 | a QueryCondition to be set on the Query. Upon query submission, TileDB creates a [delete commit file](https://github.com/TileDB-Inc/TileDB/blob/dev/format_spec/delete_commit_file.md) containing a serialized version of the query condition. All attribute values matching the query condition expression are considered to be deleted as of the timestamp of the commit file. During reads, any delete commit files within the query range are loaded and deserialized, then the _negation_ of the stored query condition is applied to the final result. -------------------------------------------------------------------------------- /tiledb/sm/query/deletes_and_updates/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # 2 | # tiledb/storage_format/delete_condition/CMakeLists.txt 3 | # 4 | # The MIT License 5 | # 6 | # Copyright (c) 2022 TileDB, Inc. 7 | # 8 | # Permission is hereby granted, free of charge, to any person obtaining a copy 9 | # of this software and associated documentation files (the "Software"), to deal 10 | # in the Software without restriction, including without limitation the rights 11 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | # copies of the Software, and to permit persons to whom the Software is 13 | # furnished to do so, subject to the following conditions: 14 | # 15 | # The above copyright notice and this permission notice shall be included in 16 | # all copies or substantial portions of the Software. 17 | # 18 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | # THE SOFTWARE. 25 | 26 | include(common NO_POLICY_SCOPE) 27 | add_test_subdirectory() 28 | -------------------------------------------------------------------------------- /tiledb/sm/query/external_sort/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # 2 | # tiledb/sm/query/external_sort/CMakeLists.txt 3 | # 4 | # The MIT License 5 | # 6 | # Copyright (c) 2024 TileDB, Inc. 7 | # 8 | # Permission is hereby granted, free of charge, to any person obtaining a copy 9 | # of this software and associated documentation files (the "Software"), to deal 10 | # in the Software without restriction, including without limitation the rights 11 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | # copies of the Software, and to permit persons to whom the Software is 13 | # furnished to do so, subject to the following conditions: 14 | # 15 | # The above copyright notice and this permission notice shall be included in 16 | # all copies or substantial portions of the Software. 17 | # 18 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | # THE SOFTWARE. 25 | # 26 | 27 | include(common NO_POLICY_SCOPE) 28 | 29 | add_test_subdirectory() 30 | -------------------------------------------------------------------------------- /tiledb/sm/query/external_sort/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # 2 | # tiledb/sm/query/external_sort/test/CMakeLists.txt 3 | # 4 | # The MIT License 5 | # 6 | # Copyright (c) 2024 TileDB, Inc. 7 | # 8 | # Permission is hereby granted, free of charge, to any person obtaining a copy 9 | # of this software and associated documentation files (the "Software"), to deal 10 | # in the Software without restriction, including without limitation the rights 11 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | # copies of the Software, and to permit persons to whom the Software is 13 | # furnished to do so, subject to the following conditions: 14 | # 15 | # The above copyright notice and this permission notice shall be included in 16 | # all copies or substantial portions of the Software. 17 | # 18 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | # THE SOFTWARE. 25 | # 26 | 27 | include(unit_test) 28 | 29 | commence(unit_test partition) 30 | this_target_sources( 31 | unit_partition.cc 32 | ) 33 | conclude(unit_test) -------------------------------------------------------------------------------- /tiledb/sm/query/readers/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # 2 | # tiledb/sm/query/readers/CMakeLists.txt 3 | # 4 | # The MIT License 5 | # 6 | # Copyright (c) 2023 TileDB, Inc. 7 | # 8 | # Permission is hereby granted, free of charge, to any person obtaining a copy 9 | # of this software and associated documentation files (the "Software"), to deal 10 | # in the Software without restriction, including without limitation the rights 11 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | # copies of the Software, and to permit persons to whom the Software is 13 | # furnished to do so, subject to the following conditions: 14 | # 15 | # The above copyright notice and this permission notice shall be included in 16 | # all copies or substantial portions of the Software. 17 | # 18 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | # THE SOFTWARE. 25 | # 26 | 27 | include(common NO_POLICY_SCOPE) 28 | include(object_library) 29 | 30 | add_subdirectory(aggregators) 31 | 32 | add_test_subdirectory() -------------------------------------------------------------------------------- /tiledb/sm/rtree/test/compile_rtree_main.cc: -------------------------------------------------------------------------------- 1 | /** 2 | * @file compile_rtree_main.cc 3 | * 4 | * @section LICENSE 5 | * 6 | * The MIT License 7 | * 8 | * @copyright Copyright (c) 2022 TileDB, Inc. 9 | * 10 | * Permission is hereby granted, free of charge, to any person obtaining a copy 11 | * of this software and associated documentation files (the "Software"), to deal 12 | * in the Software without restriction, including without limitation the rights 13 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be included in 18 | * all copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 26 | * THE SOFTWARE. 27 | */ 28 | 29 | #include "../rtree.h" 30 | 31 | int main() { 32 | tiledb::sm::RTree x{nullptr, 0, nullptr}; 33 | return 0; 34 | } 35 | -------------------------------------------------------------------------------- /tiledb/sm/serialization/.gitattributes: -------------------------------------------------------------------------------- 1 | # Exclude the capnp generated files to reduce reported size of diffs on GitHub 2 | posix/** linguist-generated=true 3 | win32/** linguist-generated=true 4 | -------------------------------------------------------------------------------- /tiledb/sm/stats/test/compile_stats_main.cc: -------------------------------------------------------------------------------- 1 | /** 2 | * @file compile_stats_main.cc 3 | * 4 | * @section LICENSE 5 | * 6 | * The MIT License 7 | * 8 | * @copyright Copyright (c) 2021 TileDB, Inc. 9 | * 10 | * Permission is hereby granted, free of charge, to any person obtaining a copy 11 | * of this software and associated documentation files (the "Software"), to deal 12 | * in the Software without restriction, including without limitation the rights 13 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be included in 18 | * all copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 26 | * THE SOFTWARE. 27 | */ 28 | 29 | #include "../stats.h" 30 | 31 | int main() { 32 | (void)sizeof(tiledb::sm::stats::Stats); 33 | return 0; 34 | } 35 | -------------------------------------------------------------------------------- /tiledb/sm/tile/test/compile_tile_main.cc: -------------------------------------------------------------------------------- 1 | /** 2 | * @file compile_tile_main.cc 3 | * 4 | * @section LICENSE 5 | * 6 | * The MIT License 7 | * 8 | * @copyright Copyright (c) 2021 TileDB, Inc. 9 | * 10 | * Permission is hereby granted, free of charge, to any person obtaining a copy 11 | * of this software and associated documentation files (the "Software"), to deal 12 | * in the Software without restriction, including without limitation the rights 13 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be included in 18 | * all copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 26 | * THE SOFTWARE. 27 | */ 28 | 29 | #include "../tile.h" 30 | 31 | int main() { 32 | (void)sizeof(tiledb::sm::Tile); 33 | return 0; 34 | } 35 | -------------------------------------------------------------------------------- /tiledb/stdx/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # 2 | # tiledb/stdx/CMakeLists.txt 3 | # 4 | # The MIT License 5 | # 6 | # Copyright (c) 2022 TileDB, Inc. 7 | # 8 | # Permission is hereby granted, free of charge, to any person obtaining a copy 9 | # of this software and associated documentation files (the "Software"), to deal 10 | # in the Software without restriction, including without limitation the rights 11 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | # copies of the Software, and to permit persons to whom the Software is 13 | # furnished to do so, subject to the following conditions: 14 | # 15 | # The above copyright notice and this permission notice shall be included in 16 | # all copies or substantial portions of the Software. 17 | # 18 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | # THE SOFTWARE. 25 | # 26 | include(common NO_POLICY_SCOPE) 27 | 28 | add_test_subdirectory() 29 | 30 | add_subdirectory(synchronized_optional) 31 | add_subdirectory(__ranges) 32 | -------------------------------------------------------------------------------- /tiledb/stdx/DIRECTORY.md: -------------------------------------------------------------------------------- 1 | ## stdx 2 | 3 | This directory contains local implementations of C++ standard library components that have been introduced in recent versions of the standard, but that are not included in the standard library shipping with one or more of the compilers supported by libtiledb. 4 | 5 | ### `ranges` 6 | 7 | There are two views standardized as part of C++23 that we provide a subset for: `zip_view` and `chunk_view`. The file `tiledb/stdx/ranges` is an include file (mimicking "`ranges`" in the standard library) that provides these two views. The implementations of these views are included in the `__ranges` subdirectory. (This naming convention mirrors that of LLVM.) The include directives for the implementations are surrounded by the appropriate `version` preprocessor directives so that once `zip_view` and/or `chunk_view` are available for a given compiler, the standard implementation will be used instead of our local implementation. 8 | 9 | ### `thread` and `stop_token` 10 | 11 | These are copies of Josuttis's model implementation. -------------------------------------------------------------------------------- /tiledb/stdx/__ranges/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # 2 | # tiledb/stdx/__ranges/CMakeLists.txt 3 | # 4 | # The MIT License 5 | # 6 | # Copyright (c) 2024 TileDB, Inc. 7 | # 8 | # Permission is hereby granted, free of charge, to any person obtaining a copy 9 | # of this software and associated documentation files (the "Software"), to deal 10 | # in the Software without restriction, including without limitation the rights 11 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | # copies of the Software, and to permit persons to whom the Software is 13 | # furnished to do so, subject to the following conditions: 14 | # 15 | # The above copyright notice and this permission notice shall be included in 16 | # all copies or substantial portions of the Software. 17 | # 18 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | # THE SOFTWARE. 25 | # 26 | 27 | include(common NO_POLICY_SCOPE) 28 | include(object_library) 29 | 30 | add_test_subdirectory() -------------------------------------------------------------------------------- /tiledb/stdx/synchronized_optional/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # 2 | # tiledb/stdx/synchronized_optional/CMakeLists.txt 3 | # 4 | # The MIT License 5 | # 6 | # Copyright (c) 2022 TileDB, Inc. 7 | # 8 | # Permission is hereby granted, free of charge, to any person obtaining a copy 9 | # of this software and associated documentation files (the "Software"), to deal 10 | # in the Software without restriction, including without limitation the rights 11 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | # copies of the Software, and to permit persons to whom the Software is 13 | # furnished to do so, subject to the following conditions: 14 | # 15 | # The above copyright notice and this permission notice shall be included in 16 | # all copies or substantial portions of the Software. 17 | # 18 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | # THE SOFTWARE. 25 | # 26 | include(common NO_POLICY_SCOPE) 27 | 28 | add_test_subdirectory() 29 | -------------------------------------------------------------------------------- /tiledb/stdx/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # 2 | # tiledb/stdx/test/CMakeLists.txt 3 | # 4 | # The MIT License 5 | # 6 | # Copyright (c) 2022 TileDB, Inc. 7 | # 8 | # Permission is hereby granted, free of charge, to any person obtaining a copy 9 | # of this software and associated documentation files (the "Software"), to deal 10 | # in the Software without restriction, including without limitation the rights 11 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | # copies of the Software, and to permit persons to whom the Software is 13 | # furnished to do so, subject to the following conditions: 14 | # 15 | # The above copyright notice and this permission notice shall be included in 16 | # all copies or substantial portions of the Software. 17 | # 18 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | # THE SOFTWARE. 25 | # 26 | include(unit_test) 27 | 28 | commence(unit_test stdx) 29 | this_target_sources( 30 | compat.cc) 31 | conclude(unit_test) 32 | -------------------------------------------------------------------------------- /tiledb/storage_format/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # 2 | # tiledb/storage_format/CMakeLists.txt 3 | # 4 | # The MIT License 5 | # 6 | # Copyright (c) 2022 TileDB, Inc. 7 | # 8 | # Permission is hereby granted, free of charge, to any person obtaining a copy 9 | # of this software and associated documentation files (the "Software"), to deal 10 | # in the Software without restriction, including without limitation the rights 11 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | # copies of the Software, and to permit persons to whom the Software is 13 | # furnished to do so, subject to the following conditions: 14 | # 15 | # The above copyright notice and this permission notice shall be included in 16 | # all copies or substantial portions of the Software. 17 | # 18 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | # THE SOFTWARE. 25 | 26 | add_subdirectory(serialization) 27 | add_subdirectory(uri) 28 | -------------------------------------------------------------------------------- /tiledb/storage_format/serialization/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # 2 | # tiledb/storage_format/serialization/CMakeLists.txt 3 | # 4 | # The MIT License 5 | # 6 | # Copyright (c) 2022 TileDB, Inc. 7 | # 8 | # Permission is hereby granted, free of charge, to any person obtaining a copy 9 | # of this software and associated documentation files (the "Software"), to deal 10 | # in the Software without restriction, including without limitation the rights 11 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | # copies of the Software, and to permit persons to whom the Software is 13 | # furnished to do so, subject to the following conditions: 14 | # 15 | # The above copyright notice and this permission notice shall be included in 16 | # all copies or substantial portions of the Software. 17 | # 18 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | # THE SOFTWARE. 25 | 26 | include(common NO_POLICY_SCOPE) 27 | add_test_subdirectory() 28 | -------------------------------------------------------------------------------- /tiledb/type/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # 2 | # tiledb/type/CMakeLists.txt 3 | # 4 | # 5 | # The MIT License 6 | # 7 | # Copyright (c) 2022 TileDB, Inc. 8 | # 9 | # Permission is hereby granted, free of charge, to any person obtaining a copy 10 | # of this software and associated documentation files (the "Software"), to deal 11 | # in the Software without restriction, including without limitation the rights 12 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | # copies of the Software, and to permit persons to whom the Software is 14 | # furnished to do so, subject to the following conditions: 15 | # 16 | # The above copyright notice and this permission notice shall be included in 17 | # all copies or substantial portions of the Software. 18 | # 19 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 25 | # THE SOFTWARE. 26 | # 27 | 28 | include(common-root) 29 | 30 | add_subdirectory(range) 31 | -------------------------------------------------------------------------------- /tiledb/type/range/test/compile_range_main.cc: -------------------------------------------------------------------------------- 1 | /** 2 | * @file compile_range_main.cc 3 | * 4 | * @section LICENSE 5 | * 6 | * The MIT License 7 | * 8 | * @copyright Copyright (c) 2021 TileDB, Inc. 9 | * 10 | * Permission is hereby granted, free of charge, to any person obtaining a copy 11 | * of this software and associated documentation files (the "Software"), to deal 12 | * in the Software without restriction, including without limitation the rights 13 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | * copies of the Software, and to permit persons to whom the Software is 15 | * furnished to do so, subject to the following conditions: 16 | * 17 | * The above copyright notice and this permission notice shall be included in 18 | * all copies or substantial portions of the Software. 19 | * 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 26 | * THE SOFTWARE. 27 | */ 28 | 29 | #include "../range.h" 30 | 31 | int main() { 32 | (void)sizeof(tiledb::type::Range); 33 | return 0; 34 | } 35 | -------------------------------------------------------------------------------- /vcpkg-configuration.json: -------------------------------------------------------------------------------- 1 | { 2 | "overlay-ports": ["ports"], 3 | "overlay-triplets": ["ports/triplets"] 4 | } 5 | --------------------------------------------------------------------------------