You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Paul Rogers (JIRA)" <ji...@apache.org> on 2019/06/20 19:10:01 UTC

[jira] [Commented] (DRILL-4692) Column named user unresolvable

    [ https://issues.apache.org/jira/browse/DRILL-4692?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16868858#comment-16868858 ] 

Paul Rogers commented on DRILL-4692:
------------------------------------

This issue also occurs with Drill's test data. The file {{jsoninput/twitter_43.json}} contains a number of fields, one of which is a map of user information called {{user}}. The following query produces the wrong results:

{code:sql}
select user from cp.`jsoninput/twitter_43.json`
select `user` from cp.`jsoninput/twitter_43.json`
{code}

Both produce a value of {{'Anonymous'}} when run as a test.

The workaround, suggested above, does work:

{code:sql}
select t.`user`, entities from cp.`jsoninput/twitter_43.json`
{code}

The above does produce the full {{user}} map as a result.

Note that, if we use the wildcard, the table's {{user}} column is included, not the special Drill column:

{code:sql}
select * from cp.`jsoninput/twitter_43.json`
{code}

The above produces the {{user}} map. Indeed, it is from the wildcard form that I decided to probe {{user}} directly, and was surprised by the results described above.

I think the current behavior is much more of a bug than a feature. For all implicit columns, there should be some way to differentiate special columns from table columns in such a way that column names are the default. Special name space? (E.g. {{drill.user}}). Function? (E.g. {{user()}}.) How have other SQL engines resolved this issue?

> Column named user unresolvable
> ------------------------------
>
>                 Key: DRILL-4692
>                 URL: https://issues.apache.org/jira/browse/DRILL-4692
>             Project: Apache Drill
>          Issue Type: Bug
>          Components:  Server
>    Affects Versions: 1.6.0
>            Reporter: John Omernik
>            Priority: Major
>
> With a set of Parquet files created outside of drill is attempted to be processed in Drill, and that set of files contains a column named "user" it is impossible to resolve that column, as Drill always replaces user with the currently logged in user. 
> select user from table -> the logged in user
> select `user` from table -> the logged in user
> There is just no way to address that field. Backticks should allow us to access that field.  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)