Hi, I'm experimenting with a dialect for Snowflake. In particular I would like to be able to parse Snowflake JSON expressions, which work on VARIANT columns as follows:
Give a JSON structure like this: { "fullName": "Johnny Appleseed", "phoneNumber": { "areaCode": "415", "subscriberNumber": "5551234", "extensionNumber": "24" } } And a schema like this: create table json_demo (v variant); The following should work: select v:phoneNumber.areaCode::string as area_code, v:phoneNumber.subscriberNumber::string as subscriber_number, v:phoneNumber.extensionNumber::string as extension_number from json_demo; Basically we have a column name, colon, compound identifier, double colon, type. (example taken from https://www.snowflake.com/wp-content/uploads/2017/08/Snowflake-How-to-Analyze-JSON-with-SQL.pdf) As far as I understand (which is not too much, as I'm a Calcite noob) this is not easily possible using one of the existing extension points, as I need a new kind of identifier. Could you give me a few pointers to the right approach? Best regards, Simon