Adding complete support for JSON path to velox #12394
bikramSingh91
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Objective:
Support Json Path syntax to match coverage with Presto Java
Background:
JSONPath syntax is used for selecting and extracting JSON values from a given JSON value. The syntax was introduced in 2007 by Goessner which left some of it to interpretation. Therefore, without a complete standardized syntax many implementations adopted their own interpretations which caused them to vary in many cases. Fortunately, a standardization was introduced very recently RFC (feb 2024) but none of the existing implementations completely conform to it.
Presto Java uses Jayway library to provide JSONPath support which has its own set of differences from the standard. However, since we want to present Presto CPP as a drop in replacement we would have to match Presto Java as viable.
There is no equivalent in CPP for Jayway however there is a library that seems to have complete coverage Jsoncons. However, it does have its own set of differences compared to Jayway.
How implementations differ:
Presto Java VS Velox (SIMDJson based implementation)
Presto Java VS Jsoncons
Jsoncons VS Velox(current)
Solution:
Hybrid SIMDJson and jsoncons
Beta Was this translation helpful? Give feedback.
All reactions