vortex_layout/layouts/
mod.rs

1// SPDX-License-Identifier: Apache-2.0
2// SPDX-FileCopyrightText: Copyright the Vortex contributors
3
4//! A collection of built-in layouts for Vortex
5
6use std::sync::LazyLock;
7
8use futures::future::BoxFuture;
9use futures::future::Shared;
10use vortex_array::ArrayRef;
11use vortex_error::SharedVortexResult;
12
13pub mod buffered;
14pub mod chunked;
15pub mod collect;
16#[cfg(feature = "zstd")]
17pub mod compact;
18pub mod compressed;
19pub mod dict;
20pub mod file_stats;
21pub mod flat;
22pub(crate) mod partitioned;
23pub mod repartition;
24pub mod row_idx;
25pub mod struct_;
26pub mod zoned;
27
28pub type SharedArrayFuture = Shared<BoxFuture<'static, SharedVortexResult<ArrayRef>>>;
29
30pub static USE_VORTEX_OPERATORS: LazyLock<bool> = LazyLock::new(|| {
31    std::env::var("VORTEX_OPERATORS")
32        .map(|v| v == "1" || v.to_lowercase() == "true")
33        .unwrap_or(false)
34});