[
https://issues.apache.org/jira/browse/DRILL-4682?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15389966#comment-15389966
]
ASF GitHub Bot commented on DRILL-4682:
---------------------------------------
Github user vdiravka commented on a diff in the pull request:
https://github.com/apache/drill/pull/549#discussion_r71921608
--- Diff:
exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/parser/DrillCompoundIdentifier.java
---
@@ -69,31 +70,38 @@ public void addIndex(int index, SqlParserPos pos){
}
}
- public SqlNode getAsSqlNode(){
- if(ids.size() == 1){
+ public SqlNode getAsSqlNode(Set<DrillCompoundIdentifier> fullSchemasSet)
{
--- End diff --
Do you ask about clarification/github comment or code comment?
Calcite parses the query with schema name in column name correctly. Then
Drill reconverts SqlNode for supporting complex types
[DRILL-932](https://issues.apache.org/jira/browse/DRILL-932).
But it was hardcoded: handled everything post two index as item operator
(For column name in select clause `cp.employee.json.employee_id` SqlNode was
`cp.employee.json['department_id']` instead of
`cp.employee.json.department_id`).
I added the case when full schema identifier is used in select clause to
handle everything post two index (except schema identifier) as item operator. I
made it by comparing column names identifiers with full schema identifiers from
`from` and `join` clauses
> Allow full schema identifier in SELECT clause
> ---------------------------------------------
>
> Key: DRILL-4682
> URL: https://issues.apache.org/jira/browse/DRILL-4682
> Project: Apache Drill
> Issue Type: Improvement
> Components: SQL Parser
> Reporter: Andries Engelbrecht
>
> Currently Drill requires aliases to identify columns in the SELECT clause
> when working with multiple tables/workspaces.
> Many BI/Analytical and other tools by default will use the full schema
> identifier in the select clause when generating SQL statements for execution
> for generic JDBC or ODBC sources. Not supporting this feature causes issues
> and a slower adoption of utilizing Drill as an execution engine within the
> larger Analytical SQL community.
> Propose to support
> SELECT <storage_plugin>.<workspace>.<table>.<column> FROM
> <storage_plugin>.<workspace>.<table>
> Also see DRILL-3510 for double quote support as per ANSI_QUOTES
> SELECT "<storage_plugin>"."<workspace>"."<table>"."<column>" FROM
> "<storage_plugin>"."<workspace>"."<table>"
> Which is very common generic SQL being generated by most tools when dealing
> with a generic SQL data source.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)