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

Method is_null

datafusion/common/src/scalar/mod.rs:2498–2557  ·  view source on GitHub ↗

whether this value is null or not.

(&self)

Source from the content-addressed store, hash-verified

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(),

Calls 3

is_noneMethod · 0.80
null_countMethod · 0.80
lenMethod · 0.45