You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As discussed with the PartiQL Maintainers, the PartiQL Specification should provide clarity (for both typing modes) on the semantics of functions whose arguments are mistyped, result in errors, result in null values, and result in missing values.
The discussion ended with some decisions regarding mistyping cases and inputs of missing values, as seen below:
Comment pasted below:
The @partiql/partiql maintainers and @almann discussed this PR. As a summary:
In strict mode, null and missing values should behave the same. All functions that specify RETURNS NULL ON NULL INPUT return null when one of the arguments is null. The same applies for missing. When one of the arguments is missing, the function should return missing.
Certain operations (aka tuple path navigation) result in an error. In permissive mode, the error is lowered to a missing value. In strict mode, the error propagates.
In example 29 of Section 7.1 exists the statement below. In permissive mode, all three cases return missing. In strict mode, the latter two fail.
Each one of these expressions returns MISSING:
5 + MISSING
5 > 'a'
NOT {a:1}
If I have missed anything, please feel free to add more comments.
As discussed with the PartiQL Maintainers, the PartiQL Specification should provide clarity (for both typing modes) on the semantics of functions whose arguments are mistyped, result in errors, result in null values, and result in missing values.
The discussion ended with some decisions regarding mistyping cases and inputs of missing values, as seen below:
Comment pasted below:
The @partiql/partiql maintainers and @almann discussed this PR. As a summary:
If I have missed anything, please feel free to add more comments.
Originally posted by @johnedquinn in partiql/partiql-tests#118 (comment)
The text was updated successfully, but these errors were encountered: