diff --git common/src/java/org/apache/hadoop/hive/common/FileUtils.java common/src/java/org/apache/hadoop/hive/common/FileUtils.java index 1195cb8..3ca3d29 100644 --- common/src/java/org/apache/hadoop/hive/common/FileUtils.java +++ common/src/java/org/apache/hadoop/hive/common/FileUtils.java @@ -144,7 +144,7 @@ public final class FileUtils { '\u0013', '\u0014', '\u0015', '\u0016', '\u0017', '\u0018', '\u0019', '\u001A', '\u001B', '\u001C', '\u001D', '\u001E', '\u001F', '"', '#', '%', '\'', '*', '/', ':', '=', '?', '\\', '\u007F', '{', - '[', ']'}; + '[', ']', '^'}; for (char c : clist) { charToEscape.set(c); } diff --git ql/src/test/queries/clientpositive/escape1.q ql/src/test/queries/clientpositive/escape1.q index 9979814..e85a7d9 100644 --- ql/src/test/queries/clientpositive/escape1.q +++ ql/src/test/queries/clientpositive/escape1.q @@ -6,12 +6,14 @@ DROP TABLE escape_raw; CREATE TABLE escape_raw (s STRING) STORED AS TEXTFILE; LOAD DATA LOCAL INPATH '../data/files/escapetest.txt' INTO TABLE escape_raw; +SELECT count(*) from escape_raw; SELECT * from escape_raw; CREATE TABLE escape1 (a STRING) PARTITIONED BY (ds STRING, part STRING); INSERT OVERWRITE TABLE escape1 PARTITION (ds='1', part) SELECT '1', s from escape_raw; +SELECT count(*) from escape1; SELECT * from escape1; SHOW PARTITIONS escape1; diff --git ql/src/test/queries/clientpositive/escape2.q ql/src/test/queries/clientpositive/escape2.q index 5105e65..3ab658d 100644 --- ql/src/test/queries/clientpositive/escape2.q +++ ql/src/test/queries/clientpositive/escape2.q @@ -8,12 +8,14 @@ DROP TABLE IF EXISTS escape_raw; CREATE TABLE escape_raw (s STRING) STORED AS TEXTFILE; LOAD DATA LOCAL INPATH '../data/files/escapetest.txt' INTO TABLE escape_raw; +SELECT count(*) from escape_raw; SELECT * from escape_raw; CREATE TABLE escape2(a STRING) PARTITIONED BY (ds STRING, part STRING); INSERT OVERWRITE TABLE escape2 PARTITION (ds='1', part) SELECT '1', s from escape_raw; +SELECT count(*) from escape2; SELECT * from escape2; SHOW PARTITIONS escape2;