You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Benchao Li (Jira)" <ji...@apache.org> on 2023/03/30 05:20:00 UTC
[jira] [Resolved] (CALCITE-5593) Elasticsearch Aliases query is not supported
[ https://issues.apache.org/jira/browse/CALCITE-5593?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Benchao Li resolved CALCITE-5593.
---------------------------------
Fix Version/s: 1.35.0
Resolution: Fixed
Fixed via https://github.com/apache/calcite/commit/1f15d988527f93ccdd87216f07fc812010fea979
[~Zhangg] Thanks for your contribution!
> Elasticsearch Aliases query is not supported
> --------------------------------------------
>
> Key: CALCITE-5593
> URL: https://issues.apache.org/jira/browse/CALCITE-5593
> Project: Calcite
> Issue Type: Improvement
> Components: elasticsearch-adapter
> Affects Versions: 1.34.0
> Reporter: Lei Zhang
> Assignee: Lei Zhang
> Priority: Major
> Labels: pull-request-available
> Fix For: 1.35.0
>
> Time Spent: 3h
> Remaining Estimate: 0h
>
> I have a index is 'ndcp_metrics_collector_status_202303' and the alias is 'ndcp_metrics_collector_status'
> {code:java}
> {
> "ndcp_metrics_collector_status_202303":
> {
> "aliases":
> {
> "ndcp_metrics_collector_status":
> {}
> },
> "mappings":
> { {code}
> Query using index name is successful, but query using alias name fails
> {code:java}
> Exception in thread "main" java.sql.SQLException: Error while executing SQL "SELECT * FROM es.ndcp_metrics_collector_status WHERE _MAP['header.type'] = 'HEARTBEAT' offset 0 fetch next 3 rows only": From line 1, column 15 to line 1, column 46: Object 'NDCP_METRICS_COLLECTOR_STATUS' not found within 'es'
> at org.apache.calcite.avatica.Helper.createException(Helper.java:56)
> at org.apache.calcite.avatica.Helper.createException(Helper.java:41)
> at org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:164)
> at org.apache.calcite.avatica.AvaticaStatement.executeQuery(AvaticaStatement.java:228)
> at com.coolbeevip.calcite.elasticsearch.Main.main(Main.java:48)
> Caused by: org.apache.calcite.runtime.CalciteContextException: From line 1, column 15 to line 1, column 46: Object 'NDCP_METRICS_COLLECTOR_STATUS' not found within 'es'
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
> at org.apache.calcite.runtime.Resources$ExInstWithCause.ex(Resources.java:505)
> at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:945)
> at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:930)
> at org.apache.calcite.sql.validate.SqlValidatorImpl.newValidationError(SqlValidatorImpl.java:5464)
> at org.apache.calcite.sql.validate.IdentifierNamespace.resolveImpl(IdentifierNamespace.java:138)
> at org.apache.calcite.sql.validate.IdentifierNamespace.validateImpl(IdentifierNamespace.java:188)
> at org.apache.calcite.sql.validate.AbstractNamespace.validate(AbstractNamespace.java:88)
> at org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(SqlValidatorImpl.java:1135)
> at org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlValidatorImpl.java:1106)
> at org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlValidatorImpl.java:3429)
> at org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlValidatorImpl.java:3408)
> at org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect(SqlValidatorImpl.java:3766)
> at org.apache.calcite.sql.validate.SelectNamespace.validateImpl(SelectNamespace.java:61)
> at org.apache.calcite.sql.validate.AbstractNamespace.validate(AbstractNamespace.java:88)
> at org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(SqlValidatorImpl.java:1135)
> at org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlValidatorImpl.java:1106)
> at org.apache.calcite.sql.SqlSelect.validate(SqlSelect.java:282)
> at org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpression(SqlValidatorImpl.java:1081)
> at org.apache.calcite.sql.validate.SqlValidatorImpl.validate(SqlValidatorImpl.java:787)
> at org.apache.calcite.sql2rel.SqlToRelConverter.convertQuery(SqlToRelConverter.java:597)
> at org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:257)
> at org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:220)
> at org.apache.calcite.prepare.CalcitePrepareImpl.prepare2_(CalcitePrepareImpl.java:665)
> at org.apache.calcite.prepare.CalcitePrepareImpl.prepare_(CalcitePrepareImpl.java:519)
> at org.apache.calcite.prepare.CalcitePrepareImpl.prepareSql(CalcitePrepareImpl.java:487)
> at org.apache.calcite.jdbc.CalciteConnectionImpl.parseQuery(CalciteConnectionImpl.java:236)
> at org.apache.calcite.jdbc.CalciteMetaImpl.prepareAndExecute(CalciteMetaImpl.java:621)
> at org.apache.calcite.avatica.AvaticaConnection.prepareAndExecuteInternal(AvaticaConnection.java:677)
> at org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:157)
> ... 2 more
> Caused by: org.apache.calcite.sql.validate.SqlValidatorException: Object 'NDCP_METRICS_COLLECTOR_STATUS' not found within 'es'
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
> at org.apache.calcite.runtime.Resources$ExInstWithCause.ex(Resources.java:505)
> at org.apache.calcite.runtime.Resources$ExInst.ex(Resources.java:599)
> ... 30 more {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)