hive-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From hashut...@apache.org
Subject svn commit: r1493642 - in /hive/trunk/ql/src/test: queries/clientpositive/ results/clientpositive/
Date Mon, 17 Jun 2013 05:12:49 GMT
Author: hashutosh
Date: Mon Jun 17 05:12:48 2013
New Revision: 1493642

URL: http://svn.apache.org/r1493642
Log:
HIVE-4711 : Fix TestCliDriver.list_bucket_query_oneskew_{1,2,3}.q on 0.23 (Brock Noland via
Ashutosh Chauhan)

Modified:
    hive/trunk/ql/src/test/queries/clientpositive/list_bucket_query_oneskew_1.q
    hive/trunk/ql/src/test/queries/clientpositive/list_bucket_query_oneskew_2.q
    hive/trunk/ql/src/test/queries/clientpositive/list_bucket_query_oneskew_3.q
    hive/trunk/ql/src/test/results/clientpositive/list_bucket_query_oneskew_1.q.out
    hive/trunk/ql/src/test/results/clientpositive/list_bucket_query_oneskew_2.q.out
    hive/trunk/ql/src/test/results/clientpositive/list_bucket_query_oneskew_3.q.out

Modified: hive/trunk/ql/src/test/queries/clientpositive/list_bucket_query_oneskew_1.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/list_bucket_query_oneskew_1.q?rev=1493642&r1=1493641&r2=1493642&view=diff
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/list_bucket_query_oneskew_1.q (original)
+++ hive/trunk/ql/src/test/queries/clientpositive/list_bucket_query_oneskew_1.q Mon Jun 17
05:12:48 2013
@@ -44,7 +44,7 @@ LOCATION '${hiveconf:hive.metastore.ware
 alter table fact_daily PARTITION (ds = '1') set skewed location (484='${hiveconf:hive.metastore.warehouse.dir}/fact_tz/ds=1/x=484','HIVE_DEFAULT_LIST_BUCKETING_KEY'='${hiveconf:hive.metastore.warehouse.dir}/fact_tz/ds=1/HIVE_DEFAULT_LIST_BUCKETING_DIR_NAME');
 describe formatted fact_daily PARTITION (ds = '1');
 	
-SELECT * FROM fact_daily WHERE ds='1';	
+SELECT * FROM fact_daily WHERE ds='1' ORDER BY x;	
 
 -- pruner only pick up skewed-value directory
 -- explain plan shows which directory selected: Truncated Path -> Alias

Modified: hive/trunk/ql/src/test/queries/clientpositive/list_bucket_query_oneskew_2.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/list_bucket_query_oneskew_2.q?rev=1493642&r1=1493641&r2=1493642&view=diff
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/list_bucket_query_oneskew_2.q (original)
+++ hive/trunk/ql/src/test/queries/clientpositive/list_bucket_query_oneskew_2.q Mon Jun 17
05:12:48 2013
@@ -45,7 +45,7 @@ LOCATION '${hiveconf:hive.metastore.ware
 alter table fact_daily PARTITION (ds = '1') set skewed location (484='${hiveconf:hive.metastore.warehouse.dir}/fact_tz/ds=1/x=484','HIVE_DEFAULT_LIST_BUCKETING_KEY'='${hiveconf:hive.metastore.warehouse.dir}/fact_tz/ds=1/HIVE_DEFAULT_LIST_BUCKETING_DIR_NAME');
 describe formatted fact_daily PARTITION (ds = '1');
 	
-SELECT * FROM fact_daily WHERE ds='1';	
+SELECT * FROM fact_daily WHERE ds='1' ORDER BY x, y;
 
 -- The first subquery
 -- explain plan shows which directory selected: Truncated Path -> Alias
