Yu Xu created CALCITE-7055: ------------------------------ Summary: Invalid unparse for cast to array type in StarRocks Key: CALCITE-7055 URL: https://issues.apache.org/jira/browse/CALCITE-7055 Project: Calcite Issue Type: Bug Components: core Affects Versions: 1.40.0 Reporter: Yu Xu Assignee: Yu Xu Fix For: 1.41.0
Based on the Array type, Calcite currently converts it as varchar array, but some database systems do not support this syntax, such as StarRocks,test sql: {code:java} select cast([1,2,3] as integer array); {code} error as: {code:java} [1064] [42000]: Getting syntax error at line 1, column 95. Detail message: Unexpected input 'array', the most similar input is {')'}. at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCStatementImpl.executeStatement(JDBCStatementImpl.java:133) at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.executeStatement(SQLQueryJob.java:582) at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.lambda$1(SQLQueryJob.java:491) at org.jkiss.dbeaver.model.exec.DBExecUtils.tryExecuteRecover(DBExecUtils.java:190) at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.executeSingleQuery(SQLQueryJob.java:498) at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.extractData(SQLQueryJob.java:934) at org.jkiss.dbeaver.ui.editors.sql.SQLEditor$QueryResultsContainer.readData(SQLEditor.java:3937) at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.lambda$0(ResultSetJobDataRead.java:123) at org.jkiss.dbeaver.model.exec.DBExecUtils.tryExecuteRecover(DBExecUtils.java:190) at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.run(ResultSetJobDataRead.java:121) {code} should convert to this way: {code:java} select cast([1,2,3] as array<integer>) {code} execute is ok: {code:java} [1,2,3] {code} so maybe we need to fix it for StarRocks. -- This message was sent by Atlassian Jira (v8.20.10#820010)