Skip to content

Commit 9780d94

Browse files
committed
merge
Signed-off-by: Nicholas Gates <[email protected]>
1 parent 7b67217 commit 9780d94

File tree

5 files changed

+47
-39
lines changed

5 files changed

+47
-39
lines changed

vortex-array/src/canonical.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
//! Encodings that enable zero-copy sharing of data with Arrow.
55
66
use vortex_dtype::DType;
7-
use vortex_error::{vortex_panic, VortexResult};
7+
use vortex_error::{VortexResult, vortex_panic};
88

99
use crate::arrays::{
1010
BoolArray, DecimalArray, ExtensionArray, FixedSizeListArray, ListViewArray,

vortex-ffi/examples/hello-vortex.c

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ int main(int argc, char *argv[]) {
3535
fprintf(stderr, "Failed to open file: %s\n%s", uri, vx_string_ptr(vx_error_get_message(error)));
3636
vx_error_free(error);
3737
vx_session_free(session);
38-
vx_try_shutdown_runtime();
3938
return -1;
4039
}
4140

@@ -58,7 +57,6 @@ int main(int argc, char *argv[]) {
5857
vx_error_free(error);
5958
vx_file_free(file);
6059
vx_session_free(session);
61-
vx_try_shutdown_runtime();
6260
return -1;
6361
}
6462

@@ -108,14 +106,11 @@ int main(int argc, char *argv[]) {
108106
fprintf(stderr, "Error during scan operation\n");
109107
vx_error_free(error);
110108
vx_session_free(session);
111-
vx_try_shutdown_runtime();
112109
return -1;
113110
}
114111

115112
printf("Scanning completed successfully\n");
116113
vx_session_free(session);
117114

118-
// Attempt to shutdown the shared runtime for clean exit
119-
vx_try_shutdown_runtime();
120115
return 0;
121116
}

vortex-file/src/lib.rs

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,20 @@ pub use footer::*;
106106
pub use forever_constant::*;
107107
pub use open::*;
108108
pub use strategy::*;
109+
use vortex_alp::{ALPEncoding, ALPRDEncoding};
110+
use vortex_array::{ArraySessionExt, EncodingRef};
111+
use vortex_bytebool::ByteBoolEncoding;
112+
use vortex_datetime_parts::DateTimePartsEncoding;
113+
use vortex_decimal_byte_parts::DecimalBytePartsEncoding;
114+
use vortex_dict::DictEncoding;
115+
use vortex_fastlanes::{BitPackedEncoding, DeltaEncoding, FoREncoding, RLEEncoding};
116+
use vortex_fsst::FSSTEncoding;
117+
use vortex_pco::PcoEncoding;
118+
use vortex_runend::RunEndEncoding;
119+
use vortex_sequence::SequenceEncoding;
120+
use vortex_session::VortexSession;
121+
use vortex_sparse::SparseEncoding;
122+
use vortex_zigzag::ZigZagEncoding;
109123
pub use writer::*;
110124

111125
/// The current version of the Vortex file format
@@ -139,3 +153,28 @@ mod forever_constant {
139153
}
140154
}
141155
}
156+
157+
/// Register the default encodings use in Vortex files with the provided session.
158+
///
159+
/// NOTE: this function will be changed in the future to encapsulate logic for using different
160+
/// Vortex "Editions" that may support different sets of encodings.
161+
pub fn register_default_encodings(session: &VortexSession) {
162+
session.arrays().register_many([
163+
EncodingRef::new_ref(ALPEncoding.as_ref()),
164+
EncodingRef::new_ref(ALPRDEncoding.as_ref()),
165+
EncodingRef::new_ref(BitPackedEncoding.as_ref()),
166+
EncodingRef::new_ref(ByteBoolEncoding.as_ref()),
167+
EncodingRef::new_ref(DateTimePartsEncoding.as_ref()),
168+
EncodingRef::new_ref(DecimalBytePartsEncoding.as_ref()),
169+
EncodingRef::new_ref(DeltaEncoding.as_ref()),
170+
EncodingRef::new_ref(DictEncoding.as_ref()),
171+
EncodingRef::new_ref(FSSTEncoding.as_ref()),
172+
EncodingRef::new_ref(FoREncoding.as_ref()),
173+
EncodingRef::new_ref(PcoEncoding.as_ref()),
174+
EncodingRef::new_ref(RLEEncoding.as_ref()),
175+
EncodingRef::new_ref(RunEndEncoding.as_ref()),
176+
EncodingRef::new_ref(SequenceEncoding.as_ref()),
177+
EncodingRef::new_ref(SparseEncoding.as_ref()),
178+
EncodingRef::new_ref(ZigZagEncoding.as_ref()),
179+
]);
180+
}

