Arina Ielchiieva created DRILL-4903:
---------------------------------------
Summary: Implicit columns are shown when Jdbc plugin is enabled
Key: DRILL-4903
URL: https://issues.apache.org/jira/browse/DRILL-4903
Project: Apache Drill
Issue Type: Bug
Affects Versions: 1.8.0
Reporter: Arina Ielchiieva
Priority: Minor
Fix For: Future
When any Jdbc Plugin enabled (ex: MySql) implicit columns are returned as part
of select * query.
Simple json:
{noformat}
{id: 1, name: "Bob"}
{noformat}
When Jdbc plugin is enabled:
{noformat}
0: jdbc:drill:zk=local> select * from dfs.`/home/osboxes/files/simple.json`;
+----------------------------------+----------------------+--------------+---------+-----+-------+
| fqn | filepath | filename |
suffix | id | name |
+----------------------------------+----------------------+--------------+---------+-----+-------+
| /home/osboxes/files/simple.json | /home/osboxes/files | simple.json | json
| 1 | Bob |
+----------------------------------+----------------------+--------------+---------+-----+-------+
1 row selected (0.203 seconds)
0: jdbc:drill:zk=local> explain plan for select * from
dfs.`/home/osboxes/files/simple.json`;
+------+------+
| text | json |
+------+------+
| 00-00 Screen
00-01 Scan(groupscan=[EasyGroupScan
[selectionRoot=file:/home/osboxes/files/simple.json, numFiles=1, columns=[`*`],
files=[file:/home/osboxes/files/simple.json]]])
| {
{noformat}
When Jdbc plugin is disabled:
{noformat}
0: jdbc:drill:zk=local> select * from dfs.`/home/osboxes/files/simple.json`;
+-----+-------+
| id | name |
+-----+-------+
| 1 | Bob |
+-----+-------+
1 row selected (0.547 seconds)
0: jdbc:drill:zk=local> explain plan for select * from
dfs.`/home/osboxes/files/simple.json`;
+------+------+
| text | json |
+------+------+
| 00-00 Screen
00-01 Project(*=[$0])
00-02 Scan(groupscan=[EasyGroupScan
[selectionRoot=file:/home/osboxes/files/simple.json, numFiles=1, columns=[`*`],
files=[file:/home/osboxes/files/simple.json]]])
{noformat}
The problem is that implicit columns are removed from queries with select *
clause during project stage. But JdbcStoragePlugin adds
ProjectRemoveRules.class to rules which simplifies query plan and removes
project stage.
https://github.com/apache/drill/blob/master/contrib/storage-jdbc/src/main/java/org/apache/drill/exec/store/jdbc/JdbcStoragePlugin.java#L140
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)