[ 
https://issues.apache.org/jira/browse/CALCITE-7398?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

heng qian updated CALCITE-7398:
-------------------------------
    Affects Version/s: 1.38.0

> Fix incorrect cast from Long to int in VariantNonNull.cast() for BIGINT type
> ----------------------------------------------------------------------------
>
>                 Key: CALCITE-7398
>                 URL: https://issues.apache.org/jira/browse/CALCITE-7398
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 1.38.0
>            Reporter: heng qian
>            Priority: Major
>
> In `VariantNonNull.java`, the `cast()` method has a bug in the `BIGINT` case 
> at line 289:
>   ```java
>   case BIGINT: {
>       long l = (int) value;  // Bug: should be (long) value
>       ...
>   }
>   The value field for BIGINT type is stored as Long (verified by the 
> constructor's assertion assert value instanceof Long). However, the code 
> incorrectly casts it to int before assigning to the long variable.
>   This causes a variant value with BIGINT runtime type to be null, since the 
> cast function throws exception in this place.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to