@@ -55,9 +55,9 @@ select x from (select * from fact_daily 
 
 -- The second subquery
 -- explain plan shows which directory selected: Truncated Path -> Alias
-explain extended select x1, y1 from(select x as x1, y as y1 from fact_daily where ds ='1')
subq where x1 = 484;
+explain extended select x1, y1 from(select x as x1, y as y1 from fact_daily where ds ='1')
subq where x1 = 484 ORDER BY x1, y1;
 -- List Bucketing Query
-select x1, y1 from(select x as x1, y as y1 from fact_daily where ds ='1') subq where x1 =
484;
+select x1, y1 from(select x as x1, y as y1 from fact_daily where ds ='1') subq where x1 =
484 ORDER BY x1, y1;
 
 
 -- The third subquery

Modified: hive/trunk/ql/src/test/queries/clientpositive/list_bucket_query_oneskew_3.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/list_bucket_query_oneskew_3.q?rev=1493642&r1=1493641&r2=1493642&view=diff
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/list_bucket_query_oneskew_3.q (original)
+++ hive/trunk/ql/src/test/queries/clientpositive/list_bucket_query_oneskew_3.q Mon Jun 17
05:12:48 2013
@@ -52,10 +52,10 @@ alter table fact_daily PARTITION (ds = '
 'HIVE_DEFAULT_LIST_BUCKETING_KEY'='${hiveconf:hive.metastore.warehouse.dir}/fact_tz/ds=1/HIVE_DEFAULT_LIST_BUCKETING_DIR_NAME');
 describe formatted fact_daily PARTITION (ds = '1');
 	
-SELECT * FROM fact_daily WHERE ds='1';	
+SELECT * FROM fact_daily WHERE ds='1' ORDER BY x, y, z;	
 
 -- pruner  pick up right directory
 -- explain plan shows which directory selected: Truncated Path -> Alias
-explain extended SELECT x FROM fact_daily WHERE ds='1' and not (x = 86);
+explain extended SELECT x FROM fact_daily WHERE ds='1' and not (x = 86) ORDER BY x;
 -- List Bucketing Query
-SELECT x,y,z FROM fact_daily WHERE ds='1' and not (x = 86);
+SELECT x FROM fact_daily WHERE ds='1' and not (x = 86) ORDER BY x;

Modified: hive/trunk/ql/src/test/results/clientpositive/list_bucket_query_oneskew_1.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/list_bucket_query_oneskew_1.q.out?rev=1493642&r1=1493641&r2=1493642&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/list_bucket_query_oneskew_1.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/list_bucket_query_oneskew_1.q.out Mon Jun
17 05:12:48 2013
@@ -150,12 +150,12 @@ Skewed Values:      	[[484]]            
 #### A masked pattern was here ####
 Storage Desc Params:	 	 
 	serialization.format	1                   
-PREHOOK: query: SELECT * FROM fact_daily WHERE ds='1'
+PREHOOK: query: SELECT * FROM fact_daily WHERE ds='1' ORDER BY x
 PREHOOK: type: QUERY
 PREHOOK: Input: default@fact_daily
 PREHOOK: Input: default@fact_daily@ds=1
 #### A masked pattern was here ####
-POSTHOOK: query: SELECT * FROM fact_daily WHERE ds='1'
+POSTHOOK: query: SELECT * FROM fact_daily WHERE ds='1' ORDER BY x
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@fact_daily
 POSTHOOK: Input: default@fact_daily@ds=1

Modified: hive/trunk/ql/src/test/results/clientpositive/list_bucket_query_oneskew_2.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/list_bucket_query_oneskew_2.q.out?rev=1493642&r1=1493641&r2=1493642&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/list_bucket_query_oneskew_2.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/list_bucket_query_oneskew_2.q.out Mon Jun
17 05:12:48 2013
@@ -166,12 +166,12 @@ Skewed Values:      	[[484]]            
 #### A masked pattern was here ####
 Storage Desc Params:	 	 
 	serialization.format	1                   
-PREHOOK: query: SELECT * FROM fact_daily WHERE ds='1'
+PREHOOK: query: SELECT * FROM fact_daily WHERE ds='1' ORDER BY x, y
 PREHOOK: type: QUERY
 PREHOOK: Input: default@fact_daily
 PREHOOK: Input: default@fact_daily@ds=1
 #### A masked pattern was here ####
-POSTHOOK: query: SELECT * FROM fact_daily WHERE ds='1'
+POSTHOOK: query: SELECT * FROM fact_daily WHERE ds='1' ORDER BY x, y
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@fact_daily
 POSTHOOK: Input: default@fact_daily@ds=1
@@ -304,18 +304,18 @@ POSTHOOK: Lineage: fact_tz PARTITION(ds=
 484
 PREHOOK: query: -- The second subquery
 -- explain plan shows which directory selected: Truncated Path -> Alias
-explain extended select x1, y1 from(select x as x1, y as y1 from fact_daily where ds ='1')
subq where x1 = 484
+explain extended select x1, y1 from(select x as x1, y as y1 from fact_daily where ds ='1')
subq where x1 = 484 ORDER BY x1, y1
 PREHOOK: type: QUERY
 POSTHOOK: query: -- The second subquery
 -- explain plan shows which directory selected: Truncated Path -> Alias
-explain extended select x1, y1 from(select x as x1, y as y1 from fact_daily where ds ='1')
subq where x1 = 484
+explain extended select x1, y1 from(select x as x1, y as y1 from fact_daily where ds ='1')
subq where x1 = 484 ORDER BY x1, y1
 POSTHOOK: type: QUERY
 POSTHOOK: Lineage: fact_tz PARTITION(ds=1,hr=1).x EXPRESSION [(src)src.FieldSchema(name:key,
type:string, comment:default), ]
 POSTHOOK: Lineage: fact_tz PARTITION(ds=1,hr=1).y SIMPLE [(src)src.FieldSchema(name:value,
type:string, comment:default), ]
 POSTHOOK: Lineage: fact_tz PARTITION(ds=1,hr=2).x EXPRESSION [(src)src.FieldSchema(name:key,
type:string, comment:default), ]
 POSTHOOK: Lineage: fact_tz PARTITION(ds=1,hr=2).y SIMPLE [(src)src.FieldSchema(name:value,
type:string, comment:default), ]
 ABSTRACT SYNTAX TREE:
-  (TOK_QUERY (TOK_FROM (TOK_SUBQUERY (TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TABNAME fact_daily)))
(TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (TOK_TABLE_OR_COL
x) x1) (TOK_SELEXPR (TOK_TABLE_OR_COL y) y1)) (TOK_WHERE (= (TOK_TABLE_OR_COL ds) '1'))))
subq)) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (TOK_TABLE_OR_COL
x1)) (TOK_SELEXPR (TOK_TABLE_OR_COL y1))) (TOK_WHERE (= (TOK_TABLE_OR_COL x1) 484))))
+  (TOK_QUERY (TOK_FROM (TOK_SUBQUERY (TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TABNAME fact_daily)))
(TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (TOK_TABLE_OR_COL
x) x1) (TOK_SELEXPR (TOK_TABLE_OR_COL y) y1)) (TOK_WHERE (= (TOK_TABLE_OR_COL ds) '1'))))
subq)) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (TOK_TABLE_OR_COL
x1)) (TOK_SELEXPR (TOK_TABLE_OR_COL y1))) (TOK_WHERE (= (TOK_TABLE_OR_COL x1) 484)) (TOK_ORDERBY
(TOK_TABSORTCOLNAMEASC (TOK_TABLE_OR_COL x1)) (TOK_TABSORTCOLNAMEASC (TOK_TABLE_OR_COL y1)))))
 
 STAGE DEPENDENCIES:
   Stage-1 is a root stage
