diff --git a/Cargo.lock b/Cargo.lock index 2819f2bacd0..63a608277d3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -11034,6 +11034,13 @@ dependencies = [ "vortex-tui", ] +[[package]] +name = "vortex-row" +version = "0.1.0" +dependencies = [ + "vortex-session", +] + [[package]] name = "vortex-runend" version = "0.1.0" diff --git a/Cargo.toml b/Cargo.toml index fb87a953154..9fae5b564bf 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,6 +7,7 @@ members = [ "vortex-mask", "vortex-utils", "vortex-session", + "vortex-row", "vortex-flatbuffers", "vortex-metrics", "vortex-io", @@ -291,6 +292,7 @@ vortex-mask = { version = "0.1.0", path = "./vortex-mask", default-features = fa vortex-metrics = { version = "0.1.0", path = "./vortex-metrics", default-features = false } vortex-pco = { version = "0.1.0", path = "./encodings/pco", default-features = false } vortex-proto = { version = "0.1.0", path = "./vortex-proto", default-features = false } +vortex-row = { version = "0.1.0", path = "./vortex-row", default-features = false } vortex-runend = { version = "0.1.0", path = "./encodings/runend", default-features = false } vortex-scan = { version = "0.1.0", path = "./vortex-scan", default-features = false } vortex-sequence = { version = "0.1.0", path = "encodings/sequence", default-features = false } diff --git a/vortex-row/Cargo.toml b/vortex-row/Cargo.toml new file mode 100644 index 00000000000..7515715392c --- /dev/null +++ b/vortex-row/Cargo.toml @@ -0,0 +1,20 @@ +[package] +name = "vortex-row" +authors = { workspace = true } +categories = { workspace = true } +description = "Row-oriented byte encoder for Vortex arrays, analogous to arrow-row." +edition = { workspace = true } +homepage = { workspace = true } +include = { workspace = true } +keywords = { workspace = true } +license = { workspace = true } +readme = { workspace = true } +repository = { workspace = true } +rust-version = { workspace = true } +version = { workspace = true } + +[lints] +workspace = true + +[dependencies] +vortex-session = { workspace = true } diff --git a/vortex-row/public-api.lock b/vortex-row/public-api.lock new file mode 100644 index 00000000000..d507aa46a00 --- /dev/null +++ b/vortex-row/public-api.lock @@ -0,0 +1,3 @@ +pub mod vortex_row + +pub fn vortex_row::initialize(&vortex_session::VortexSession) diff --git a/vortex-row/src/lib.rs b/vortex-row/src/lib.rs new file mode 100644 index 00000000000..f675ca12f4d --- /dev/null +++ b/vortex-row/src/lib.rs @@ -0,0 +1,14 @@ +// SPDX-License-Identifier: Apache-2.0 +// SPDX-FileCopyrightText: Copyright the Vortex contributors + +//! Row-oriented byte encoder, analogous to Apache Arrow's `arrow-row` crate. +//! +//! Subsequent commits add the encoder, decoder helpers, and per-encoding fast paths. +//! This commit only establishes the crate skeleton and an `initialize` stub. + +use vortex_session::VortexSession; + +/// Register the row-encoding scalar functions on the given session. +/// +/// Currently a stub: subsequent commits register `RowSize` and `RowEncode` here. +pub fn initialize(_session: &VortexSession) {}