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

Naveen Gangam commented on HIVE-10202:
--------------------------------------

{code}
# cat beeline.sql
select * from booleantest
limit 
5;
# sudo -u hive beeline -u jdbc:hive2://localhost:10000 --showHeader=false 
--silent=false --outputformat=tsv2 -f beeline.sql 
0: jdbc:hive2://localhost:10000> select * from booleantest 
0: jdbc:hive2://localhost:10000> limit 
0: jdbc:hive2://localhost:10000> 5;
true            t
false           f
TRUE    T
FALSE   F
ZERO    0
5 rows selected (6.263 seconds)
{code}

With the patch
{code}
[root@ngangam2-rhel64-1 ~]# sudo -u hive beeline -u 
jdbc:hive2://localhost:10000 --showHeader=false --silent=true 
--outputformat=tsv2 -f beeline.sql 


true            t
false   f
TRUE    T
FALSE   F
ZERO    0
{code}

The blank lines at the top are coming form jline code. I have already proposed 
a fix for this issue in HIVE-10087.


> Beeline outputs prompt+query on standard output when used in non-interactive 
> mode
> ---------------------------------------------------------------------------------
>
>                 Key: HIVE-10202
>                 URL: https://issues.apache.org/jira/browse/HIVE-10202
>             Project: Hive
>          Issue Type: Bug
>    Affects Versions: 1.0.0
>            Reporter: Sergio Peña
>            Assignee: Naveen Gangam
>         Attachments: HIVE-10202.patch
>
>
> When passing a SQL script file to Hive CLI, the prompt+query is not sent to 
> the standard output nor standard error. This is totally fine because users 
> might want to send only the query results to the standard output, and parse 
> the results from it.
> In the case of BeeLine, the promp+query is sent to the standard output 
> causing extra parsing on the user scripts to avoid reading the prompt+query. 
> Another drawback is in the security side. Sensitive queries are logged 
> directly to the files where the standard output is redirected.
> How to reproduce:
> {noformat}
> $ cat /tmp/query.sql 
> select * 
> from test
> limit 1;
> $ beeline --showheader=false --outputformat=tsv2 -u 
> jdbc:hive2://localhost:10000 -f /tmp/query.sql > /tmp/output.log 2> 
> /tmp/error.log
> $ cat /tmp/output.log
> 0: jdbc:hive2://localhost:10000> select * 
> . . . . . . . . . . . . . . . .> from test
> . . . . . . . . . . . . . . . .> limit 1; 
> 451   451.713 false   y2dh7   ["866","528","936"]
> 0: jdbc:hive2://localhost:10000>
> {noformat}
> We should avoid sending the prompt+query to the standard output/error 
> whenever a script file is passed to BeeLine.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to