Required columns of the default expression should not be converted to NULL,
since this map value to default and MATERIALIZED values will not work.
Consider the following structure:
- A Nullable(Int64)
- X Int64 materialized coalesce(A, -1)
With recursive_null_as_default=true you will get:
_CAST(coalesce(A, -1), 'Int64') AS X, NULL AS A
And this will ignore default expression.
Fixes: #23524 (Cc: @kssenii)
Fixes: #29729 (Cc: @tavplubix)
Backport: 21.7+