ZheHu created CALCITE-4985:
------------------------------
Summary: Elasticsearch Adapter fails to execute a prepared
statement
Key: CALCITE-4985
URL: https://issues.apache.org/jira/browse/CALCITE-4985
Project: Calcite
Issue Type: Bug
Components: elasticsearch-adapter
Affects Versions: 1.29.0
Reporter: ZheHu
Assignee: ZheHu
When running the following test in AggregationTest:
{code:java}
@Test void testPrepare() {
String sql = "select * from view where cat5=?";
CalciteAssert.that()
.with(newConnectionFactory())
.query(sql)
.consumesPreparedStatement(p -> p.setInt(1, 1))
.returns("a");
}
{code}
I got such exception:
{code:java}
Suppressed:
org.apache.calcite.adapter.elasticsearch.PredicateAnalyzer$PredicateAnalyzerException:
Unexpected combination of expressions [left:
org.apache.calcite.adapter.elasticsearch.PredicateAnalyzer$NamedFieldExpression@4a325e09]
[right: null]
org.apache.calcite.adapter.elasticsearch.PredicateAnalyzer$Visitor.swap(PredicateAnalyzer.java:506)
org.apache.calcite.adapter.elasticsearch.PredicateAnalyzer$Visitor.binary(PredicateAnalyzer.java:353)
org.apache.calcite.adapter.elasticsearch.PredicateAnalyzer$Visitor.visitCall(PredicateAnalyzer.java:243)
org.apache.calcite.adapter.elasticsearch.PredicateAnalyzer$Visitor.visitCall(PredicateAnalyzer.java:127)
org.apache.calcite.rex.RexCall.accept(RexCall.java:189)
org.apache.calcite.adapter.elasticsearch.PredicateAnalyzer.analyze(PredicateAnalyzer.java:112)
org.apache.calcite.adapter.elasticsearch.ElasticsearchFilter$PredicateAnalyzerTranslator.translateMatch(ElasticsearchFilter.java:102)
org.apache.calcite.adapter.elasticsearch.ElasticsearchFilter.implement(ElasticsearchFilter.java:67)
org.apache.calcite.adapter.elasticsearch.ElasticsearchRel$Implementor.visitChild(ElasticsearchRel.java:129)
org.apache.calcite.adapter.elasticsearch.ElasticsearchProject.implement(ElasticsearchProject.java:62)
org.apache.calcite.adapter.elasticsearch.ElasticsearchRel$Implementor.visitChild(ElasticsearchRel.java:129)
org.apache.calcite.adapter.elasticsearch.ElasticsearchToEnumerableConverter.implement(ElasticsearchToEnumerableConverter.java:67)
org.apache.calcite.adapter.enumerable.EnumerableRelImplementor.implementRoot(EnumerableRelImplementor.java:111)
{code}
Useful reference in JDBC Adapter: see
https://issues.apache.org/jira/browse/CALCITE-563
--
This message was sent by Atlassian Jira
(v8.20.1#820001)