Tanner Clary created CALCITE-5660: ------------------------------------- Summary: Implement BigQuery Array Subscript Operators Key: CALCITE-5660 URL: https://issues.apache.org/jira/browse/CALCITE-5660 Project: Calcite Issue Type: Task Reporter: Tanner Clary Assignee: Tanner Clary
When indexing an array in BigQuery, you are required to wrap the index in one of four position keywords: {{OFFSET}}, {{ORDINAL}}, {{SAFE_OFFSET}}, and {{SAFE_ORDINAL}}. {{OFFSET(index)}}: The index starts at zero. Produces an error if the index is out of range. SAFE_OFFSET(index)}}: The index starts at zero. Returns NULL if the index is out of range. {{ORDINAL(index)}}: The index starts at one. Produces an error if the index is out of range. {{SAFE_ORDINAL(index)}}: The index starts at one. Returns NULL if the index is out of range. These operators are very similar to the existing {{ITEM}} operator currently used to index an array in Calcite. I believe the offset and out of bounds behavior for the existing implementation could be parameterized to support the above operators. [Link to BigQuery docs|https://cloud.google.com/bigquery/docs/reference/standard-sql/operators#array_subscript_operator] I will have a PR open for this in the next day or two, in the meantime any comments, questions, or suggestions are welcome as always. -- This message was sent by Atlassian Jira (v8.20.10#820010)