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;
}