MCPcopy Create free account
hub / github.com/apache/datafusion / test_sliced_list_offsets

Function test_sliced_list_offsets

datafusion/functions-nested/src/array_has.rs:1237–1276  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

1235
1236 #[test]
1237 fn test_sliced_list_offsets() {
1238 // Full rows:
1239 // row 0: [1, 2] (not visible after slicing)
1240 // row 1: [11, 12] (visible row 0)
1241 // row 2: [21, 22] (visible row 1)
1242 // row 3: [31, 32] (not visible after slicing)
1243 let field: Arc<Field> = Arc::new(Field::new("item", DataType::Int32, false));
1244 let full_values = Arc::new(Int32Array::from(vec![1, 2, 11, 12, 21, 22, 31, 32]));
1245 let full_offsets = OffsetBuffer::new(vec![0, 2, 4, 6, 8].into());
1246 let full = ListArray::new(Arc::clone(&field), full_offsets, full_values, None);
1247 let sliced_haystack: ArrayRef = Arc::new(full.slice(1, 2));
1248
1249 // array_has_all: needle row 0 = [11], row 1 = [21]
1250 let needle_all: ArrayRef = Arc::new(ListArray::new(
1251 Arc::clone(&field),
1252 OffsetBuffer::new(vec![0, 1, 2].into()),
1253 Arc::new(Int32Array::from(vec![11, 21])),
1254 None,
1255 ));
1256 invoke_and_assert(
1257 &ArrayHasAll::new(),
1258 &sliced_haystack,
1259 needle_all,
1260 &[Some(true), Some(true)],
1261 );
1262
1263 // array_has_any: needle row 0 = [99, 11], row 1 = [99, 21]
1264 let needle_any: ArrayRef = Arc::new(ListArray::new(
1265 field,
1266 OffsetBuffer::new(vec![0, 2, 4].into()),
1267 Arc::new(Int32Array::from(vec![99, 11, 99, 21])),
1268 None,
1269 ));
1270 invoke_and_assert(
1271 &ArrayHasAny::new(),
1272 &sliced_haystack,
1273 needle_any,
1274 &[Some(true), Some(true)],
1275 );
1276 }
1277
1278 #[test]
1279 fn test_sliced_fixed_size_list_offsets() {

Callers

nothing calls this directly

Calls 4

newFunction · 0.85
invoke_and_assertFunction · 0.85
sliceMethod · 0.80
intoMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…