From 3ca87a823f5438c5c970237d63cf797d85115216 Mon Sep 17 00:00:00 2001 From: bit-aloo Date: Tue, 29 Jul 2025 22:57:49 +0530 Subject: [PATCH] add vector concat method --- core/vector/vector_types.rs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/core/vector/vector_types.rs b/core/vector/vector_types.rs index ef0b12677..74d8a5352 100644 --- a/core/vector/vector_types.rs +++ b/core/vector/vector_types.rs @@ -316,6 +316,24 @@ pub fn vector_type(blob: &[u8]) -> Result { } } +pub fn vector_concat(v1: &Vector, v2: &Vector) -> Result { + if v1.vector_type != v2.vector_type { + return Err(LimboError::ConversionError( + "Mismatched vector types".into(), + )); + } + + let mut data = Vec::with_capacity(v1.data.len() + v2.data.len()); + data.extend_from_slice(&v1.data); + data.extend_from_slice(&v2.data); + + Ok(Vector { + vector_type: v1.vector_type.clone(), + dims: v1.dims + v2.dims, + data, + }) +} + #[cfg(test)] mod tests { use super::*;