Skip to content

Commit 7ae6718

Browse files
committed
Round out OnPair CI: widen-on-decode + public-api locks + lints
* `vortex-onpair`: the cascading compressor narrows the integer slot children to their tightest ptype (e.g. `codes` from u16 down to u8), so the decoder's `as_slice::<u16>()` was tripping a panic. Widen all three primitive children back to their canonical types (`Buffer<u16>` for codes, `Buffer<u32>` for both offsets) at materialisation time. Adds three round-trip tests in `vortex-btrblocks/tests/onpair_roundtrip.rs` that exercise the full compressor + decompressor on string arrays (non-nullable, nullable, and an empty-string-heavy edge case) — all three are green. * Fix the two `unresolved link` rustdoc warnings on `OnPair::compress` by pointing at the actual entry point (`crate::onpair_compress`). * `Cargo.toml`: re-sort `vortex-onpair` / `vortex-onpair-sys` into alphabetical order in `[workspace.dependencies]` so `taplo fmt --check` (= the `lint-toml` CI job) stops complaining. * SPDX headers on the three CMake files (`encodings/onpair-sys/cmake/{CMakeLists.txt,onpair_pin.cmake,strip_boost.cmake}`) so the `reuse-check` job passes. * Regenerate `public-api.lock` for `vortex-btrblocks` and add the two missing locks (`encodings/onpair{,-sys}/public-api.lock`). Test results vortex-onpair 7 unit + 1 100k smoke all green vortex-btrblocks 36 unit + 3 doctests + 3 new onpair_roundtrip all green Signed-off-by: Claude <noreply@anthropic.com>
1 parent 6a9a2a2 commit 7ae6718

11 files changed

Lines changed: 777 additions & 20 deletions

