[
https://issues.apache.org/jira/browse/CALCITE-7360?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18050990#comment-18050990
]
Mihai Budiu commented on CALCITE-7360:
--------------------------------------
I am tempted to actually have the validator reject unary negation for UNSIGNED
types.
The reason is that users can always CAST to a signed type before negating a
value, and this also gives users control to the precision of the result.
This behavior matches languages such as Rust.
I will submit a PR to this effect.
> The meaning of negation for unsigned numbers is not defined
> -----------------------------------------------------------
>
> Key: CALCITE-7360
> URL: https://issues.apache.org/jira/browse/CALCITE-7360
> Project: Calcite
> Issue Type: Bug
> Components: core
> Affects Versions: 1.41.0
> Reporter: Mihai Budiu
> Priority: Minor
>
> Some time ago unsigned integer types were introduced in Calcite.
> They allow all arithmetic operations as signed types.
> However, the meaning of negation is not defined. Using negation in a quidem
> test causes an exception, since the implementation is incorrect.
> Questions:
> * Should negation be allowed at all?
> * Should it coerce the value to a larger integer type?
> * Or should it work as in C?
--
This message was sent by Atlassian Jira
(v8.20.10#820010)