Repository: hive Updated Branches: refs/heads/master d78d6465a -> 88da0e8b7
HIVE-19581: add test to show unicode works as predicate in views. (Andrew Sherman, reviewed by Naveen Gangam) Project: http://git-wip-us.apache.org/repos/asf/hive/repo Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/88da0e8b Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/88da0e8b Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/88da0e8b Branch: refs/heads/master Commit: 88da0e8b78c5a912be07ebdaef40492981baf252 Parents: d78d646 Author: Naveen Gangam <ngan...@apache.org> Authored: Mon Jul 2 09:40:42 2018 -0400 Committer: Naveen Gangam <ngan...@apache.org> Committed: Mon Jul 2 09:44:10 2018 -0400 ---------------------------------------------------------------------- .../test/queries/clientpositive/unicode_data.q | 15 +++ .../results/clientpositive/unicode_data.q.out | 123 +++++++++++++++++++ 2 files changed, 138 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hive/blob/88da0e8b/ql/src/test/queries/clientpositive/unicode_data.q ---------------------------------------------------------------------- diff --git a/ql/src/test/queries/clientpositive/unicode_data.q b/ql/src/test/queries/clientpositive/unicode_data.q new file mode 100644 index 0000000..61aab73 --- /dev/null +++ b/ql/src/test/queries/clientpositive/unicode_data.q @@ -0,0 +1,15 @@ +create database unicode_data_db; +use unicode_data_db; + +-- test simple unicode data +create table t_test (name string, value int) ; +insert into table t_test VALUES ('æå', 100),('ã¡ã±ã£ã¡', 200); +select name, value from t_test; +select name, value from t_test where name='æå'; + +-- test view with unicode predicate +create view t_view_test as select value from t_test where name='æå'; +explain select * from t_view_test; +select * from t_view_test; + +drop database unicode_data_db cascade; http://git-wip-us.apache.org/repos/asf/hive/blob/88da0e8b/ql/src/test/results/clientpositive/unicode_data.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/unicode_data.q.out b/ql/src/test/results/clientpositive/unicode_data.q.out new file mode 100644 index 0000000..4c1decc --- /dev/null +++ b/ql/src/test/results/clientpositive/unicode_data.q.out @@ -0,0 +1,123 @@ +PREHOOK: query: create database unicode_data_db +PREHOOK: type: CREATEDATABASE +PREHOOK: Output: database:unicode_data_db +POSTHOOK: query: create database unicode_data_db +POSTHOOK: type: CREATEDATABASE +POSTHOOK: Output: database:unicode_data_db +PREHOOK: query: use unicode_data_db +PREHOOK: type: SWITCHDATABASE +PREHOOK: Input: database:unicode_data_db +POSTHOOK: query: use unicode_data_db +POSTHOOK: type: SWITCHDATABASE +POSTHOOK: Input: database:unicode_data_db +PREHOOK: query: create table t_test (name string, value int) +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:unicode_data_db +PREHOOK: Output: unicode_data_db@t_test +POSTHOOK: query: create table t_test (name string, value int) +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:unicode_data_db +POSTHOOK: Output: unicode_data_db@t_test +PREHOOK: query: insert into table t_test VALUES ('æå', 100),('ã¡ã±ã£ã¡', 200) +PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table +PREHOOK: Output: unicode_data_db@t_test +POSTHOOK: query: insert into table t_test VALUES ('æå', 100),('ã¡ã±ã£ã¡', 200) +POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table +POSTHOOK: Output: unicode_data_db@t_test +POSTHOOK: Lineage: t_test.name SCRIPT [] +POSTHOOK: Lineage: t_test.value SCRIPT [] +PREHOOK: query: select name, value from t_test +PREHOOK: type: QUERY +PREHOOK: Input: unicode_data_db@t_test +#### A masked pattern was here #### +POSTHOOK: query: select name, value from t_test +POSTHOOK: type: QUERY +POSTHOOK: Input: unicode_data_db@t_test +#### A masked pattern was here #### +æå 100 +ã¡ã±ã£ã¡ 200 +PREHOOK: query: select name, value from t_test where name='æå' +PREHOOK: type: QUERY +PREHOOK: Input: unicode_data_db@t_test +#### A masked pattern was here #### +POSTHOOK: query: select name, value from t_test where name='æå' +POSTHOOK: type: QUERY +POSTHOOK: Input: unicode_data_db@t_test +#### A masked pattern was here #### +æå 100 +PREHOOK: query: create view t_view_test as select value from t_test where name='æå' +PREHOOK: type: CREATEVIEW +PREHOOK: Input: unicode_data_db@t_test +PREHOOK: Output: database:unicode_data_db +PREHOOK: Output: unicode_data_db@t_view_test +POSTHOOK: query: create view t_view_test as select value from t_test where name='æå' +POSTHOOK: type: CREATEVIEW +POSTHOOK: Input: unicode_data_db@t_test +POSTHOOK: Output: database:unicode_data_db +POSTHOOK: Output: unicode_data_db@t_view_test +POSTHOOK: Lineage: t_view_test.value SIMPLE [(t_test)t_test.FieldSchema(name:value, type:int, comment:null), ] +PREHOOK: query: explain select * from t_view_test +PREHOOK: type: QUERY +POSTHOOK: query: explain select * from t_view_test +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-1 is a root stage + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-1 + Map Reduce + Map Operator Tree: + TableScan + alias: t_test + filterExpr: (name = 'æå') (type: boolean) + properties: + insideView TRUE + Statistics: Num rows: 2 Data size: 26 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: (name = 'æå') (type: boolean) + Statistics: Num rows: 1 Data size: 13 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: value (type: int) + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 13 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 1 Data size: 13 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.SequenceFileInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + Execution mode: vectorized + + Stage: Stage-0 + Fetch Operator + limit: -1 + Processor Tree: + ListSink + +PREHOOK: query: select * from t_view_test +PREHOOK: type: QUERY +PREHOOK: Input: unicode_data_db@t_test +PREHOOK: Input: unicode_data_db@t_view_test +#### A masked pattern was here #### +POSTHOOK: query: select * from t_view_test +POSTHOOK: type: QUERY +POSTHOOK: Input: unicode_data_db@t_test +POSTHOOK: Input: unicode_data_db@t_view_test +#### A masked pattern was here #### +100 +PREHOOK: query: drop database unicode_data_db cascade +PREHOOK: type: DROPDATABASE +PREHOOK: Input: database:unicode_data_db +PREHOOK: Output: database:unicode_data_db +PREHOOK: Output: unicode_data_db@t_test +PREHOOK: Output: unicode_data_db@t_view_test +POSTHOOK: query: drop database unicode_data_db cascade +POSTHOOK: type: DROPDATABASE +POSTHOOK: Input: database:unicode_data_db +POSTHOOK: Output: database:unicode_data_db +POSTHOOK: Output: unicode_data_db@t_test +POSTHOOK: Output: unicode_data_db@t_view_test