File tree

Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -286,13 +286,13 @@ vortex-fastlanes = { version = "0.1.0", path = "./encodings/fastlanes", default-
286286
vortex-file = { version = "0.1.0", path = "./vortex-file", default-features = false }
287287
vortex-flatbuffers = { version = "0.1.0", path = "./vortex-flatbuffers", default-features = false }
288288
vortex-fsst = { version = "0.1.0", path = "./encodings/fsst", default-features = false }
289-
vortex-onpair = { version = "0.1.0", path = "./encodings/onpair", default-features = false }
290-
vortex-onpair-sys = { version = "0.1.0", path = "./encodings/onpair-sys", default-features = false }
291289
vortex-io = { version = "0.1.0", path = "./vortex-io", default-features = false }
292290
vortex-ipc = { version = "0.1.0", path = "./vortex-ipc", default-features = false }
293291
vortex-layout = { version = "0.1.0", path = "./vortex-layout", default-features = false }
294292
vortex-mask = { version = "0.1.0", path = "./vortex-mask", default-features = false }
295293
vortex-metrics = { version = "0.1.0", path = "./vortex-metrics", default-features = false }
294+
vortex-onpair = { version = "0.1.0", path = "./encodings/onpair", default-features = false }
295+
vortex-onpair-sys = { version = "0.1.0", path = "./encodings/onpair-sys", default-features = false }
296296
vortex-pco = { version = "0.1.0", path = "./encodings/pco", default-features = false }
297297
vortex-proto = { version = "0.1.0", path = "./vortex-proto", default-features = false }
298298
vortex-runend = { version = "0.1.0", path = "./encodings/runend", default-features = false }

encodings/onpair-sys/cmake/CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# SPDX-License-Identifier: Apache-2.0
2+
# SPDX-FileCopyrightText: Copyright the Vortex contributors
3+
14
cmake_minimum_required(VERSION 3.21)
25
project(onpair_shim CXX)
36

encodings/onpair-sys/cmake/onpair_pin.cmake

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# SPDX-License-Identifier: Apache-2.0
2+
# SPDX-FileCopyrightText: Copyright the Vortex contributors
3+
#
14
# Pin of gargiulofrancesco/onpair_cpp consumed by FetchContent.
25
# Bump `ONPAIR_CPP_TAG` to a full commit SHA when updating — never use a
36
# branch name in CI, otherwise builds become non-reproducible.

encodings/onpair-sys/cmake/strip_boost.cmake

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# SPDX-License-Identifier: Apache-2.0
2+
# SPDX-FileCopyrightText: Copyright the Vortex contributors
3+
#
14
# Replaces boost::unordered_flat_{map,set} with std::unordered_{map,set}
25
# in the fetched onpair_cpp source tree. Idempotent.
36
#
Lines changed: 351 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,351 @@
1+
pub mod vortex_onpair_sys
2+
3+
pub mod vortex_onpair_sys::ffi
4+
5+
#[repr(u32)] pub enum vortex_onpair_sys::ffi::OnPairStatus
6+
7+
pub vortex_onpair_sys::ffi::OnPairStatus::BadFormat = 2
8+
9+
pub vortex_onpair_sys::ffi::OnPairStatus::Internal = 99
10+
11+
pub vortex_onpair_sys::ffi::OnPairStatus::InvalidArg = 1
12+
13+
pub vortex_onpair_sys::ffi::OnPairStatus::Ok = 0
14+
15+
pub vortex_onpair_sys::ffi::OnPairStatus::Oom = 4
16+
17+
pub vortex_onpair_sys::ffi::OnPairStatus::OutOfRange = 3
18+
19+
impl vortex_onpair_sys::OnPairStatus
20+
21+
pub fn vortex_onpair_sys::OnPairStatus::from_raw(u32) -> Self
22+
23+
impl core::clone::Clone for vortex_onpair_sys::OnPairStatus
24+
25+
pub fn vortex_onpair_sys::OnPairStatus::clone(&self) -> vortex_onpair_sys::OnPairStatus
26+
27+
impl core::cmp::Eq for vortex_onpair_sys::OnPairStatus
28+
29+
impl core::cmp::PartialEq for vortex_onpair_sys::OnPairStatus
30+
31+
pub fn vortex_onpair_sys::OnPairStatus::eq(&self, &vortex_onpair_sys::OnPairStatus) -> bool
32+
33+
impl core::fmt::Debug for vortex_onpair_sys::OnPairStatus
34+
35+
pub fn vortex_onpair_sys::OnPairStatus::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
36+
37+
impl core::marker::Copy for vortex_onpair_sys::OnPairStatus
38+
39+
impl core::marker::StructuralPartialEq for vortex_onpair_sys::OnPairStatus
40+
41+
#[repr(C)] pub struct vortex_onpair_sys::ffi::OnPairColumnHandle
42+
43+
#[repr(C)] pub struct vortex_onpair_sys::ffi::OnPairColumnParts
44+
45+
pub vortex_onpair_sys::ffi::OnPairColumnParts::bits: u32
46+
47+
pub vortex_onpair_sys::ffi::OnPairColumnParts::codes_boundaries: *const u32
48+
49+
pub vortex_onpair_sys::ffi::OnPairColumnParts::codes_boundaries_len: usize
50+
51+
pub vortex_onpair_sys::ffi::OnPairColumnParts::codes_packed: *const u64
52+
53+
pub vortex_onpair_sys::ffi::OnPairColumnParts::codes_packed_u64_len: usize
54+
55+
pub vortex_onpair_sys::ffi::OnPairColumnParts::dict_bytes: *const u8
56+
57+
pub vortex_onpair_sys::ffi::OnPairColumnParts::dict_bytes_len: usize
58+
59+
pub vortex_onpair_sys::ffi::OnPairColumnParts::dict_offsets: *const u32
60+
61+
pub vortex_onpair_sys::ffi::OnPairColumnParts::dict_offsets_len: usize
62+
63+
pub vortex_onpair_sys::ffi::OnPairColumnParts::num_rows: usize
64+
65+
impl core::clone::Clone for vortex_onpair_sys::OnPairColumnParts
66+
67+
pub fn vortex_onpair_sys::OnPairColumnParts::clone(&self) -> vortex_onpair_sys::OnPairColumnParts
68+
69+
impl core::fmt::Debug for vortex_onpair_sys::OnPairColumnParts
70+
71+
pub fn vortex_onpair_sys::OnPairColumnParts::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
72+
73+
impl core::marker::Copy for vortex_onpair_sys::OnPairColumnParts
74+
75+
#[repr(C)] pub struct vortex_onpair_sys::ffi::OnPairTrainingConfig
76+
77+
pub vortex_onpair_sys::ffi::OnPairTrainingConfig::bits: u32
78+
79+
pub vortex_onpair_sys::ffi::OnPairTrainingConfig::seed: u64
80+
81+
pub vortex_onpair_sys::ffi::OnPairTrainingConfig::threshold: f64
82+
83+
impl core::clone::Clone for vortex_onpair_sys::OnPairTrainingConfig
84+
85+
pub fn vortex_onpair_sys::OnPairTrainingConfig::clone(&self) -> vortex_onpair_sys::OnPairTrainingConfig
86+
87+
impl core::fmt::Debug for vortex_onpair_sys::OnPairTrainingConfig
88+
89+
pub fn vortex_onpair_sys::OnPairTrainingConfig::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
90+
91+
impl core::marker::Copy for vortex_onpair_sys::OnPairTrainingConfig
92+
93+
pub unsafe c fn vortex_onpair_sys::ffi::onpair_buffer_free(*mut u8, usize)
94+
95+
pub unsafe c fn vortex_onpair_sys::ffi::onpair_column_bits(*const vortex_onpair_sys::OnPairColumnHandle) -> u32
96+
97+
pub unsafe c fn vortex_onpair_sys::ffi::onpair_column_compress(*const u8, *const u64, usize, vortex_onpair_sys::OnPairTrainingConfig, *mut *mut vortex_onpair_sys::OnPairColumnHandle) -> u32
98+
99+
pub unsafe c fn vortex_onpair_sys::ffi::onpair_column_contains_into(*const vortex_onpair_sys::OnPairColumnHandle, *const u8, usize, *mut u8) -> u32
100+
101+
pub unsafe c fn vortex_onpair_sys::ffi::onpair_column_decompress(*const vortex_onpair_sys::OnPairColumnHandle, usize, *mut u8, usize, *mut usize) -> u32
102+
103+
pub unsafe c fn vortex_onpair_sys::ffi::onpair_column_decompress_capacity(*const vortex_onpair_sys::OnPairColumnHandle) -> usize
104+
105+
pub unsafe c fn vortex_onpair_sys::ffi::onpair_column_deserialize(*const u8, usize, *mut *mut vortex_onpair_sys::OnPairColumnHandle) -> u32
106+
107+
pub unsafe c fn vortex_onpair_sys::ffi::onpair_column_dict_bytes(*const vortex_onpair_sys::OnPairColumnHandle) -> usize
108+
109+
pub unsafe c fn vortex_onpair_sys::ffi::onpair_column_dict_copy(*const vortex_onpair_sys::OnPairColumnHandle, *mut u8, usize, *mut u64) -> u32
110+
111+
pub unsafe c fn vortex_onpair_sys::ffi::onpair_column_dict_size(*const vortex_onpair_sys::OnPairColumnHandle) -> usize
112+
113+
pub unsafe c fn vortex_onpair_sys::ffi::onpair_column_equals_into(*const vortex_onpair_sys::OnPairColumnHandle, *const u8, usize, *mut u8) -> u32
114+
115+
pub unsafe c fn vortex_onpair_sys::ffi::onpair_column_free(*mut vortex_onpair_sys::OnPairColumnHandle)
116+
117+
pub unsafe c fn vortex_onpair_sys::ffi::onpair_column_len(*const vortex_onpair_sys::OnPairColumnHandle) -> usize
118+
119+
pub unsafe c fn vortex_onpair_sys::ffi::onpair_column_parts(*const vortex_onpair_sys::OnPairColumnHandle, *mut vortex_onpair_sys::OnPairColumnParts) -> u32
120+
121+
pub unsafe c fn vortex_onpair_sys::ffi::onpair_column_serialize(*const vortex_onpair_sys::OnPairColumnHandle, *mut *mut u8, *mut usize) -> u32
122+
123+
pub unsafe c fn vortex_onpair_sys::ffi::onpair_column_starts_with_into(*const vortex_onpair_sys::OnPairColumnHandle, *const u8, usize, *mut u8) -> u32
124+
125+
pub enum vortex_onpair_sys::Error
126+
127+
pub vortex_onpair_sys::Error::BadFormat
128+
129+
pub vortex_onpair_sys::Error::Internal
130+
131+
pub vortex_onpair_sys::Error::InvalidArg
132+
133+
pub vortex_onpair_sys::Error::Oom
134+
135+
pub vortex_onpair_sys::Error::OutOfRange
136+
137+
impl core::clone::Clone for vortex_onpair_sys::Error
138+
139+
pub fn vortex_onpair_sys::Error::clone(&self) -> vortex_onpair_sys::Error
140+
141+
impl core::cmp::Eq for vortex_onpair_sys::Error
142+
143+
impl core::cmp::PartialEq for vortex_onpair_sys::Error
144+
145+
pub fn vortex_onpair_sys::Error::eq(&self, &vortex_onpair_sys::Error) -> bool
146+
147+
impl core::error::Error for vortex_onpair_sys::Error
148+
149+
impl core::fmt::Debug for vortex_onpair_sys::Error
150+
151+
pub fn vortex_onpair_sys::Error::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
152+
153+
impl core::fmt::Display for vortex_onpair_sys::Error
154+
155+
pub fn vortex_onpair_sys::Error::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
156+
157+
impl core::marker::Copy for vortex_onpair_sys::Error
158+
159+
impl core::marker::StructuralPartialEq for vortex_onpair_sys::Error
160+
161+
#[repr(u32)] pub enum vortex_onpair_sys::OnPairStatus
162+
163+
pub vortex_onpair_sys::OnPairStatus::BadFormat = 2
164+
165+
pub vortex_onpair_sys::OnPairStatus::Internal = 99
166+
167+
pub vortex_onpair_sys::OnPairStatus::InvalidArg = 1
168+
169+
pub vortex_onpair_sys::OnPairStatus::Ok = 0
170+
171+
pub vortex_onpair_sys::OnPairStatus::Oom = 4
172+
173+
pub vortex_onpair_sys::OnPairStatus::OutOfRange = 3
174+
175+
impl vortex_onpair_sys::OnPairStatus
176+
177+
pub fn vortex_onpair_sys::OnPairStatus::from_raw(u32) -> Self
178+
179+
impl core::clone::Clone for vortex_onpair_sys::OnPairStatus
180+
181+
pub fn vortex_onpair_sys::OnPairStatus::clone(&self) -> vortex_onpair_sys::OnPairStatus
182+
183+
impl core::cmp::Eq for vortex_onpair_sys::OnPairStatus
184+
185+
impl core::cmp::PartialEq for vortex_onpair_sys::OnPairStatus
186+
187+
pub fn vortex_onpair_sys::OnPairStatus::eq(&self, &vortex_onpair_sys::OnPairStatus) -> bool
188+
189+
impl core::fmt::Debug for vortex_onpair_sys::OnPairStatus
190+
191+
pub fn vortex_onpair_sys::OnPairStatus::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
192+
193+
impl core::marker::Copy for vortex_onpair_sys::OnPairStatus
194+
195+
impl core::marker::StructuralPartialEq for vortex_onpair_sys::OnPairStatus
196+
197+
pub struct vortex_onpair_sys::Column
198+
199+
impl vortex_onpair_sys::Column
200+
201+
pub fn vortex_onpair_sys::Column::bits(&self) -> u32
202+
203+
pub fn vortex_onpair_sys::Column::compress(&[u8], &[u64], vortex_onpair_sys::OnPairTrainingConfig) -> core::result::Result<Self, vortex_onpair_sys::Error>
204+
205+
pub fn vortex_onpair_sys::Column::contains_bitmap(&self, &[u8]) -> core::result::Result<alloc::vec::Vec<u8>, vortex_onpair_sys::Error>
206+
207+
pub fn vortex_onpair_sys::Column::decompress_row(&self, usize, &mut alloc::vec::Vec<u8>) -> core::result::Result<(), vortex_onpair_sys::Error>
208+
209+
pub fn vortex_onpair_sys::Column::dict(&self) -> core::result::Result<(alloc::vec::Vec<u8>, alloc::vec::Vec<u64>), vortex_onpair_sys::Error>
210+
211+
pub fn vortex_onpair_sys::Column::dict_bytes(&self) -> usize
212+
213+
pub fn vortex_onpair_sys::Column::dict_size(&self) -> usize
214+
215+
pub fn vortex_onpair_sys::Column::equals_bitmap(&self, &[u8]) -> core::result::Result<alloc::vec::Vec<u8>, vortex_onpair_sys::Error>
216+
217+
pub fn vortex_onpair_sys::Column::from_bytes(&[u8]) -> core::result::Result<Self, vortex_onpair_sys::Error>
218+
219+
pub fn vortex_onpair_sys::Column::is_empty(&self) -> bool
220+
221+
pub fn vortex_onpair_sys::Column::len(&self) -> usize
222+
223+
pub fn vortex_onpair_sys::Column::max_decompress_capacity(&self) -> usize
224+
225+
pub unsafe fn vortex_onpair_sys::Column::raw(&self) -> *const core::ffi::c_void
226+
227+
pub fn vortex_onpair_sys::Column::starts_with_bitmap(&self, &[u8]) -> core::result::Result<alloc::vec::Vec<u8>, vortex_onpair_sys::Error>
228+
229+
pub fn vortex_onpair_sys::Column::to_bytes(&self) -> core::result::Result<alloc::vec::Vec<u8>, vortex_onpair_sys::Error>
230+
231+
impl vortex_onpair_sys::Column
232+
233+
pub fn vortex_onpair_sys::Column::parts(&self) -> core::result::Result<vortex_onpair_sys::Parts<'_>, vortex_onpair_sys::Error>
234+
235+
impl core::marker::Send for vortex_onpair_sys::Column
236+
237+
impl core::marker::Sync for vortex_onpair_sys::Column
238+
239+
impl core::ops::drop::Drop for vortex_onpair_sys::Column
240+
241+
pub fn vortex_onpair_sys::Column::drop(&mut self)
242+
243+
#[repr(C)] pub struct vortex_onpair_sys::OnPairColumnHandle
244+
245+
#[repr(C)] pub struct vortex_onpair_sys::OnPairColumnParts
246+
247+
pub vortex_onpair_sys::OnPairColumnParts::bits: u32
248+
249+
pub vortex_onpair_sys::OnPairColumnParts::codes_boundaries: *const u32
250+
251+
pub vortex_onpair_sys::OnPairColumnParts::codes_boundaries_len: usize
252+
253+
pub vortex_onpair_sys::OnPairColumnParts::codes_packed: *const u64
254+
255+
pub vortex_onpair_sys::OnPairColumnParts::codes_packed_u64_len: usize
256+
257+
pub vortex_onpair_sys::OnPairColumnParts::dict_bytes: *const u8
258+
259+
pub vortex_onpair_sys::OnPairColumnParts::dict_bytes_len: usize
260+
261+
pub vortex_onpair_sys::OnPairColumnParts::dict_offsets: *const u32
262+
263+
pub vortex_onpair_sys::OnPairColumnParts::dict_offsets_len: usize
264+
265+
pub vortex_onpair_sys::OnPairColumnParts::num_rows: usize
266+
267+
impl core::clone::Clone for vortex_onpair_sys::OnPairColumnParts
268+
269+
pub fn vortex_onpair_sys::OnPairColumnParts::clone(&self) -> vortex_onpair_sys::OnPairColumnParts
270+
271+
impl core::fmt::Debug for vortex_onpair_sys::OnPairColumnParts
272+
273+
pub fn vortex_onpair_sys::OnPairColumnParts::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
274+
275+
impl core::marker::Copy for vortex_onpair_sys::OnPairColumnParts
276+
277+
#[repr(C)] pub struct vortex_onpair_sys::OnPairTrainingConfig
278+
279+
pub vortex_onpair_sys::OnPairTrainingConfig::bits: u32
280+
281+
pub vortex_onpair_sys::OnPairTrainingConfig::seed: u64
282+
283+
pub vortex_onpair_sys::OnPairTrainingConfig::threshold: f64
284+
285+
impl core::clone::Clone for vortex_onpair_sys::OnPairTrainingConfig
286+
287+
pub fn vortex_onpair_sys::OnPairTrainingConfig::clone(&self) -> vortex_onpair_sys::OnPairTrainingConfig
288+
289+
impl core::fmt::Debug for vortex_onpair_sys::OnPairTrainingConfig
290+
291+
pub fn vortex_onpair_sys::OnPairTrainingConfig::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
292+
293+
impl core::marker::Copy for vortex_onpair_sys::OnPairTrainingConfig
294+
295+
pub struct vortex_onpair_sys::Parts<'a>
296+
297+
pub vortex_onpair_sys::Parts::bits: u32
298+
299+
pub vortex_onpair_sys::Parts::codes_boundaries: &'a [u32]
300+
301+
pub vortex_onpair_sys::Parts::codes_packed: &'a [u64]
302+
303+
pub vortex_onpair_sys::Parts::dict_bytes: &'a [u8]
304+
305+
pub vortex_onpair_sys::Parts::dict_offsets: &'a [u32]
306+
307+
pub vortex_onpair_sys::Parts::num_rows: usize
308+
309+
impl<'a> core::clone::Clone for vortex_onpair_sys::Parts<'a>
310+
311+
pub fn vortex_onpair_sys::Parts<'a>::clone(&self) -> vortex_onpair_sys::Parts<'a>
312+
313+
impl<'a> core::marker::Copy for vortex_onpair_sys::Parts<'a>
314+
315+
pub const vortex_onpair_sys::DEFAULT_DICT12_CONFIG: vortex_onpair_sys::OnPairTrainingConfig
316+
317+
pub unsafe c fn vortex_onpair_sys::onpair_buffer_free(*mut u8, usize)
318+
319+
pub unsafe c fn vortex_onpair_sys::onpair_column_bits(*const vortex_onpair_sys::OnPairColumnHandle) -> u32
320+
321+
pub unsafe c fn vortex_onpair_sys::onpair_column_compress(*const u8, *const u64, usize, vortex_onpair_sys::OnPairTrainingConfig, *mut *mut vortex_onpair_sys::OnPairColumnHandle) -> u32
322+
323+
pub unsafe c fn vortex_onpair_sys::onpair_column_contains_into(*const vortex_onpair_sys::OnPairColumnHandle, *const u8, usize, *mut u8) -> u32
324+
325+
pub unsafe c fn vortex_onpair_sys::onpair_column_decompress(*const vortex_onpair_sys::OnPairColumnHandle, usize, *mut u8, usize, *mut usize) -> u32
326+
327+
pub unsafe c fn vortex_onpair_sys::onpair_column_decompress_capacity(*const vortex_onpair_sys::OnPairColumnHandle) -> usize
328+
329+
pub unsafe c fn vortex_onpair_sys::onpair_column_deserialize(*const u8, usize, *mut *mut vortex_onpair_sys::OnPairColumnHandle) -> u32
330+
331+
pub unsafe c fn vortex_onpair_sys::onpair_column_dict_bytes(*const vortex_onpair_sys::OnPairColumnHandle) -> usize
332+
333+
pub unsafe c fn vortex_onpair_sys::onpair_column_dict_copy(*const vortex_onpair_sys::OnPairColumnHandle, *mut u8, usize, *mut u64) -> u32
334+
335+
pub unsafe c fn vortex_onpair_sys::onpair_column_dict_size(*const vortex_onpair_sys::OnPairColumnHandle) -> usize
336+
337+
pub unsafe c fn vortex_onpair_sys::onpair_column_equals_into(*const vortex_onpair_sys::OnPairColumnHandle, *const u8, usize, *mut u8) -> u32
338+
339+
pub unsafe c fn vortex_onpair_sys::onpair_column_free(*mut vortex_onpair_sys::OnPairColumnHandle)
340+
341+
pub unsafe c fn vortex_onpair_sys::onpair_column_len(*const vortex_onpair_sys::OnPairColumnHandle) -> usize
342+
343+
pub unsafe c fn vortex_onpair_sys::onpair_column_parts(*const vortex_onpair_sys::OnPairColumnHandle, *mut vortex_onpair_sys::OnPairColumnParts) -> u32
344+
345+
pub unsafe c fn vortex_onpair_sys::onpair_column_serialize(*const vortex_onpair_sys::OnPairColumnHandle, *mut *mut u8, *mut usize) -> u32
346+
347+
pub unsafe c fn vortex_onpair_sys::onpair_column_starts_with_into(*const vortex_onpair_sys::OnPairColumnHandle, *const u8, usize, *mut u8) -> u32
348+
349+
pub fn vortex_onpair_sys::read_bits_lsb(&[u64], usize, u32) -> u16
350+
351+
pub fn vortex_onpair_sys::unpack_codes_to_u16(&[u64], usize, u32) -> alloc::vec::Vec<u16>

0 commit comments

Comments
 (0)