[
https://issues.apache.org/jira/browse/CALCITE-5265?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17610402#comment-17610402
]
Julian Hyde commented on CALCITE-5265:
--------------------------------------
It's possible that there are tests in SqlParserTest and elsewhere that generate
more parentheses than are necessary, to indicate the structure of the AST. You
can tell by looking at the config of the writer. If so, those tests should
continue to generate parentheses.
> JDBC adapter sometimes adds unnecessary parentheses around SELECT in INSERT
> ---------------------------------------------------------------------------
>
> Key: CALCITE-5265
> URL: https://issues.apache.org/jira/browse/CALCITE-5265
> Project: Calcite
> Issue Type: Bug
> Reporter: Mou Wu
> Assignee: Mou Wu
> Priority: Trivial
> Labels: pull-request-available
> Time Spent: 1h 10m
> Remaining Estimate: 0h
>
> Add a case in RelToSqlConverterTest:
> {code:java}
> // code placeholder
> @Test void testInsertValueWithDynamicParams() {
> final String sql = "insert into \"DEPT\" values (?,?,?)";
> final String expected = ""
> + "INSERT INTO \"SCOTT\".\"DEPT\" (\"DEPTNO\", \"DNAME\", \"LOC\")\n"
> + "SELECT ? AS \"DEPTNO\", ? AS \"DNAME\", ? AS \"LOC\"\n"
> + "FROM (VALUES (0)) AS \"t\" (\"ZERO\")";
> sql(sql)
> .schema(CalciteAssert.SchemaSpec.JDBC_SCOTT)
> .ok(expected);
> }{code}
> will fail, because actual sql is with parentheses, maybe it's all right with
> parentheses, but the behavior is different from Union operator, you can see
> testInsertValuesWithDynamicParams in RelToSqlConverterTest class.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)