@@ -341,23 +341,19 @@ STAGE PLANS:
                       expr: y
                       type: string
                 outputColumnNames: _col0, _col1
-                File Output Operator
-                  compressed: false
-                  GlobalTableId: 0
-#### A masked pattern was here ####
-                  NumFilesPerFileSink: 1
-#### A masked pattern was here ####
-                  table:
-                      input format: org.apache.hadoop.mapred.TextInputFormat
-                      output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
-                      properties:
-                        columns _col0,_col1
-                        columns.types int:string
-                        escape.delim \
-                        serialization.format 1
-                  TotalFiles: 1
-                  GatherStats: false
-                  MultiFileSpray: false
+                Reduce Output Operator
+                  key expressions:
+                        expr: _col0
+                        type: int
+                        expr: _col1
+                        type: string
+                  sort order: ++
+                  tag: -1
+                  value expressions:
+                        expr: _col0
+                        type: int
+                        expr: _col1
+                        type: string
       Needs Tagging: false
       Path -> Alias:
 #### A masked pattern was here ####
@@ -399,6 +395,25 @@ STAGE PLANS:
               serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
               name: default.fact_daily
             name: default.fact_daily
+      Reduce Operator Tree:
+        Extract
+          File Output Operator
+            compressed: false
+            GlobalTableId: 0
+#### A masked pattern was here ####
+            NumFilesPerFileSink: 1
+#### A masked pattern was here ####
+            table:
+                input format: org.apache.hadoop.mapred.TextInputFormat
+                output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                properties:
+                  columns _col0,_col1
+                  columns.types int:string
+                  escape.delim \
+                  serialization.format 1
+            TotalFiles: 1
+            GatherStats: false
+            MultiFileSpray: false
       Truncated Path -> Alias:
         /fact_tz/ds=1/x=484 [subq:fact_daily]
 
@@ -406,14 +421,15 @@ STAGE PLANS:
     Fetch Operator
       limit: -1
 
