You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by st...@apache.org on 2017/12/07 06:45:43 UTC
hive git commit: HIVE-18166: Result of hive.query.string is encoded.
(Janaki Lahorani, reviewed by Sahil Takiar)
Repository: hive
Updated Branches:
refs/heads/master b23c3299f -> 7ddd915bf
HIVE-18166: Result of hive.query.string is encoded. (Janaki Lahorani, reviewed by Sahil Takiar)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/7ddd915b
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/7ddd915b
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/7ddd915b
Branch: refs/heads/master
Commit: 7ddd915bf82a68c8ab73b0c4ca409f1a6d43d227
Parents: b23c329
Author: Janaki Lahorani <ja...@cloudera.com>
Authored: Wed Dec 6 22:45:06 2017 -0800
Committer: Sahil Takiar <st...@cloudera.com>
Committed: Wed Dec 6 22:45:06 2017 -0800
----------------------------------------------------------------------
.../org/apache/hadoop/hive/conf/HiveConf.java | 17 +++++++++++++
.../hadoop/hive/ql/processors/SetProcessor.java | 7 +++++-
.../queries/clientpositive/testSetQueryString.q | 4 +++
.../clientpositive/testSetQueryString.q.out | 26 ++++++++++++++++++++
4 files changed, 53 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/7ddd915b/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
----------------------------------------------------------------------
diff --git a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java b/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
index 75b7707..8b2b333 100644
--- a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
+++ b/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
@@ -329,6 +329,13 @@ public class HiveConf extends Configuration {
};
/**
+ * encoded parameter values are ;-) encoded. Use decoder to get ;-) decoded string
+ */
+ public static final HiveConf.ConfVars[] ENCODED_CONF = {
+ ConfVars.HIVEQUERYSTRING
+ };
+
+ /**
* Variables used by LLAP daemons.
* TODO: Eventually auto-populate this based on prefixes. The conf variables
* will need to be renamed for this.
@@ -3933,6 +3940,16 @@ public class HiveConf extends Configuration {
return Iterables.any(hiddenSet, hiddenVar -> name.startsWith(hiddenVar));
}
+ public static boolean isEncodedPar(String name) {
+ for (ConfVars confVar : HiveConf.ENCODED_CONF) {
+ ConfVars confVar1 = confVar;
+ if (confVar1.varname.equals(name)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
/**
* check whether spark related property is updated, which includes spark configurations,
* RSC configurations and yarn configuration in Spark on YARN mode.
http://git-wip-us.apache.org/repos/asf/hive/blob/7ddd915b/ql/src/java/org/apache/hadoop/hive/ql/processors/SetProcessor.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/processors/SetProcessor.java b/ql/src/java/org/apache/hadoop/hive/ql/processors/SetProcessor.java
index b9ca938..64c4711 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/processors/SetProcessor.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/processors/SetProcessor.java
@@ -143,7 +143,12 @@ public class SetProcessor implements CommandProcessor {
if (ss.getConf().isHiddenConfig(s)) {
ss.out.println(s + " is a hidden config");
} else if (ss.getConf().get(s) != null) {
- ss.out.println(s + "=" + ss.getConf().get(s));
+ if (ss.getConf().isEncodedPar(s)) {
+ ss.out.println(s + "=" + HiveConf.EncoderDecoderFactory.URL_ENCODER_DECODER
+ .decode(ss.getConf().get(s)));
+ } else {
+ ss.out.println(s + "=" + ss.getConf().get(s));
+ }
} else if (ss.getHiveVariables().containsKey(s)) {
ss.out.println(s + "=" + ss.getHiveVariables().get(s));
} else {
http://git-wip-us.apache.org/repos/asf/hive/blob/7ddd915b/ql/src/test/queries/clientpositive/testSetQueryString.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/testSetQueryString.q b/ql/src/test/queries/clientpositive/testSetQueryString.q
new file mode 100644
index 0000000..f11afb2
--- /dev/null
+++ b/ql/src/test/queries/clientpositive/testSetQueryString.q
@@ -0,0 +1,4 @@
+create table t1 (c1 int);
+insert into t1 values (1);
+select * from t1;
+set hive.query.string;
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/hive/blob/7ddd915b/ql/src/test/results/clientpositive/testSetQueryString.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/testSetQueryString.q.out b/ql/src/test/results/clientpositive/testSetQueryString.q.out
new file mode 100644
index 0000000..0bf1919
--- /dev/null
+++ b/ql/src/test/results/clientpositive/testSetQueryString.q.out
@@ -0,0 +1,26 @@
+PREHOOK: query: create table t1 (c1 int)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@t1
+POSTHOOK: query: create table t1 (c1 int)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@t1
+PREHOOK: query: insert into t1 values (1)
+PREHOOK: type: QUERY
+PREHOOK: Output: default@t1
+POSTHOOK: query: insert into t1 values (1)
+POSTHOOK: type: QUERY
+POSTHOOK: Output: default@t1
+POSTHOOK: Lineage: t1.c1 EXPRESSION [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
+PREHOOK: query: select * from t1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@t1
+#### A masked pattern was here ####
+POSTHOOK: query: select * from t1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@t1
+#### A masked pattern was here ####
+1
+hive.query.string=
+select * from t1