Is empty struct

Supported in: Batch, Streaming

Returns true if the input is an empty struct, with recursive checking of inner arrays and structs.

Expression categories: Boolean

Declared arguments

  • Expression - Compute whether this struct is empty or has non-null fields.
    Expression<Struct>

Output type: Boolean

Examples

Example 1: Base case

Argument values:

  • Expression: struct
structOutput
{
airline: {
id: null,
name: null,
},
tail_no: null,
}
true
{
airline: {
id: NA,
name: null,
},
tail_no: null,
}
false

Example 2: Base case

Argument values:

  • Expression: struct
structOutput
{
airline: {
ids: null,
name: null,
},
tail_no: null,
}
true
{
airline: {
ids: [ null ],
name: null,
},
tail_no: null,
}
true
{
airline: {
ids: [ foo, bar ],
name: null,
},
tail_no: null,
}
false
{
airline: {
ids: [ foo, null ],
name: null,
},
tail_no: null,
}
false

Example 3: Base case

Argument values:

  • Expression: struct
structOutput
{
airline: {
name: null,
},
ids: null,
tail_no: null,
}
true

Example 4: Base case

Argument values:

  • Expression: struct
structOutput
{
airline: {
ids: {
 foo -> null,
},
name: null,
},
tail_no: null,
}
true
{
airline: {
ids: {
 foo -> bar,
},
name: null,
},
tail_no: null,
}
false
{
airline: {
ids: {
 foo -> bar,
 foo1 -> null,
},
name: null,
},
tail_no: null,
}
false

Example 5: Base case

Argument values:

  • Expression: struct
structOutput
{
airline: {
ids: [ {
airline: {
ids: [ null ]...
true
{
airline: {
ids: [ {
airline: {
ids: [ foo, bar...
false