+
 PREHOOK: query: -- List Bucketing Query
-select x1, y1 from(select x as x1, y as y1 from fact_daily where ds ='1') subq where x1 =
484
+select x1, y1 from(select x as x1, y as y1 from fact_daily where ds ='1') subq where x1 =
484 ORDER BY x1, y1
 PREHOOK: type: QUERY
 PREHOOK: Input: default@fact_daily
 PREHOOK: Input: default@fact_daily@ds=1
 #### A masked pattern was here ####
 POSTHOOK: query: -- List Bucketing Query
-select x1, y1 from(select x as x1, y as y1 from fact_daily where ds ='1') subq where x1 =
484
+select x1, y1 from(select x as x1, y as y1 from fact_daily where ds ='1') subq where x1 =
484 ORDER BY x1, y1
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@fact_daily
 POSTHOOK: Input: default@fact_daily@ds=1

Modified: hive/trunk/ql/src/test/results/clientpositive/list_bucket_query_oneskew_3.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/list_bucket_query_oneskew_3.q.out?rev=1493642&r1=1493641&r2=1493642&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/list_bucket_query_oneskew_3.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/list_bucket_query_oneskew_3.q.out Mon Jun
17 05:12:48 2013
@@ -216,12 +216,12 @@ Skewed Values:      	[[484], [238]]     
 #### A masked pattern was here ####
 Storage Desc Params:	 	 
 	serialization.format	1                   
-PREHOOK: query: SELECT * FROM fact_daily WHERE ds='1'
+PREHOOK: query: SELECT * FROM fact_daily WHERE ds='1' ORDER BY x, y, z
 PREHOOK: type: QUERY
 PREHOOK: Input: default@fact_daily
 PREHOOK: Input: default@fact_daily@ds=1
 #### A masked pattern was here ####
-POSTHOOK: query: SELECT * FROM fact_daily WHERE ds='1'
+POSTHOOK: query: SELECT * FROM fact_daily WHERE ds='1' ORDER BY x, y, z
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@fact_daily
 POSTHOOK: Input: default@fact_daily@ds=1
@@ -235,19 +235,19 @@ POSTHOOK: Lineage: fact_tz PARTITION(ds=
 POSTHOOK: Lineage: fact_tz PARTITION(ds=1,hr=3).x EXPRESSION [(src)src.FieldSchema(name:key,
type:string, comment:default), ]
 POSTHOOK: Lineage: fact_tz PARTITION(ds=1,hr=3).y SIMPLE [(src)src.FieldSchema(name:value,
type:string, comment:default), ]
 POSTHOOK: Lineage: fact_tz PARTITION(ds=1,hr=3).z SIMPLE [(src)src.FieldSchema(name:value,
type:string, comment:default), ]
-484	val_484	val_484	1
 86	val_86	val_86	1
-278	val_278	val_278	1
-278	val_278	val_278	1
 238	val_238	val_238	1
 238	val_238	val_238	1
+278	val_278	val_278	1
+278	val_278	val_278	1
+484	val_484	val_484	1
 PREHOOK: query: -- pruner  pick up right directory
 -- explain plan shows which directory selected: Truncated Path -> Alias
-explain extended SELECT x FROM fact_daily WHERE ds='1' and not (x = 86)
+explain extended SELECT x FROM fact_daily WHERE ds='1' and not (x = 86) ORDER BY x
 PREHOOK: type: QUERY
 POSTHOOK: query: -- pruner  pick up right directory
 -- explain plan shows which directory selected: Truncated Path -> Alias
-explain extended SELECT x FROM fact_daily WHERE ds='1' and not (x = 86)
+explain extended SELECT x FROM fact_daily WHERE ds='1' and not (x = 86) ORDER BY x
 POSTHOOK: type: QUERY
 POSTHOOK: Lineage: fact_tz PARTITION(ds=1,hr=1).x EXPRESSION [(src)src.FieldSchema(name:key,
type:string, comment:default), ]
 POSTHOOK: Lineage: fact_tz PARTITION(ds=1,hr=1).y SIMPLE [(src)src.FieldSchema(name:value,
type:string, comment:default), ]
@@ -259,7 +259,7 @@ POSTHOOK: Lineage: fact_tz PARTITION(ds=
 POSTHOOK: Lineage: fact_tz PARTITION(ds=1,hr=3).y SIMPLE [(src)src.FieldSchema(name:value,
type:string, comment:default), ]
 POSTHOOK: Lineage: fact_tz PARTITION(ds=1,hr=3).z SIMPLE [(src)src.FieldSchema(name:value,
type:string, comment:default), ]
 ABSTRACT SYNTAX TREE:
-  (TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TABNAME fact_daily))) (TOK_INSERT (TOK_DESTINATION
(TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (TOK_TABLE_OR_COL x))) (TOK_WHERE (and (=
(TOK_TABLE_OR_COL ds) '1') (not (= (TOK_TABLE_OR_COL x) 86))))))
+  (TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TABNAME fact_daily))) (TOK_INSERT (TOK_DESTINATION
(TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (TOK_TABLE_OR_COL x))) (TOK_WHERE (and (=
(TOK_TABLE_OR_COL ds) '1') (not (= (TOK_TABLE_OR_COL x) 86)))) (TOK_ORDERBY (TOK_TABSORTCOLNAMEASC
(TOK_TABLE_OR_COL x)))))
 
 STAGE DEPENDENCIES:
   Stage-1 is a root stage
