| 4359 | /// Panics if `self` is a dictionary with invalid key type |
| 4360 | #[inline] |
| 4361 | pub fn eq_array(&self, array: &ArrayRef, index: usize) -> Result<bool> { |
| 4362 | Ok(match self { |
| 4363 | ScalarValue::Decimal32(v, precision, scale) => { |
| 4364 | ScalarValue::eq_array_decimal32( |
| 4365 | array, |
| 4366 | index, |
| 4367 | v.as_ref(), |
| 4368 | *precision, |
| 4369 | *scale, |
| 4370 | )? |
| 4371 | } |
| 4372 | ScalarValue::Decimal64(v, precision, scale) => { |
| 4373 | ScalarValue::eq_array_decimal64( |
| 4374 | array, |
| 4375 | index, |
| 4376 | v.as_ref(), |
| 4377 | *precision, |
| 4378 | *scale, |
| 4379 | )? |
| 4380 | } |
| 4381 | ScalarValue::Decimal128(v, precision, scale) => { |
| 4382 | ScalarValue::eq_array_decimal( |
| 4383 | array, |
| 4384 | index, |
| 4385 | v.as_ref(), |
| 4386 | *precision, |
| 4387 | *scale, |
| 4388 | )? |
| 4389 | } |
| 4390 | ScalarValue::Decimal256(v, precision, scale) => { |
| 4391 | ScalarValue::eq_array_decimal256( |
| 4392 | array, |
| 4393 | index, |
| 4394 | v.as_ref(), |
| 4395 | *precision, |
| 4396 | *scale, |
| 4397 | )? |
| 4398 | } |
| 4399 | ScalarValue::Boolean(val) => { |
| 4400 | eq_array_primitive!(array, index, as_boolean_array, val)? |
| 4401 | } |
| 4402 | ScalarValue::Float16(val) => { |
| 4403 | eq_array_primitive!(array, index, as_float16_array, val)? |
| 4404 | } |
| 4405 | ScalarValue::Float32(val) => { |
| 4406 | eq_array_primitive!(array, index, as_float32_array, val)? |
| 4407 | } |
| 4408 | ScalarValue::Float64(val) => { |
| 4409 | eq_array_primitive!(array, index, as_float64_array, val)? |
| 4410 | } |
| 4411 | ScalarValue::Int8(val) => { |
| 4412 | eq_array_primitive!(array, index, as_int8_array, val)? |
| 4413 | } |
| 4414 | ScalarValue::Int16(val) => { |
| 4415 | eq_array_primitive!(array, index, as_int16_array, val)? |
| 4416 | } |
| 4417 | ScalarValue::Int32(val) => { |
| 4418 | eq_array_primitive!(array, index, as_int32_array, val)? |