[
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)