You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by he...@apache.org on 2011/09/20 00:43:31 UTC

svn commit: r1172869 - in /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/stats/jdbc: JDBCStatsAggregator.java JDBCStatsUtils.java

Author: heyongqiang
Date: Mon Sep 19 22:43:31 2011
New Revision: 1172869

URL: http://svn.apache.org/viewvc?rev=1172869&view=rev
Log:
HIVE-2456: JDBCStatsAggregator DELETE STATEMENT should escape _ and % (Ning Zhang via He Yongqiang)

Modified:
    hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/stats/jdbc/JDBCStatsAggregator.java
    hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/stats/jdbc/JDBCStatsUtils.java

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/stats/jdbc/JDBCStatsAggregator.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/stats/jdbc/JDBCStatsAggregator.java?rev=1172869&r1=1172868&r2=1172869&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/stats/jdbc/JDBCStatsAggregator.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/stats/jdbc/JDBCStatsAggregator.java Mon Sep 19 22:43:31 2011
@@ -210,8 +210,13 @@ public class JDBCStatsAggregator impleme
     };
     try {
 
+      String keyPrefix = Utilities.escapeSqlLike(rowID) + "%";
+
       PreparedStatement delStmt = Utilities.prepareWithRetry(conn,
           JDBCStatsUtils.getDeleteAggr(rowID, comment), waitWindow, maxRetries);
+      delStmt.setString(1, keyPrefix);
+      delStmt.setString(2, Character.toString(Utilities.sqlEscapeChar));
+
       for (int failures = 0;; failures++) {
         try {
             Utilities.executeWithRetry(execUpdate, delStmt, waitWindow, maxRetries);

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/stats/jdbc/JDBCStatsUtils.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/stats/jdbc/JDBCStatsUtils.java?rev=1172869&r1=1172868&r2=1172869&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/stats/jdbc/JDBCStatsUtils.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/stats/jdbc/JDBCStatsUtils.java Mon Sep 19 22:43:31 2011
@@ -161,8 +161,8 @@ public class JDBCStatsUtils {
    */
   public static String getDeleteAggr(String rowID, String comment) {
     String delete = "DELETE /* " + comment + " */ " +
-        " FROM " + getStatTableName() + " WHERE " + JDBCStatsUtils.getIdColumnName() + " LIKE '"
-        + rowID + "%'";
+        " FROM " + getStatTableName() + " WHERE " + JDBCStatsUtils.getIdColumnName() +
+        " LIKE ? ESCAPE ?";
     return delete;
   }