[Impl](Nereids) add propagateNullLiteral trait for special functions (#42256) #43490
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
pick: #42256
Add a trait PropagateNullLiteral, which ensures that if any of its input parameters is a null literal, the output will also be a null literal. Note that PropagateNullable also has this property. Due to limitations in the GeneratedExpressionRelations map, most functions that implement alwaysNullable are included in PropagateNullLiteral. Therefore, defining a function that is PropagateNullable but not PropagateNullLiteral is not currently allowed.
function lists:
Acos AppendTrailingCharIfAbsent Asin BitmapFromArray BitmapFromBase64 BitmapFromString BitmapMax BitmapMin BitmapSubsetInRange BitmapSubsetLimit ConvertTz CryptoFunction DayFloor Date DateFormat Divide DigitalMasking Dlog10 Dsqrt Fmod FromBase64 FromDays GetJsonDouble GetJsonString HourCeil HourFloor IntegralDivide Lpad Ln Log10 Log2 Mod MonthCeil MonthFloor Pmod ParseUrl Rpad Repeat RegexpExtract RegexpExtractAll RegexpReplace RegexpReplaceOne SecondCeil SplitPart Sqrt StAngle StAngleSphere StAreaSquareKm StAreaSquareMeters StDistanceSphere StGeomFromWKB StGeomfromtext StGeometryfromtext StLinefromtext StPoint StPolygon StPolyfromtext StX StY StrToDate SubReplace ToDate ToDateV2
What problem does this PR solve?
Issue Number: close #xxx
Related PR: #xxx
Problem Summary:
Release note
None
Check List (For Author)
Test
Behavior changed:
Does this need documentation?
Check List (For Reviewer who merge this PR)