[ 
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)

Reply via email to