You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2022/06/02 08:08:00 UTC

[jira] [Work logged] (HIVE-26267) Addendum to HIVE-26107: perpared statement is not working on Postgres

     [ https://issues.apache.org/jira/browse/HIVE-26267?focusedWorklogId=777333&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-777333 ]

ASF GitHub Bot logged work on HIVE-26267:
-----------------------------------------

                Author: ASF GitHub Bot
            Created on: 02/Jun/22 08:07
            Start Date: 02/Jun/22 08:07
    Worklog Time Spent: 10m 
      Work Description: deniskuzZ commented on code in PR #3325:
URL: https://github.com/apache/hive/pull/3325#discussion_r887685084


##########
standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/TxnHandler.java:
##########
@@ -3712,25 +3712,26 @@ public CompactionResponse compact(CompactionRequest rqst) throws MetaException {
             TxnUtils.createValidCompactWriteIdList(getValidWriteIds(request).getTblValidWriteIds().get(0));
         LOG.debug("ValidCompactWriteIdList: " + tblValidWriteIds.writeToString());
 
-        List<String> params = new ArrayList<>();
         StringBuilder sb = new StringBuilder("SELECT \"CQ_ID\", \"CQ_STATE\" FROM \"COMPACTION_QUEUE\" WHERE").
           append(" (\"CQ_STATE\" IN(").
             append(quoteChar(INITIATED_STATE)).append(",").append(quoteChar(WORKING_STATE)).
             append(") OR (\"CQ_STATE\" = ").append(quoteChar(READY_FOR_CLEANING)).
             append(" AND \"CQ_HIGHEST_WRITE_ID\" = ?))").
             append(" AND \"CQ_DATABASE\"=?").
             append(" AND \"CQ_TABLE\"=?").append(" AND ");
-        params.add(Long.toString(tblValidWriteIds.getHighWatermark()));
-        params.add(rqst.getDbname());
-        params.add(rqst.getTablename());
         if(rqst.getPartitionname() == null) {
           sb.append("\"CQ_PARTITION\" is null");
         } else {
           sb.append("\"CQ_PARTITION\"=?");
-          params.add(rqst.getPartitionname());
         }
 
-        pst = sqlGenerator.prepareStmtWithParameters(dbConn, sb.toString(), params);
+        pst = dbConn.prepareStatement(sqlGenerator.addEscapeCharacters(sb.toString()));
+        pst.setLong(1, tblValidWriteIds.getHighWatermark());
+        pst.setString(2, rqst.getDbname());
+        pst.setString(3, rqst.getTablename());
+        if(rqst.getPartitionname() != null) {

Review Comment:
   nit: space





Issue Time Tracking
-------------------

    Worklog Id:     (was: 777333)
    Time Spent: 20m  (was: 10m)

> Addendum to HIVE-26107: perpared statement is not working on Postgres
> ---------------------------------------------------------------------
>
>                 Key: HIVE-26267
>                 URL: https://issues.apache.org/jira/browse/HIVE-26267
>             Project: Hive
>          Issue Type: Bug
>            Reporter: László Végh
>            Assignee: László Végh
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> The assembled prepared statement in
> {code:java}
> org.apache.hadoop.hive.metastore.txn.TxnHandler#compact{code}
> does not work for Postgres DB.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)