[ https://issues.apache.org/jira/browse/DRILL-5538?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Arina Ielchiieva updated DRILL-5538: ------------------------------------ Reviewer: Jinfeng Ni > Exclude ProjectRemoveRule during PHYSICAL phase if it comes from storage > plugins > -------------------------------------------------------------------------------- > > Key: DRILL-5538 > URL: https://issues.apache.org/jira/browse/DRILL-5538 > Project: Apache Drill > Issue Type: Bug > Components: Query Planning & Optimization > Affects Versions: 1.10.0 > Reporter: Arina Ielchiieva > Assignee: Arina Ielchiieva > > When [RDBMS storage > plugin|https://drill.apache.org/docs/rdbms-storage-plugin/] is enabled, > during query execution certain JDBC rules are added. > One of the rules is > [ProjectRemoveRule|https://github.com/apache/drill/blob/master/contrib/storage-jdbc/src/main/java/org/apache/drill/exec/store/jdbc/JdbcStoragePlugin.java#L140]. > Drill also uses this rule but during phases when it considers it useful, for > example, during LOGICAL and JOIN_PLANNING. On the contrary, storage plugin > rules are added to any phase of query planning. Thus it results to project > stage to be removed when actually it is needed. > Sometimes when ProjectRemoveRule decides that project is trivial and removes > it, during this stage Drill added column alias or removed implicit columns. > For example, with RDBMS plugin enabled, alias is not displayed for simple > query: > {noformat} > 0: jdbc:drill:zk=local> create temporary table t as select * from sys.version; > SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". > SLF4J: Defaulting to no-operation (NOP) logger implementation > SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further > details. > +-----------+----------------------------+ > | Fragment | Number of records written | > +-----------+----------------------------+ > | 0_0 | 1 | > +-----------+----------------------------+ > 1 row selected (0.623 seconds) > 0: jdbc:drill:zk=local> select version as current_version from t; > +------------------+ > | version | > +------------------+ > | 1.11.0-SNAPSHOT | > +------------------+ > 1 row selected (0.28 seconds) > {noformat} > Proposed fix is to exclude ProjectRemoveRule during PHYSICAL phase if it > comes from storage plugins to prevent Drill losing column alias or displaying > implicit columns. -- This message was sent by Atlassian JIRA (v6.3.15#6346)