vortex-file/src/tests.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,15 @@ use crate::{
3535
};
3636

3737
static SESSION: LazyLock<VortexSession> = LazyLock::new(|| {
38-
VortexSession::empty()
38+
let session = VortexSession::empty()
3939
.with::<VortexMetrics>()
4040
.with::<ArraySession>()
4141
.with::<LayoutSession>()
42-
.with::<RuntimeSession>()
42+
.with::<RuntimeSession>();
43+
44+
crate::register_default_encodings(&session);
45+
46+
session
4347
});
4448

4549
#[tokio::test]

vortex/src/lib.rs

Lines changed: 1 addition & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -4,26 +4,14 @@
44
// https://github.com/rust-lang/cargo/pull/11645#issuecomment-1536905941
55
#![doc = include_str!(concat!("../", env!("CARGO_PKG_README")))]
66

7-
use vortex_alp::{ALPEncoding, ALPRDEncoding};
87
pub use vortex_array::*;
9-
use vortex_bytebool::ByteBoolEncoding;
10-
use vortex_datetime_parts::DateTimePartsEncoding;
11-
use vortex_decimal_byte_parts::DecimalBytePartsEncoding;
12-
use vortex_dict::DictEncoding;
138
use vortex_expr::session::ExprSession;
14-
use vortex_fastlanes::{BitPackedEncoding, DeltaEncoding, FoREncoding, RLEEncoding};
159
#[cfg(feature = "files")]
1610
pub use vortex_file as file;
17-
use vortex_fsst::FSSTEncoding;
1811
use vortex_io::session::RuntimeSession;
1912
use vortex_layout::session::LayoutSession;
2013
use vortex_metrics::VortexMetrics;
21-
use vortex_pco::PcoEncoding;
22-
use vortex_runend::RunEndEncoding;
23-
use vortex_sequence::SequenceEncoding;
2414
use vortex_session::VortexSession;
25-
use vortex_sparse::SparseEncoding;
26-
use vortex_zigzag::ZigZagEncoding;
2715
pub use {
2816
vortex_buffer as buffer, vortex_dtype as dtype, vortex_error as error, vortex_expr as expr,
2917
vortex_flatbuffers as flatbuffers, vortex_io as io, vortex_ipc as ipc, vortex_layout as layout,
@@ -64,25 +52,7 @@ impl VortexSessionDefault for VortexSession {
6452
.with::<ExprSession>()
6553
.with::<RuntimeSession>();
6654

67-
// Register the compressed encodings that Vortex ships with.
68-
session.arrays().register_many([
69-
EncodingRef::new_ref(ALPEncoding.as_ref()),
70-
EncodingRef::new_ref(ALPRDEncoding.as_ref()),
71-
EncodingRef::new_ref(BitPackedEncoding.as_ref()),
72-
EncodingRef::new_ref(ByteBoolEncoding.as_ref()),
73-
EncodingRef::new_ref(DateTimePartsEncoding.as_ref()),
74-
EncodingRef::new_ref(DecimalBytePartsEncoding.as_ref()),
75-
EncodingRef::new_ref(DeltaEncoding.as_ref()),
76-
EncodingRef::new_ref(DictEncoding.as_ref()),
77-
EncodingRef::new_ref(FSSTEncoding.as_ref()),
78-
EncodingRef::new_ref(FoREncoding.as_ref()),
79-
EncodingRef::new_ref(PcoEncoding.as_ref()),
80-
EncodingRef::new_ref(RLEEncoding.as_ref()),
81-
EncodingRef::new_ref(RunEndEncoding.as_ref()),
82-
EncodingRef::new_ref(SequenceEncoding.as_ref()),
83-
EncodingRef::new_ref(SparseEncoding.as_ref()),
84-
EncodingRef::new_ref(ZigZagEncoding.as_ref()),
85-
]);
55+
file::register_default_encodings(&session);
8656

8757
session
8858
}

0 commit comments

Comments
 (0)