[ https://issues.apache.org/jira/browse/CALCITE-6255?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17818082#comment-17818082 ]
Barry Kelly commented on CALCITE-6255: -------------------------------------- This is solely focused on compatibility with parsing BQ's invocation syntax. In BQ, JSON_OBJECT appears to be a function, but in Calcite it's not, it's a special syntax. > Support BigQuery-style JSON_OBJECT invocation syntax > ---------------------------------------------------- > > Key: CALCITE-6255 > URL: https://issues.apache.org/jira/browse/CALCITE-6255 > Project: Calcite > Issue Type: Improvement > Components: core > Affects Versions: 1.36.0 > Reporter: Barry Kelly > Priority: Minor > Labels: parser > > Currently, Calcite has two styles for invoking JSON_OBJECT: > {{ JSON_OBJECT(KEY 'foo' VALUE 'bar', KEY 'foo2' VALUE 'bar2')}} > and: > {{ JSON_OBJECT('foo' : 'bar', 'foo2' : 'bar')}} > However, > [BigQuery|https://cloud.google.com/bigquery/docs/reference/standard-sql/json_functions#json_object] > uses a lighter-weight syntax resembling the MAP<> constructor, with an even > numbered argument list where every odd item is a key and the following even > item is a value: > {{ JSON_OBJECT('foo', 'bar', 'foo2', 'bar2')}} > With the objective of syntax compatibility with BigQuery, the simplest change > to the grammar is to allow ',' as well as ':' for separating key/value pairs > in the invocation. > -- This message was sent by Atlassian Jira (v8.20.10#820010)