whether this value is null or not.
(&self)
| 2496 | |
| 2497 | /// whether this value is null or not. |
| 2498 | pub fn is_null(&self) -> bool { |
| 2499 | match self { |
| 2500 | ScalarValue::Boolean(v) => v.is_none(), |
| 2501 | ScalarValue::Null => true, |
| 2502 | ScalarValue::Float16(v) => v.is_none(), |
| 2503 | ScalarValue::Float32(v) => v.is_none(), |
| 2504 | ScalarValue::Float64(v) => v.is_none(), |
| 2505 | ScalarValue::Decimal32(v, _, _) => v.is_none(), |
| 2506 | ScalarValue::Decimal64(v, _, _) => v.is_none(), |
| 2507 | ScalarValue::Decimal128(v, _, _) => v.is_none(), |
| 2508 | ScalarValue::Decimal256(v, _, _) => v.is_none(), |
| 2509 | ScalarValue::Int8(v) => v.is_none(), |
| 2510 | ScalarValue::Int16(v) => v.is_none(), |
| 2511 | ScalarValue::Int32(v) => v.is_none(), |
| 2512 | ScalarValue::Int64(v) => v.is_none(), |
| 2513 | ScalarValue::UInt8(v) => v.is_none(), |
| 2514 | ScalarValue::UInt16(v) => v.is_none(), |
| 2515 | ScalarValue::UInt32(v) => v.is_none(), |
| 2516 | ScalarValue::UInt64(v) => v.is_none(), |
| 2517 | ScalarValue::Utf8(v) |
| 2518 | | ScalarValue::Utf8View(v) |
| 2519 | | ScalarValue::LargeUtf8(v) => v.is_none(), |
| 2520 | ScalarValue::Binary(v) |
| 2521 | | ScalarValue::BinaryView(v) |
| 2522 | | ScalarValue::FixedSizeBinary(_, v) |
| 2523 | | ScalarValue::LargeBinary(v) => v.is_none(), |
| 2524 | // arr.len() should be 1 for a list scalar, but we don't seem to |
| 2525 | // enforce that anywhere, so we still check against array length. |
| 2526 | ScalarValue::List(arr) => arr.len() == arr.null_count(), |
| 2527 | ScalarValue::LargeList(arr) => arr.len() == arr.null_count(), |
| 2528 | ScalarValue::FixedSizeList(arr) => arr.len() == arr.null_count(), |
| 2529 | ScalarValue::ListView(arr) => arr.len() == arr.null_count(), |
| 2530 | ScalarValue::LargeListView(arr) => arr.len() == arr.null_count(), |
| 2531 | ScalarValue::Struct(arr) => arr.len() == arr.null_count(), |
| 2532 | ScalarValue::Map(arr) => arr.len() == arr.null_count(), |
| 2533 | ScalarValue::Date32(v) => v.is_none(), |
| 2534 | ScalarValue::Date64(v) => v.is_none(), |
| 2535 | ScalarValue::Time32Second(v) => v.is_none(), |
| 2536 | ScalarValue::Time32Millisecond(v) => v.is_none(), |
| 2537 | ScalarValue::Time64Microsecond(v) => v.is_none(), |
| 2538 | ScalarValue::Time64Nanosecond(v) => v.is_none(), |
| 2539 | ScalarValue::TimestampSecond(v, _) => v.is_none(), |
| 2540 | ScalarValue::TimestampMillisecond(v, _) => v.is_none(), |
| 2541 | ScalarValue::TimestampMicrosecond(v, _) => v.is_none(), |
| 2542 | ScalarValue::TimestampNanosecond(v, _) => v.is_none(), |
| 2543 | ScalarValue::IntervalYearMonth(v) => v.is_none(), |
| 2544 | ScalarValue::IntervalDayTime(v) => v.is_none(), |
| 2545 | ScalarValue::IntervalMonthDayNano(v) => v.is_none(), |
| 2546 | ScalarValue::DurationSecond(v) => v.is_none(), |
| 2547 | ScalarValue::DurationMillisecond(v) => v.is_none(), |
| 2548 | ScalarValue::DurationMicrosecond(v) => v.is_none(), |
| 2549 | ScalarValue::DurationNanosecond(v) => v.is_none(), |
| 2550 | ScalarValue::Union(v, _, _) => match v { |
| 2551 | Some((_, s)) => s.is_null(), |
| 2552 | None => true, |
| 2553 | }, |
| 2554 | ScalarValue::Dictionary(_, v) => v.is_null(), |
| 2555 | ScalarValue::RunEndEncoded(_, _, v) => v.is_null(), |