Skip to content

Conversation

@kgpai
Copy link
Contributor

@kgpai kgpai commented Mar 20, 2025

Summary:
Currently when given a query like below, velox doesnt round , but rounds down which gives us different results compared to java.

SELECT
    "json_extract"(metrics, '$.eventTimings'),
    CAST("json_extract"(metrics, '$.eventTimings') AS ARRAY(ROW(inputdelay BIGINT))),
    ANY_MATCH(
        CAST(
            "json_extract"(metrics, '$.eventTimings') AS ARRAY(ROW(inputdelay BIGINT))
        ),
        (x) -> (x.inputDelay >= 300)
    )
FROM (
    VALUES
        '{ "eventTimings": [ { "inputDelay": 299.5999999996274} ] }'
) AS t(metrics)

Java returns 300 and velox 299. This PR fixes this.

Differential Revision: D71570565

@facebook-github-bot facebook-github-bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Mar 20, 2025
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D71570565

@netlify
Copy link

netlify bot commented Mar 20, 2025

Deploy Preview for meta-velox canceled.

Name Link
🔨 Latest commit 765aa24
🔍 Latest deploy log https://app.netlify.com/sites/meta-velox/deploys/67dc86d404e010000941125a

@kgpai kgpai changed the title Round when converting from json double to integral types fix(json): Round when converting from json double to integral types Mar 20, 2025
kgpai pushed a commit to kgpai/velox-1 that referenced this pull request Mar 20, 2025
…ubator#12741)

Summary:

Currently when given a query like below, velox doesnt round , but rounds down which gives us different results compared to java. 

```
SELECT
    "json_extract"(metrics, '$.eventTimings'),
    CAST("json_extract"(metrics, '$.eventTimings') AS ARRAY(ROW(inputdelay BIGINT))),
    ANY_MATCH(
        CAST(
            "json_extract"(metrics, '$.eventTimings') AS ARRAY(ROW(inputdelay BIGINT))
        ),
        (x) -> (x.inputDelay >= 300)
    )
FROM (
    VALUES
        '{ "eventTimings": [ { "inputDelay": 299.5999999996274} ] }'
) AS t(metrics)
```

Java returns 300 and velox 299. This PR fixes this.

Reviewed By: kevinwilfong

Differential Revision: D71570565
@kgpai kgpai force-pushed the export-D71570565 branch from e1adb7a to 7bc12bd Compare March 20, 2025 21:13
…ubator#12741)

Summary:
Pull Request resolved: facebookincubator#12741

Currently when given a query like below, velox doesnt round , but rounds down which gives us different results compared to java.

```
SELECT
    "json_extract"(metrics, '$.eventTimings'),
    CAST("json_extract"(metrics, '$.eventTimings') AS ARRAY(ROW(inputdelay BIGINT))),
    ANY_MATCH(
        CAST(
            "json_extract"(metrics, '$.eventTimings') AS ARRAY(ROW(inputdelay BIGINT))
        ),
        (x) -> (x.inputDelay >= 300)
    )
FROM (
    VALUES
        '{ "eventTimings": [ { "inputDelay": 299.5999999996274} ] }'
) AS t(metrics)
```

Java returns 300 and velox 299. This PR fixes this.

Reviewed By: kevinwilfong

Differential Revision: D71570565
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D71570565

@facebook-github-bot
Copy link
Contributor

This pull request has been merged in 95b4fb3.

@conbench-facebook
Copy link

Conbench analyzed the 1 benchmark run on commit 95b4fb31.

There were no benchmark performance regressions. 🎉

The full Conbench report has more details.

jinchengchenghh pushed a commit to jinchengchenghh/velox that referenced this pull request Apr 4, 2025
…ubator#12741)

Summary:
Pull Request resolved: facebookincubator#12741

Currently when given a query like below, velox doesnt round , but rounds down which gives us different results compared to java.

```
SELECT
    "json_extract"(metrics, '$.eventTimings'),
    CAST("json_extract"(metrics, '$.eventTimings') AS ARRAY(ROW(inputdelay BIGINT))),
    ANY_MATCH(
        CAST(
            "json_extract"(metrics, '$.eventTimings') AS ARRAY(ROW(inputdelay BIGINT))
        ),
        (x) -> (x.inputDelay >= 300)
    )
FROM (
    VALUES
        '{ "eventTimings": [ { "inputDelay": 299.5999999996274} ] }'
) AS t(metrics)
```

Java returns 300 and velox 299. This PR fixes this.

Reviewed By: kevinwilfong

Differential Revision: D71570565

fbshipit-source-id: e7493578760e8797c7268cd9864954e0db3e3bb7
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. fb-exported Merged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants