Julian Hyde created CALCITE-4919: ------------------------------------ Summary: Add a function to parse a JSON string into a VARIANT object Key: CALCITE-4919 URL: https://issues.apache.org/jira/browse/CALCITE-4919 Project: Calcite Issue Type: Bug Reporter: Julian Hyde
Add a function to parse a JSON string into a VARIANT object. This assumes that the VARIANT type (described in CALCITE-4918) has already been implemented. The email thread [Snowflake JSON support|https://www.mail-archive.com/dev@calcite.apache.org/msg17417.html] describes 4 independent tasks: # Support for the ‘:’ (field reference) operator in the parser. We already have ‘::’ (Postgres-style cast) in the Babel parser. We’d have to check that ‘:’ does not introduce ambiguities # Add a {{VARIANT}} datatype. This is similar to SQL Server’s {{VARIANT}} type and Java’s {{Object}} type in that it is a tagged union: it can be many sub-types, and you can check the type at runtime using operators such as {{{}TYPEOF{}}}. # We already have the {{ITEM}} operator (written using '[ ]') that works on arrays and maps. We should make {{ITEM}} also work on {{{}VARIANT{}}}. # Add a function to parse a JSON string to a {{VARIANT}} object. This case is task 4 on the list. Task 2 is CALCITE-4918. As the email notes, the tasks are fairly independent. You could do 2, 3, 4 without 1, and do 1 without 2, 3, 4. -- This message was sent by Atlassian Jira (v8.20.1#820001)