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

Andrew Sherman commented on HIVE-17635:
---------------------------------------

Thanks [~alangates] for looking at the change

{quote}Why is it better to use PreparedStatements in cases where the query is 
only executed once? I buy it if you're preparing them and then storing them in 
a static cache somewhere, but since you're preparing them every time you run 
the query I don't see the advantage.{quote}
On a RDBMS like Oracle the optimization happens at prepare time. The query plan 
is cached and is reused then next time the same query is prepared. So there is 
some small perf advantage to using PreparedStatement.

{quote}In CompactionTxnHandler, I don't think you want to remove the 
quoteString calls. Those are to make it so that table or column names that are 
a keyword or contain spaces, etc. still work. I don't think the 
PreparedStatement solves that.{quote}

I did leave the quoteString calls around table names, I think I only removed 
the calls around parameters, which I believe is safe, another benefit of 
PreparedStatements.

{quote}Why the changes to CompactionTxnHandler but not TxnHandler?{quote}
I had to start somewhere :-)


> Add unit tests to CompactionTxnHandler and use PreparedStatements for queries
> -----------------------------------------------------------------------------
>
>                 Key: HIVE-17635
>                 URL: https://issues.apache.org/jira/browse/HIVE-17635
>             Project: Hive
>          Issue Type: Bug
>    Affects Versions: 3.0.0
>            Reporter: Andrew Sherman
>            Assignee: Andrew Sherman
>         Attachments: HIVE-17635.1.patch
>
>
> It is better for jdbc code that runs against the HMS database to use 
> PreparedStatements. Convert CompactionTxnHandler queries to use 
> PreparedStatement and add tests to TestCompactionTxnHandler to test these 
> queries, and improve code coverage.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to