[ https://issues.apache.org/jira/browse/CALCITE-5616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17706216#comment-17706216 ]
TJ Banghart edited comment on CALCITE-5616 at 3/29/23 4:59 AM: --------------------------------------------------------------- [~tanclary] - this might relate to your work on CALCITE-5449 was (Author: tjbanghart): [~tanclary] - this might relate to some of work on CALCITE-5449 > Allow unparsing of SqlIntervalQualifier in EXTRACT to be overridden by > dialects > ------------------------------------------------------------------------------- > > Key: CALCITE-5616 > URL: https://issues.apache.org/jira/browse/CALCITE-5616 > Project: Calcite > Issue Type: Improvement > Components: core > Reporter: TJ Banghart > Priority: Minor > > In {{SqlExtractFunction#unparse}}, the first operand is passed to > {{SqlIntervalQualifier.asIdentifier}} which returns a {{SqlIdentifier}} [if > the operand is a > {{SqlIntervalQualifier}}|https://github.com/apache/calcite/blob/5c7be55ffee836366dcc7fefb6adfc0b8c47465f/core/src/main/java/org/apache/calcite/sql/SqlIntervalQualifier.java#L1366-L1370]. > > {{SqlIdentifier#unparse}} is handled by > [{{SqlUtil#unparseSqlIdentifierSyntax}}|https://github.com/apache/calcite/blob/5c7be55ffee836366dcc7fefb6adfc0b8c47465f/core/src/main/java/org/apache/calcite/sql/SqlUtil.java#L384-L412] > which has no dialect context. > We should unparse these interval identifiers in the target dialect using the > [existing {{SqlDialect#unparseSqlIntervalQualifier}} > method|https://github.com/apache/calcite/blob/5c7be55ffee836366dcc7fefb6adfc0b8c47465f/core/src/main/java/org/apache/calcite/sql/SqlDialect.java#L492-L538]. > This would help prevent errors when unparsing interval identifiers for some > dialects. > For example, BigQuery uses {{DAYOFWEEK}} rather than {{DOW}} but there is > currently no way to override this in {{BigQuerySqlDialect}}. -- This message was sent by Atlassian Jira (v8.20.10#820010)