@@ -283,23 +283,15 @@ STAGE PLANS:
                       expr: x
                       type: int
                 outputColumnNames: _col0
-                File Output Operator
-                  compressed: false
-                  GlobalTableId: 0
-#### A masked pattern was here ####
-                  NumFilesPerFileSink: 1
-#### A masked pattern was here ####
-                  table:
-                      input format: org.apache.hadoop.mapred.TextInputFormat
-                      output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
-                      properties:
-                        columns _col0
-                        columns.types int
-                        escape.delim \
-                        serialization.format 1
-                  TotalFiles: 1
-                  GatherStats: false
-                  MultiFileSpray: false
+                Reduce Output Operator
+                  key expressions:
+                        expr: _col0
+                        type: int
+                  sort order: +
+                  tag: -1
+                  value expressions:
+                        expr: _col0
+                        type: int
       Needs Tagging: false
       Path -> Alias:
 #### A masked pattern was here ####
@@ -415,6 +407,25 @@ STAGE PLANS:
               serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
               name: default.fact_daily
             name: default.fact_daily
+      Reduce Operator Tree:
+        Extract
+          File Output Operator
+            compressed: false
+            GlobalTableId: 0
+#### A masked pattern was here ####
+            NumFilesPerFileSink: 1
+#### A masked pattern was here ####
+            table:
+                input format: org.apache.hadoop.mapred.TextInputFormat
+                output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                properties:
+                  columns _col0
+                  columns.types int
+                  escape.delim \
+                  serialization.format 1
+            TotalFiles: 1
+            GatherStats: false
+            MultiFileSpray: false
       Truncated Path -> Alias:
         /fact_tz/ds=1/HIVE_DEFAULT_LIST_BUCKETING_DIR_NAME [fact_daily]
         /fact_tz/ds=1/x=238 [fact_daily]
@@ -426,13 +437,13 @@ STAGE PLANS:
 
 
 PREHOOK: query: -- List Bucketing Query
-SELECT x,y,z FROM fact_daily WHERE ds='1' and not (x = 86)
+SELECT x FROM fact_daily WHERE ds='1' and not (x = 86) ORDER BY x
 PREHOOK: type: QUERY
 PREHOOK: Input: default@fact_daily
 PREHOOK: Input: default@fact_daily@ds=1
 #### A masked pattern was here ####
 POSTHOOK: query: -- List Bucketing Query
-SELECT x,y,z FROM fact_daily WHERE ds='1' and not (x = 86)
+SELECT x FROM fact_daily WHERE ds='1' and not (x = 86) ORDER BY x
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@fact_daily
 POSTHOOK: Input: default@fact_daily@ds=1
@@ -446,8 +457,8 @@ POSTHOOK: Lineage: fact_tz PARTITION(ds=
 POSTHOOK: Lineage: fact_tz PARTITION(ds=1,hr=3).x EXPRESSION [(src)src.FieldSchema(name:key,
type:string, comment:default), ]
 POSTHOOK: Lineage: fact_tz PARTITION(ds=1,hr=3).y SIMPLE [(src)src.FieldSchema(name:value,
type:string, comment:default), ]
 POSTHOOK: Lineage: fact_tz PARTITION(ds=1,hr=3).z SIMPLE [(src)src.FieldSchema(name:value,
type:string, comment:default), ]
-238	val_238	val_238
-238	val_238	val_238
-278	val_278	val_278
-278	val_278	val_278
-484	val_484	val_484
+238
+238
+278
+278
+484



Mime
View raw message