You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by br...@apache.org on 2014/10/06 00:26:58 UTC

svn commit: r1629544 [32/33] - in /hive/branches/spark-new: ./ accumulo-handler/ beeline/ beeline/src/java/org/apache/hive/beeline/ bin/ bin/ext/ common/ common/src/java/org/apache/hadoop/hive/conf/ common/src/test/org/apache/hadoop/hive/common/type/ c...

Modified: hive/branches/spark-new/ql/src/test/results/compiler/plan/udf4.q.xml
URL: http://svn.apache.org/viewvc/hive/branches/spark-new/ql/src/test/results/compiler/plan/udf4.q.xml?rev=1629544&r1=1629543&r2=1629544&view=diff
==============================================================================
--- hive/branches/spark-new/ql/src/test/results/compiler/plan/udf4.q.xml (original)
+++ hive/branches/spark-new/ql/src/test/results/compiler/plan/udf4.q.xml Sun Oct  5 22:26:43 2014
@@ -547,290 +547,94 @@
             <object class="java.util.HashMap"> 
              <void method="put"> 
               <string>_col8</string> 
-              <object class="org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc"> 
-               <void property="children"> 
-                <object class="java.util.ArrayList"> 
-                 <void method="add"> 
-                  <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                   <void property="typeInfo"> 
-                    <object idref="PrimitiveTypeInfo0"/> 
-                   </void> 
-                   <void property="value"> 
-                    <double>0.0</double> 
-                   </void> 
-                  </object> 
-                 </void> 
-                </object> 
-               </void> 
-               <void property="genericUDF"> 
-                <object class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFBridge"> 
-                 <void property="udfClassName"> 
-                  <string>org.apache.hadoop.hive.ql.udf.UDFSqrt</string> 
-                 </void> 
-                 <void property="udfName"> 
-                  <string>sqrt</string> 
-                 </void> 
-                </object> 
-               </void> 
+              <object id="ExprNodeConstantDesc0" class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
                <void property="typeInfo"> 
                 <object idref="PrimitiveTypeInfo0"/> 
                </void> 
+               <void property="value"> 
+                <double>0.0</double> 
+               </void> 
               </object> 
              </void> 
              <void method="put"> 
               <string>_col7</string> 
-              <object class="org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc"> 
-               <void property="children"> 
-                <object class="java.util.ArrayList"> 
-                 <void method="add"> 
-                  <object class="org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc"> 
-                   <void property="children"> 
-                    <object class="java.util.ArrayList"> 
-                     <void method="add"> 
-                      <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                       <void property="typeInfo"> 
-                        <object idref="PrimitiveTypeInfo0"/> 
-                       </void> 
-                       <void property="value"> 
-                        <double>1.0</double> 
-                       </void> 
-                      </object> 
-                     </void> 
-                    </object> 
-                   </void> 
-                   <void property="genericUDF"> 
-                    <object class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPNegative"/> 
-                   </void> 
-                   <void property="typeInfo"> 
-                    <object idref="PrimitiveTypeInfo0"/> 
-                   </void> 
-                  </object> 
-                 </void> 
-                </object> 
-               </void> 
-               <void property="genericUDF"> 
-                <object class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFBridge"> 
-                 <void property="udfClassName"> 
-                  <string>org.apache.hadoop.hive.ql.udf.UDFSqrt</string> 
-                 </void> 
-                 <void property="udfName"> 
-                  <string>sqrt</string> 
-                 </void> 
-                </object> 
-               </void> 
-               <void property="typeInfo"> 
-                <object idref="PrimitiveTypeInfo0"/> 
-               </void> 
-              </object> 
+              <object id="ExprNodeNullDesc0" class="org.apache.hadoop.hive.ql.plan.ExprNodeNullDesc"/> 
              </void> 
              <void method="put"> 
               <string>_col6</string> 
-              <object class="org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc"> 
-               <void property="children"> 
-                <object class="java.util.ArrayList"> 
-                 <void method="add"> 
-                  <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                   <void property="typeInfo"> 
-                    <object idref="PrimitiveTypeInfo0"/> 
-                   </void> 
-                   <void property="value"> 
-                    <double>1.0</double> 
-                   </void> 
-                  </object> 
-                 </void> 
-                </object> 
-               </void> 
-               <void property="genericUDF"> 
-                <object class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFBridge"> 
-                 <void property="udfClassName"> 
-                  <string>org.apache.hadoop.hive.ql.udf.UDFSqrt</string> 
-                 </void> 
-                 <void property="udfName"> 
-                  <string>sqrt</string> 
-                 </void> 
-                </object> 
-               </void> 
+              <object id="ExprNodeConstantDesc1" class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
                <void property="typeInfo"> 
                 <object idref="PrimitiveTypeInfo0"/> 
                </void> 
+               <void property="value"> 
+                <double>1.0</double> 
+               </void> 
               </object> 
              </void> 
              <void method="put"> 
               <string>_col5</string> 
-              <object class="org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc"> 
-               <void property="children"> 
-                <object class="java.util.ArrayList"> 
-                 <void method="add"> 
-                  <object class="org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc"> 
-                   <void property="children"> 
-                    <object class="java.util.ArrayList"> 
-                     <void method="add"> 
-                      <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                       <void property="typeInfo"> 
-                        <object idref="PrimitiveTypeInfo0"/> 
-                       </void> 
-                       <void property="value"> 
-                        <double>1.5</double> 
-                       </void> 
-                      </object> 
-                     </void> 
-                    </object> 
-                   </void> 
-                   <void property="genericUDF"> 
-                    <object class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPNegative"/> 
-                   </void> 
-                   <void property="typeInfo"> 
-                    <object idref="PrimitiveTypeInfo0"/> 
-                   </void> 
-                  </object> 
-                 </void> 
-                </object> 
-               </void> 
-               <void property="genericUDF"> 
-                <object class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFFloor"/> 
-               </void> 
+              <object id="ExprNodeConstantDesc2" class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
                <void property="typeInfo"> 
                 <object idref="PrimitiveTypeInfo1"/> 
                </void> 
+               <void property="value"> 
+                <long>-2</long> 
+               </void> 
               </object> 
              </void> 
              <void method="put"> 
               <string>_col4</string> 
-              <object class="org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc"> 
-               <void property="children"> 
-                <object class="java.util.ArrayList"> 
-                 <void method="add"> 
-                  <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                   <void property="typeInfo"> 
-                    <object idref="PrimitiveTypeInfo0"/> 
-                   </void> 
-                   <void property="value"> 
-                    <double>1.5</double> 
-                   </void> 
-                  </object> 
-                 </void> 
-                </object> 
-               </void> 
-               <void property="genericUDF"> 
-                <object class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFFloor"/> 
-               </void> 
+              <object id="ExprNodeConstantDesc3" class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
                <void property="typeInfo"> 
                 <object idref="PrimitiveTypeInfo1"/> 
                </void> 
+               <void property="value"> 
+                <long>1</long> 
+               </void> 
               </object> 
              </void> 
              <void method="put"> 
               <string>_col3</string> 
-              <object class="org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc"> 
-               <void property="children"> 
-                <object class="java.util.ArrayList"> 
-                 <void method="add"> 
-                  <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                   <void property="typeInfo"> 
-                    <object idref="PrimitiveTypeInfo0"/> 
-                   </void> 
-                   <void property="value"> 
-                    <double>1.0</double> 
-                   </void> 
-                  </object> 
-                 </void> 
-                </object> 
-               </void> 
-               <void property="genericUDF"> 
-                <object class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFFloor"/> 
-               </void> 
+              <object id="ExprNodeConstantDesc4" class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
                <void property="typeInfo"> 
                 <object idref="PrimitiveTypeInfo1"/> 
                </void> 
+               <void property="value"> 
+                <long>1</long> 
+               </void> 
               </object> 
              </void> 
              <void method="put"> 
               <string>_col2</string> 
-              <object class="org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc"> 
-               <void property="children"> 
-                <object class="java.util.ArrayList"> 
-                 <void method="add"> 
-                  <object class="org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc"> 
-                   <void property="children"> 
-                    <object class="java.util.ArrayList"> 
-                     <void method="add"> 
-                      <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                       <void property="typeInfo"> 
-                        <object idref="PrimitiveTypeInfo0"/> 
-                       </void> 
-                       <void property="value"> 
-                        <double>1.5</double> 
-                       </void> 
-                      </object> 
-                     </void> 
-                    </object> 
-                   </void> 
-                   <void property="genericUDF"> 
-                    <object class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPNegative"/> 
-                   </void> 
-                   <void property="typeInfo"> 
-                    <object idref="PrimitiveTypeInfo0"/> 
-                   </void> 
-                  </object> 
-                 </void> 
-                </object> 
-               </void> 
-               <void property="genericUDF"> 
-                <object class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFRound"/> 
-               </void> 
+              <object id="ExprNodeConstantDesc5" class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
                <void property="typeInfo"> 
                 <object idref="PrimitiveTypeInfo0"/> 
                </void> 
+               <void property="value"> 
+                <double>-2.0</double> 
+               </void> 
               </object> 
              </void> 
              <void method="put"> 
               <string>_col1</string> 
-              <object class="org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc"> 
-               <void property="children"> 
-                <object class="java.util.ArrayList"> 
-                 <void method="add"> 
-                  <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                   <void property="typeInfo"> 
-                    <object idref="PrimitiveTypeInfo0"/> 
-                   </void> 
-                   <void property="value"> 
-                    <double>1.5</double> 
-                   </void> 
-                  </object> 
-                 </void> 
-                </object> 
-               </void> 
-               <void property="genericUDF"> 
-                <object class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFRound"/> 
-               </void> 
+              <object id="ExprNodeConstantDesc6" class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
                <void property="typeInfo"> 
                 <object idref="PrimitiveTypeInfo0"/> 
                </void> 
+               <void property="value"> 
+                <double>2.0</double> 
+               </void> 
               </object> 
              </void> 
              <void method="put"> 
               <string>_col9</string> 
-              <object class="org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc"> 
-               <void property="children"> 
-                <object class="java.util.ArrayList"> 
-                 <void method="add"> 
-                  <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                   <void property="typeInfo"> 
-                    <object idref="PrimitiveTypeInfo0"/> 
-                   </void> 
-                   <void property="value"> 
-                    <double>1.0</double> 
-                   </void> 
-                  </object> 
-                 </void> 
-                </object> 
-               </void> 
-               <void property="genericUDF"> 
-                <object class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFCeil"/> 
-               </void> 
+              <object id="ExprNodeConstantDesc7" class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
                <void property="typeInfo"> 
                 <object idref="PrimitiveTypeInfo1"/> 
                </void> 
+               <void property="value"> 
+                <long>1</long> 
+               </void> 
               </object> 
              </void> 
              <void method="put"> 
@@ -867,213 +671,73 @@
              </void> 
              <void method="put"> 
               <string>_col12</string> 
-              <object class="org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc"> 
-               <void property="children"> 
-                <object class="java.util.ArrayList"> 
-                 <void method="add"> 
-                  <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                   <void property="typeInfo"> 
-                    <object idref="PrimitiveTypeInfo0"/> 
-                   </void> 
-                   <void property="value"> 
-                    <double>1.0</double> 
-                   </void> 
-                  </object> 
-                 </void> 
-                </object> 
-               </void> 
-               <void property="genericUDF"> 
-                <object class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFCeil"/> 
-               </void> 
+              <object id="ExprNodeConstantDesc8" class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
                <void property="typeInfo"> 
                 <object idref="PrimitiveTypeInfo1"/> 
                </void> 
+               <void property="value"> 
+                <long>1</long> 
+               </void> 
               </object> 
              </void> 
              <void method="put"> 
               <string>_col11</string> 
-              <object class="org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc"> 
-               <void property="children"> 
-                <object class="java.util.ArrayList"> 
-                 <void method="add"> 
-                  <object class="org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc"> 
-                   <void property="children"> 
-                    <object class="java.util.ArrayList"> 
-                     <void method="add"> 
-                      <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                       <void property="typeInfo"> 
-                        <object idref="PrimitiveTypeInfo0"/> 
-                       </void> 
-                       <void property="value"> 
-                        <double>1.5</double> 
-                       </void> 
-                      </object> 
-                     </void> 
-                    </object> 
-                   </void> 
-                   <void property="genericUDF"> 
-                    <object class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPNegative"/> 
-                   </void> 
-                   <void property="typeInfo"> 
-                    <object idref="PrimitiveTypeInfo0"/> 
-                   </void> 
-                  </object> 
-                 </void> 
-                </object> 
-               </void> 
-               <void property="genericUDF"> 
-                <object class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFCeil"/> 
-               </void> 
+              <object id="ExprNodeConstantDesc9" class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
                <void property="typeInfo"> 
                 <object idref="PrimitiveTypeInfo1"/> 
                </void> 
+               <void property="value"> 
+                <long>-1</long> 
+               </void> 
               </object> 
              </void> 
              <void method="put"> 
               <string>_col10</string> 
-              <object class="org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc"> 
-               <void property="children"> 
-                <object class="java.util.ArrayList"> 
-                 <void method="add"> 
-                  <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                   <void property="typeInfo"> 
-                    <object idref="PrimitiveTypeInfo0"/> 
-                   </void> 
-                   <void property="value"> 
-                    <double>1.5</double> 
-                   </void> 
-                  </object> 
-                 </void> 
-                </object> 
-               </void> 
-               <void property="genericUDF"> 
-                <object class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFCeil"/> 
-               </void> 
+              <object id="ExprNodeConstantDesc10" class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
                <void property="typeInfo"> 
                 <object idref="PrimitiveTypeInfo1"/> 
                </void> 
+               <void property="value"> 
+                <long>2</long> 
+               </void> 
               </object> 
              </void> 
              <void method="put"> 
               <string>_col17</string> 
-              <object class="org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc"> 
-               <void property="children"> 
-                <object class="java.util.ArrayList"> 
-                 <void method="add"> 
-                  <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                   <void property="typeInfo"> 
-                    <object idref="PrimitiveTypeInfo2"/> 
-                   </void> 
-                   <void property="value"> 
-                    <int>1</int> 
-                   </void> 
-                  </object> 
-                 </void> 
-                 <void method="add"> 
-                  <object class="org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc"> 
-                   <void property="children"> 
-                    <object class="java.util.ArrayList"> 
-                     <void method="add"> 
-                      <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                       <void property="typeInfo"> 
-                        <object idref="PrimitiveTypeInfo2"/> 
-                       </void> 
-                       <void property="value"> 
-                        <int>2</int> 
-                       </void> 
-                      </object> 
-                     </void> 
-                    </object> 
-                   </void> 
-                   <void property="genericUDF"> 
-                    <object class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPNegative"/> 
-                   </void> 
-                   <void property="typeInfo"> 
-                    <object idref="PrimitiveTypeInfo2"/> 
-                   </void> 
-                  </object> 
-                 </void> 
-                </object> 
-               </void> 
-               <void property="genericUDF"> 
-                <object class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPPlus"> 
-                 <void property="confLookupNeeded"> 
-                  <boolean>false</boolean> 
-                 </void> 
-                </object> 
-               </void> 
+              <object id="ExprNodeConstantDesc11" class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
                <void property="typeInfo"> 
                 <object idref="PrimitiveTypeInfo2"/> 
                </void> 
+               <void property="value"> 
+                <int>-1</int> 
+               </void> 
               </object> 
              </void> 
              <void method="put"> 
               <string>_col16</string> 
-              <object class="org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc"> 
-               <void property="children"> 
-                <object class="java.util.ArrayList"> 
-                 <void method="add"> 
-                  <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                   <void property="typeInfo"> 
-                    <object idref="PrimitiveTypeInfo2"/> 
-                   </void> 
-                   <void property="value"> 
-                    <int>1</int> 
-                   </void> 
-                  </object> 
-                 </void> 
-                 <void method="add"> 
-                  <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                   <void property="typeInfo"> 
-                    <object idref="PrimitiveTypeInfo2"/> 
-                   </void> 
-                   <void property="value"> 
-                    <int>2</int> 
-                   </void> 
-                  </object> 
-                 </void> 
-                </object> 
-               </void> 
-               <void property="genericUDF"> 
-                <object class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPPlus"> 
-                 <void property="confLookupNeeded"> 
-                  <boolean>false</boolean> 
-                 </void> 
-                </object> 
-               </void> 
+              <object id="ExprNodeConstantDesc12" class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
                <void property="typeInfo"> 
                 <object idref="PrimitiveTypeInfo2"/> 
                </void> 
+               <void property="value"> 
+                <int>3</int> 
+               </void> 
               </object> 
              </void> 
              <void method="put"> 
               <string>_col15</string> 
-              <object class="org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc"> 
-               <void property="children"> 
-                <object class="java.util.ArrayList"> 
-                 <void method="add"> 
-                  <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                   <void property="typeInfo"> 
-                    <object idref="PrimitiveTypeInfo2"/> 
-                   </void> 
-                   <void property="value"> 
-                    <int>3</int> 
-                   </void> 
-                  </object> 
-                 </void> 
-                </object> 
-               </void> 
-               <void property="genericUDF"> 
-                <object class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPNegative"/> 
-               </void> 
+              <object id="ExprNodeConstantDesc13" class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
                <void property="typeInfo"> 
                 <object idref="PrimitiveTypeInfo2"/> 
                </void> 
+               <void property="value"> 
+                <int>-3</int> 
+               </void> 
               </object> 
              </void> 
              <void method="put"> 
               <string>_col14</string> 
-              <object id="ExprNodeConstantDesc0" class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
+              <object id="ExprNodeConstantDesc14" class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
                <void property="typeInfo"> 
                 <object idref="PrimitiveTypeInfo2"/> 
                </void> 
@@ -1084,62 +748,24 @@
              </void> 
              <void method="put"> 
               <string>_col0</string> 
-              <object class="org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc"> 
-               <void property="children"> 
-                <object class="java.util.ArrayList"> 
-                 <void method="add"> 
-                  <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                   <void property="typeInfo"> 
-                    <object idref="PrimitiveTypeInfo0"/> 
-                   </void> 
-                   <void property="value"> 
-                    <double>1.0</double> 
-                   </void> 
-                  </object> 
-                 </void> 
-                </object> 
-               </void> 
-               <void property="genericUDF"> 
-                <object class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFRound"/> 
-               </void> 
+              <object id="ExprNodeConstantDesc15" class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
                <void property="typeInfo"> 
                 <object idref="PrimitiveTypeInfo0"/> 
                </void> 
+               <void property="value"> 
+                <double>1.0</double> 
+               </void> 
               </object> 
              </void> 
              <void method="put"> 
               <string>_col18</string> 
-              <object class="org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc"> 
-               <void property="children"> 
-                <object class="java.util.ArrayList"> 
-                 <void method="add"> 
-                  <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                   <void property="typeInfo"> 
-                    <object idref="PrimitiveTypeInfo2"/> 
-                   </void> 
-                   <void property="value"> 
-                    <int>1</int> 
-                   </void> 
-                  </object> 
-                 </void> 
-                </object> 
-               </void> 
-               <void property="genericUDF"> 
-                <object class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFBridge"> 
-                 <void property="operator"> 
-                  <boolean>true</boolean> 
-                 </void> 
-                 <void property="udfClassName"> 
-                  <string>org.apache.hadoop.hive.ql.udf.UDFOPBitNot</string> 
-                 </void> 
-                 <void property="udfName"> 
-                  <string>~</string> 
-                 </void> 
-                </object> 
-               </void> 
+              <object id="ExprNodeConstantDesc16" class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
                <void property="typeInfo"> 
                 <object idref="PrimitiveTypeInfo2"/> 
                </void> 
+               <void property="value"> 
+                <int>-2</int> 
+               </void> 
               </object> 
              </void> 
             </object> 
@@ -1149,173 +775,61 @@
              <void property="colList"> 
               <object class="java.util.ArrayList"> 
                <void method="add"> 
-                <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                 <void property="typeInfo"> 
-                  <object idref="PrimitiveTypeInfo0"/> 
-                 </void> 
-                 <void property="value"> 
-                  <double>1.0</double> 
-                 </void> 
-                </object> 
+                <object idref="ExprNodeConstantDesc15"/> 
                </void> 
                <void method="add"> 
-                <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                 <void property="typeInfo"> 
-                  <object idref="PrimitiveTypeInfo0"/> 
-                 </void> 
-                 <void property="value"> 
-                  <double>2.0</double> 
-                 </void> 
-                </object> 
+                <object idref="ExprNodeConstantDesc6"/> 
                </void> 
                <void method="add"> 
-                <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                 <void property="typeInfo"> 
-                  <object idref="PrimitiveTypeInfo0"/> 
-                 </void> 
-                 <void property="value"> 
-                  <double>-2.0</double> 
-                 </void> 
-                </object> 
+                <object idref="ExprNodeConstantDesc5"/> 
                </void> 
                <void method="add"> 
-                <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                 <void property="typeInfo"> 
-                  <object idref="PrimitiveTypeInfo1"/> 
-                 </void> 
-                 <void property="value"> 
-                  <long>1</long> 
-                 </void> 
-                </object> 
+                <object idref="ExprNodeConstantDesc4"/> 
                </void> 
                <void method="add"> 
-                <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                 <void property="typeInfo"> 
-                  <object idref="PrimitiveTypeInfo1"/> 
-                 </void> 
-                 <void property="value"> 
-                  <long>1</long> 
-                 </void> 
-                </object> 
+                <object idref="ExprNodeConstantDesc3"/> 
                </void> 
                <void method="add"> 
-                <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                 <void property="typeInfo"> 
-                  <object idref="PrimitiveTypeInfo1"/> 
-                 </void> 
-                 <void property="value"> 
-                  <long>-2</long> 
-                 </void> 
-                </object> 
+                <object idref="ExprNodeConstantDesc2"/> 
                </void> 
                <void method="add"> 
-                <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                 <void property="typeInfo"> 
-                  <object idref="PrimitiveTypeInfo0"/> 
-                 </void> 
-                 <void property="value"> 
-                  <double>1.0</double> 
-                 </void> 
-                </object> 
+                <object idref="ExprNodeConstantDesc1"/> 
                </void> 
                <void method="add"> 
-                <object class="org.apache.hadoop.hive.ql.plan.ExprNodeNullDesc"/> 
+                <object idref="ExprNodeNullDesc0"/> 
                </void> 
                <void method="add"> 
-                <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                 <void property="typeInfo"> 
-                  <object idref="PrimitiveTypeInfo0"/> 
-                 </void> 
-                 <void property="value"> 
-                  <double>0.0</double> 
-                 </void> 
-                </object> 
+                <object idref="ExprNodeConstantDesc0"/> 
                </void> 
                <void method="add"> 
-                <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                 <void property="typeInfo"> 
-                  <object idref="PrimitiveTypeInfo1"/> 
-                 </void> 
-                 <void property="value"> 
-                  <long>1</long> 
-                 </void> 
-                </object> 
+                <object idref="ExprNodeConstantDesc7"/> 
                </void> 
                <void method="add"> 
-                <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                 <void property="typeInfo"> 
-                  <object idref="PrimitiveTypeInfo1"/> 
-                 </void> 
-                 <void property="value"> 
-                  <long>2</long> 
-                 </void> 
-                </object> 
+                <object idref="ExprNodeConstantDesc10"/> 
                </void> 
                <void method="add"> 
-                <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                 <void property="typeInfo"> 
-                  <object idref="PrimitiveTypeInfo1"/> 
-                 </void> 
-                 <void property="value"> 
-                  <long>-1</long> 
-                 </void> 
-                </object> 
+                <object idref="ExprNodeConstantDesc9"/> 
                </void> 
                <void method="add"> 
-                <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                 <void property="typeInfo"> 
-                  <object idref="PrimitiveTypeInfo1"/> 
-                 </void> 
-                 <void property="value"> 
-                  <long>1</long> 
-                 </void> 
-                </object> 
+                <object idref="ExprNodeConstantDesc8"/> 
                </void> 
                <void method="add"> 
                 <object idref="ExprNodeGenericFuncDesc0"/> 
                </void> 
                <void method="add"> 
-                <object idref="ExprNodeConstantDesc0"/> 
+                <object idref="ExprNodeConstantDesc14"/> 
                </void> 
                <void method="add"> 
-                <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                 <void property="typeInfo"> 
-                  <object idref="PrimitiveTypeInfo2"/> 
-                 </void> 
-                 <void property="value"> 
-                  <int>-3</int> 
-                 </void> 
-                </object> 
+                <object idref="ExprNodeConstantDesc13"/> 
                </void> 
                <void method="add"> 
-                <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                 <void property="typeInfo"> 
-                  <object idref="PrimitiveTypeInfo2"/> 
-                 </void> 
-                 <void property="value"> 
-                  <int>3</int> 
-                 </void> 
-                </object> 
+                <object idref="ExprNodeConstantDesc12"/> 
                </void> 
                <void method="add"> 
-                <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                 <void property="typeInfo"> 
-                  <object idref="PrimitiveTypeInfo2"/> 
-                 </void> 
-                 <void property="value"> 
-                  <int>-1</int> 
-                 </void> 
-                </object> 
+                <object idref="ExprNodeConstantDesc11"/> 
                </void> 
                <void method="add"> 
-                <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                 <void property="typeInfo"> 
-                  <object idref="PrimitiveTypeInfo2"/> 
-                 </void> 
-                 <void property="value"> 
-                  <int>-2</int> 
-                 </void> 
-                </object> 
+                <object idref="ExprNodeConstantDesc16"/> 
                </void> 
               </object> 
              </void> 

Modified: hive/branches/spark-new/ql/src/test/results/compiler/plan/udf6.q.xml
URL: http://svn.apache.org/viewvc/hive/branches/spark-new/ql/src/test/results/compiler/plan/udf6.q.xml?rev=1629544&r1=1629543&r2=1629544&view=diff
==============================================================================
--- hive/branches/spark-new/ql/src/test/results/compiler/plan/udf6.q.xml (original)
+++ hive/branches/spark-new/ql/src/test/results/compiler/plan/udf6.q.xml Sun Oct  5 22:26:43 2014
@@ -215,7 +215,7 @@
                     </void> 
                     <void method="put"> 
                      <string>columns.types</string> 
-                     <string>string:int</string> 
+                     <string>string:double</string> 
                     </void> 
                     <void method="put"> 
                      <string>escape.delim</string> 
@@ -272,12 +272,12 @@
                    <void property="type"> 
                     <object id="PrimitiveTypeInfo1" class="org.apache.hadoop.hive.serde2.typeinfo.PrimitiveTypeInfo"> 
                      <void property="typeName"> 
-                      <string>int</string> 
+                      <string>double</string> 
                      </void> 
                     </object> 
                    </void> 
                    <void property="typeName"> 
-                    <string>int</string> 
+                    <string>double</string> 
                    </void> 
                   </object> 
                  </void> 
@@ -291,47 +291,44 @@
             <object class="java.util.HashMap"> 
              <void method="put"> 
               <string>_col1</string> 
-              <object class="org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc"> 
+              <object id="ExprNodeGenericFuncDesc0" class="org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc"> 
                <void property="children"> 
                 <object class="java.util.ArrayList"> 
                  <void method="add"> 
                   <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
                    <void property="typeInfo"> 
-                    <object class="org.apache.hadoop.hive.serde2.typeinfo.PrimitiveTypeInfo"> 
+                    <object id="PrimitiveTypeInfo2" class="org.apache.hadoop.hive.serde2.typeinfo.PrimitiveTypeInfo"> 
                      <void property="typeName"> 
-                      <string>boolean</string> 
+                      <string>int</string> 
                      </void> 
                     </object> 
                    </void> 
                    <void property="value"> 
-                    <boolean>true</boolean> 
+                    <int>1</int> 
                    </void> 
                   </object> 
                  </void> 
                  <void method="add"> 
-                  <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                   <void property="typeInfo"> 
-                    <object idref="PrimitiveTypeInfo1"/> 
+                  <object class="org.apache.hadoop.hive.ql.plan.ExprNodeColumnDesc"> 
+                   <void property="column"> 
+                    <string>key</string> 
                    </void> 
-                   <void property="value"> 
-                    <int>1</int> 
+                   <void property="tabAlias"> 
+                    <string>src</string> 
                    </void> 
-                  </object> 
-                 </void> 
-                 <void method="add"> 
-                  <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
                    <void property="typeInfo"> 
-                    <object idref="PrimitiveTypeInfo1"/> 
-                   </void> 
-                   <void property="value"> 
-                    <int>2</int> 
+                    <object idref="PrimitiveTypeInfo0"/> 
                    </void> 
                   </object> 
                  </void> 
                 </object> 
                </void> 
                <void property="genericUDF"> 
-                <object class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFIf"/> 
+                <object class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPPlus"> 
+                 <void property="confLookupNeeded"> 
+                  <boolean>false</boolean> 
+                 </void> 
+                </object> 
                </void> 
                <void property="typeInfo"> 
                 <object idref="PrimitiveTypeInfo1"/> 
@@ -340,37 +337,13 @@
              </void> 
              <void method="put"> 
               <string>_col0</string> 
-              <object class="org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc"> 
-               <void property="children"> 
-                <object class="java.util.ArrayList"> 
-                 <void method="add"> 
-                  <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                   <void property="typeInfo"> 
-                    <object idref="PrimitiveTypeInfo0"/> 
-                   </void> 
-                   <void property="value"> 
-                    <string>a</string> 
-                   </void> 
-                  </object> 
-                 </void> 
-                 <void method="add"> 
-                  <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                   <void property="typeInfo"> 
-                    <object idref="PrimitiveTypeInfo0"/> 
-                   </void> 
-                   <void property="value"> 
-                    <string>b</string> 
-                   </void> 
-                  </object> 
-                 </void> 
-                </object> 
-               </void> 
-               <void property="genericUDF"> 
-                <object class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFConcat"/> 
-               </void> 
+              <object id="ExprNodeConstantDesc0" class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
                <void property="typeInfo"> 
                 <object idref="PrimitiveTypeInfo0"/> 
                </void> 
+               <void property="value"> 
+                <string>ab</string> 
+               </void> 
               </object> 
              </void> 
             </object> 
@@ -380,24 +353,10 @@
              <void property="colList"> 
               <object class="java.util.ArrayList"> 
                <void method="add"> 
-                <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                 <void property="typeInfo"> 
-                  <object idref="PrimitiveTypeInfo0"/> 
-                 </void> 
-                 <void property="value"> 
-                  <string>ab</string> 
-                 </void> 
-                </object> 
+                <object idref="ExprNodeConstantDesc0"/> 
                </void> 
                <void method="add"> 
-                <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                 <void property="typeInfo"> 
-                  <object idref="PrimitiveTypeInfo1"/> 
-                 </void> 
-                 <void property="value"> 
-                  <int>1</int> 
-                 </void> 
-                </object> 
+                <object idref="ExprNodeGenericFuncDesc0"/> 
                </void> 
               </object> 
              </void> 
@@ -452,7 +411,7 @@
                  <object idref="PrimitiveTypeInfo1"/> 
                 </void> 
                 <void property="typeName"> 
-                 <string>int</string> 
+                 <string>double</string> 
                 </void> 
                </object> 
               </void> 
@@ -468,10 +427,18 @@
            <string>src</string> 
           </void> 
           <void property="neededColumnIDs"> 
-           <object class="java.util.ArrayList"/> 
+           <object class="java.util.ArrayList"> 
+            <void method="add"> 
+             <int>0</int> 
+            </void> 
+           </object> 
           </void> 
           <void property="neededColumns"> 
-           <object class="java.util.ArrayList"/> 
+           <object class="java.util.ArrayList"> 
+            <void method="add"> 
+             <string>key</string> 
+            </void> 
+           </object> 
           </void> 
           <void property="virtualCols"> 
            <object class="java.util.ArrayList"/> 
@@ -482,7 +449,11 @@
          <string>TS_0</string> 
         </void> 
         <void property="referencedColumns"> 
-         <object class="java.util.ArrayList"/> 
+         <object class="java.util.ArrayList"> 
+          <void method="add"> 
+           <string>key</string> 
+          </void> 
+         </object> 
         </void> 
         <void property="schema"> 
          <object class="org.apache.hadoop.hive.ql.exec.RowSchema"> 
@@ -531,7 +502,7 @@
               <string>src</string> 
              </void> 
              <void property="type"> 
-              <object id="PrimitiveTypeInfo2" class="org.apache.hadoop.hive.serde2.typeinfo.PrimitiveTypeInfo"> 
+              <object id="PrimitiveTypeInfo3" class="org.apache.hadoop.hive.serde2.typeinfo.PrimitiveTypeInfo"> 
                <void property="typeName"> 
                 <string>bigint</string> 
                </void> 
@@ -590,13 +561,13 @@
                <void property="allStructFieldTypeInfos"> 
                 <object class="java.util.ArrayList"> 
                  <void method="add"> 
-                  <object idref="PrimitiveTypeInfo2"/> 
+                  <object idref="PrimitiveTypeInfo3"/> 
                  </void> 
                  <void method="add"> 
-                  <object idref="PrimitiveTypeInfo1"/> 
+                  <object idref="PrimitiveTypeInfo2"/> 
                  </void> 
                  <void method="add"> 
-                  <object idref="PrimitiveTypeInfo2"/> 
+                  <object idref="PrimitiveTypeInfo3"/> 
                  </void> 
                 </object> 
                </void> 

Modified: hive/branches/spark-new/ql/src/test/results/compiler/plan/udf_case.q.xml
URL: http://svn.apache.org/viewvc/hive/branches/spark-new/ql/src/test/results/compiler/plan/udf_case.q.xml?rev=1629544&r1=1629543&r2=1629544&view=diff
==============================================================================
--- hive/branches/spark-new/ql/src/test/results/compiler/plan/udf_case.q.xml (original)
+++ hive/branches/spark-new/ql/src/test/results/compiler/plan/udf_case.q.xml Sun Oct  5 22:26:43 2014
@@ -346,142 +346,17 @@
             <object class="java.util.HashMap"> 
              <void method="put"> 
               <string>_col1</string> 
-              <object class="org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc"> 
-               <void property="children"> 
-                <object class="java.util.ArrayList"> 
-                 <void method="add"> 
-                  <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                   <void property="typeInfo"> 
-                    <object idref="PrimitiveTypeInfo0"/> 
-                   </void> 
-                   <void property="value"> 
-                    <int>11</int> 
-                   </void> 
-                  </object> 
-                 </void> 
-                 <void method="add"> 
-                  <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                   <void property="typeInfo"> 
-                    <object idref="PrimitiveTypeInfo0"/> 
-                   </void> 
-                   <void property="value"> 
-                    <int>12</int> 
-                   </void> 
-                  </object> 
-                 </void> 
-                 <void method="add"> 
-                  <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                   <void property="typeInfo"> 
-                    <object idref="PrimitiveTypeInfo0"/> 
-                   </void> 
-                   <void property="value"> 
-                    <int>13</int> 
-                   </void> 
-                  </object> 
-                 </void> 
-                 <void method="add"> 
-                  <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                   <void property="typeInfo"> 
-                    <object idref="PrimitiveTypeInfo0"/> 
-                   </void> 
-                   <void property="value"> 
-                    <int>14</int> 
-                   </void> 
-                  </object> 
-                 </void> 
-                 <void method="add"> 
-                  <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                   <void property="typeInfo"> 
-                    <object idref="PrimitiveTypeInfo0"/> 
-                   </void> 
-                   <void property="value"> 
-                    <int>15</int> 
-                   </void> 
-                  </object> 
-                 </void> 
-                </object> 
-               </void> 
-               <void property="genericUDF"> 
-                <object class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFCase"/> 
-               </void> 
-               <void property="typeInfo"> 
-                <object idref="PrimitiveTypeInfo0"/> 
-               </void> 
-              </object> 
+              <object id="ExprNodeNullDesc0" class="org.apache.hadoop.hive.ql.plan.ExprNodeNullDesc"/> 
              </void> 
              <void method="put"> 
               <string>_col0</string> 
-              <object class="org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc"> 
-               <void property="children"> 
-                <object class="java.util.ArrayList"> 
-                 <void method="add"> 
-                  <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                   <void property="typeInfo"> 
-                    <object idref="PrimitiveTypeInfo0"/> 
-                   </void> 
-                   <void property="value"> 
-                    <int>1</int> 
-                   </void> 
-                  </object> 
-                 </void> 
-                 <void method="add"> 
-                  <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                   <void property="typeInfo"> 
-                    <object idref="PrimitiveTypeInfo0"/> 
-                   </void> 
-                   <void property="value"> 
-                    <int>1</int> 
-                   </void> 
-                  </object> 
-                 </void> 
-                 <void method="add"> 
-                  <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                   <void property="typeInfo"> 
-                    <object idref="PrimitiveTypeInfo0"/> 
-                   </void> 
-                   <void property="value"> 
-                    <int>2</int> 
-                   </void> 
-                  </object> 
-                 </void> 
-                 <void method="add"> 
-                  <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                   <void property="typeInfo"> 
-                    <object idref="PrimitiveTypeInfo0"/> 
-                   </void> 
-                   <void property="value"> 
-                    <int>3</int> 
-                   </void> 
-                  </object> 
-                 </void> 
-                 <void method="add"> 
-                  <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                   <void property="typeInfo"> 
-                    <object idref="PrimitiveTypeInfo0"/> 
-                   </void> 
-                   <void property="value"> 
-                    <int>4</int> 
-                   </void> 
-                  </object> 
-                 </void> 
-                 <void method="add"> 
-                  <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                   <void property="typeInfo"> 
-                    <object idref="PrimitiveTypeInfo0"/> 
-                   </void> 
-                   <void property="value"> 
-                    <int>5</int> 
-                   </void> 
-                  </object> 
-                 </void> 
-                </object> 
-               </void> 
-               <void property="genericUDF"> 
-                <object class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFCase"/> 
-               </void> 
+              <object id="ExprNodeConstantDesc0" class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
                <void property="typeInfo"> 
                 <object idref="PrimitiveTypeInfo0"/> 
                </void> 
+               <void property="value"> 
+                <int>2</int> 
+               </void> 
               </object> 
              </void> 
             </object> 
@@ -491,17 +366,10 @@
              <void property="colList"> 
               <object class="java.util.ArrayList"> 
                <void method="add"> 
-                <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                 <void property="typeInfo"> 
-                  <object idref="PrimitiveTypeInfo0"/> 
-                 </void> 
-                 <void property="value"> 
-                  <int>2</int> 
-                 </void> 
-                </object> 
+                <object idref="ExprNodeConstantDesc0"/> 
                </void> 
                <void method="add"> 
-                <object class="org.apache.hadoop.hive.ql.plan.ExprNodeNullDesc"/> 
+                <object idref="ExprNodeNullDesc0"/> 
                </void> 
               </object> 
              </void> 

Modified: hive/branches/spark-new/ql/src/test/results/compiler/plan/udf_when.q.xml
URL: http://svn.apache.org/viewvc/hive/branches/spark-new/ql/src/test/results/compiler/plan/udf_when.q.xml?rev=1629544&r1=1629543&r2=1629544&view=diff
==============================================================================
--- hive/branches/spark-new/ql/src/test/results/compiler/plan/udf_when.q.xml (original)
+++ hive/branches/spark-new/ql/src/test/results/compiler/plan/udf_when.q.xml Sun Oct  5 22:26:43 2014
@@ -346,222 +346,17 @@
             <object class="java.util.HashMap"> 
              <void method="put"> 
               <string>_col1</string> 
-              <object class="org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc"> 
-               <void property="children"> 
-                <object class="java.util.ArrayList"> 
-                 <void method="add"> 
-                  <object class="org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc"> 
-                   <void property="children"> 
-                    <object class="java.util.ArrayList"> 
-                     <void method="add"> 
-                      <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                       <void property="typeInfo"> 
-                        <object idref="PrimitiveTypeInfo0"/> 
-                       </void> 
-                       <void property="value"> 
-                        <int>12</int> 
-                       </void> 
-                      </object> 
-                     </void> 
-                     <void method="add"> 
-                      <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                       <void property="typeInfo"> 
-                        <object idref="PrimitiveTypeInfo0"/> 
-                       </void> 
-                       <void property="value"> 
-                        <int>11</int> 
-                       </void> 
-                      </object> 
-                     </void> 
-                    </object> 
-                   </void> 
-                   <void property="genericUDF"> 
-                    <object class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPEqual"/> 
-                   </void> 
-                   <void property="typeInfo"> 
-                    <object id="PrimitiveTypeInfo1" class="org.apache.hadoop.hive.serde2.typeinfo.PrimitiveTypeInfo"> 
-                     <void property="typeName"> 
-                      <string>boolean</string> 
-                     </void> 
-                    </object> 
-                   </void> 
-                  </object> 
-                 </void> 
-                 <void method="add"> 
-                  <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                   <void property="typeInfo"> 
-                    <object idref="PrimitiveTypeInfo0"/> 
-                   </void> 
-                   <void property="value"> 
-                    <int>13</int> 
-                   </void> 
-                  </object> 
-                 </void> 
-                 <void method="add"> 
-                  <object class="org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc"> 
-                   <void property="children"> 
-                    <object class="java.util.ArrayList"> 
-                     <void method="add"> 
-                      <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                       <void property="typeInfo"> 
-                        <object idref="PrimitiveTypeInfo0"/> 
-                       </void> 
-                       <void property="value"> 
-                        <int>14</int> 
-                       </void> 
-                      </object> 
-                     </void> 
-                     <void method="add"> 
-                      <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                       <void property="typeInfo"> 
-                        <object idref="PrimitiveTypeInfo0"/> 
-                       </void> 
-                       <void property="value"> 
-                        <int>10</int> 
-                       </void> 
-                      </object> 
-                     </void> 
-                    </object> 
-                   </void> 
-                   <void property="genericUDF"> 
-                    <object class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPEqual"/> 
-                   </void> 
-                   <void property="typeInfo"> 
-                    <object idref="PrimitiveTypeInfo1"/> 
-                   </void> 
-                  </object> 
-                 </void> 
-                 <void method="add"> 
-                  <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                   <void property="typeInfo"> 
-                    <object idref="PrimitiveTypeInfo0"/> 
-                   </void> 
-                   <void property="value"> 
-                    <int>15</int> 
-                   </void> 
-                  </object> 
-                 </void> 
-                </object> 
-               </void> 
-               <void property="genericUDF"> 
-                <object class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFWhen"/> 
-               </void> 
-               <void property="typeInfo"> 
-                <object idref="PrimitiveTypeInfo0"/> 
-               </void> 
-              </object> 
+              <object id="ExprNodeNullDesc0" class="org.apache.hadoop.hive.ql.plan.ExprNodeNullDesc"/> 
              </void> 
              <void method="put"> 
               <string>_col0</string> 
-              <object class="org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc"> 
-               <void property="children"> 
-                <object class="java.util.ArrayList"> 
-                 <void method="add"> 
-                  <object class="org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc"> 
-                   <void property="children"> 
-                    <object class="java.util.ArrayList"> 
-                     <void method="add"> 
-                      <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                       <void property="typeInfo"> 
-                        <object idref="PrimitiveTypeInfo0"/> 
-                       </void> 
-                       <void property="value"> 
-                        <int>1</int> 
-                       </void> 
-                      </object> 
-                     </void> 
-                     <void method="add"> 
-                      <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                       <void property="typeInfo"> 
-                        <object idref="PrimitiveTypeInfo0"/> 
-                       </void> 
-                       <void property="value"> 
-                        <int>1</int> 
-                       </void> 
-                      </object> 
-                     </void> 
-                    </object> 
-                   </void> 
-                   <void property="genericUDF"> 
-                    <object class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPEqual"/> 
-                   </void> 
-                   <void property="typeInfo"> 
-                    <object idref="PrimitiveTypeInfo1"/> 
-                   </void> 
-                  </object> 
-                 </void> 
-                 <void method="add"> 
-                  <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                   <void property="typeInfo"> 
-                    <object idref="PrimitiveTypeInfo0"/> 
-                   </void> 
-                   <void property="value"> 
-                    <int>2</int> 
-                   </void> 
-                  </object> 
-                 </void> 
-                 <void method="add"> 
-                  <object class="org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc"> 
-                   <void property="children"> 
-                    <object class="java.util.ArrayList"> 
-                     <void method="add"> 
-                      <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                       <void property="typeInfo"> 
-                        <object idref="PrimitiveTypeInfo0"/> 
-                       </void> 
-                       <void property="value"> 
-                        <int>3</int> 
-                       </void> 
-                      </object> 
-                     </void> 
-                     <void method="add"> 
-                      <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                       <void property="typeInfo"> 
-                        <object idref="PrimitiveTypeInfo0"/> 
-                       </void> 
-                       <void property="value"> 
-                        <int>5</int> 
-                       </void> 
-                      </object> 
-                     </void> 
-                    </object> 
-                   </void> 
-                   <void property="genericUDF"> 
-                    <object class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPEqual"/> 
-                   </void> 
-                   <void property="typeInfo"> 
-                    <object idref="PrimitiveTypeInfo1"/> 
-                   </void> 
-                  </object> 
-                 </void> 
-                 <void method="add"> 
-                  <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                   <void property="typeInfo"> 
-                    <object idref="PrimitiveTypeInfo0"/> 
-                   </void> 
-                   <void property="value"> 
-                    <int>4</int> 
-                   </void> 
-                  </object> 
-                 </void> 
-                 <void method="add"> 
-                  <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                   <void property="typeInfo"> 
-                    <object idref="PrimitiveTypeInfo0"/> 
-                   </void> 
-                   <void property="value"> 
-                    <int>5</int> 
-                   </void> 
-                  </object> 
-                 </void> 
-                </object> 
-               </void> 
-               <void property="genericUDF"> 
-                <object class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFWhen"/> 
-               </void> 
+              <object id="ExprNodeConstantDesc0" class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
                <void property="typeInfo"> 
                 <object idref="PrimitiveTypeInfo0"/> 
                </void> 
+               <void property="value"> 
+                <int>2</int> 
+               </void> 
               </object> 
              </void> 
             </object> 
@@ -571,17 +366,10 @@
              <void property="colList"> 
               <object class="java.util.ArrayList"> 
                <void method="add"> 
-                <object class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
-                 <void property="typeInfo"> 
-                  <object idref="PrimitiveTypeInfo0"/> 
-                 </void> 
-                 <void property="value"> 
-                  <int>2</int> 
-                 </void> 
-                </object> 
+                <object idref="ExprNodeConstantDesc0"/> 
                </void> 
                <void method="add"> 
-                <object class="org.apache.hadoop.hive.ql.plan.ExprNodeNullDesc"/> 
+                <object idref="ExprNodeNullDesc0"/> 
                </void> 
               </object> 
              </void> 
@@ -649,7 +437,7 @@
               <string>src</string> 
              </void> 
              <void property="type"> 
-              <object id="PrimitiveTypeInfo2" class="org.apache.hadoop.hive.serde2.typeinfo.PrimitiveTypeInfo"> 
+              <object id="PrimitiveTypeInfo1" class="org.apache.hadoop.hive.serde2.typeinfo.PrimitiveTypeInfo"> 
                <void property="typeName"> 
                 <string>string</string> 
                </void> 
@@ -669,7 +457,7 @@
               <string>src</string> 
              </void> 
              <void property="type"> 
-              <object idref="PrimitiveTypeInfo2"/> 
+              <object idref="PrimitiveTypeInfo1"/> 
              </void> 
              <void property="typeName"> 
               <string>string</string> 
@@ -688,7 +476,7 @@
               <string>src</string> 
              </void> 
              <void property="type"> 
-              <object id="PrimitiveTypeInfo3" class="org.apache.hadoop.hive.serde2.typeinfo.PrimitiveTypeInfo"> 
+              <object id="PrimitiveTypeInfo2" class="org.apache.hadoop.hive.serde2.typeinfo.PrimitiveTypeInfo"> 
                <void property="typeName"> 
                 <string>bigint</string> 
                </void> 
@@ -711,7 +499,7 @@
               <string>src</string> 
              </void> 
              <void property="type"> 
-              <object idref="PrimitiveTypeInfo2"/> 
+              <object idref="PrimitiveTypeInfo1"/> 
              </void> 
              <void property="typeName"> 
               <string>string</string> 
@@ -747,13 +535,13 @@
                <void property="allStructFieldTypeInfos"> 
                 <object class="java.util.ArrayList"> 
                  <void method="add"> 
-                  <object idref="PrimitiveTypeInfo3"/> 
+                  <object idref="PrimitiveTypeInfo2"/> 
                  </void> 
                  <void method="add"> 
                   <object idref="PrimitiveTypeInfo0"/> 
                  </void> 
                  <void method="add"> 
-                  <object idref="PrimitiveTypeInfo3"/> 
+                  <object idref="PrimitiveTypeInfo2"/> 
                  </void> 
                 </object> 
                </void> 

Modified: hive/branches/spark-new/ql/src/test/results/compiler/plan/union.q.xml
URL: http://svn.apache.org/viewvc/hive/branches/spark-new/ql/src/test/results/compiler/plan/union.q.xml?rev=1629544&r1=1629543&r2=1629544&view=diff
==============================================================================
--- hive/branches/spark-new/ql/src/test/results/compiler/plan/union.q.xml (original)
+++ hive/branches/spark-new/ql/src/test/results/compiler/plan/union.q.xml Sun Oct  5 22:26:43 2014
@@ -235,7 +235,7 @@
                          </object> 
                         </void> 
                         <void property="tableDesc"> 
-                         <object class="org.apache.hadoop.hive.ql.plan.TableDesc"> 
+                         <object id="TableDesc0" class="org.apache.hadoop.hive.ql.plan.TableDesc"> 
                           <void property="inputFileFormatClass"> 
                            <class>org.apache.hadoop.mapred.TextInputFormat</class> 
                           </void> 
@@ -449,7 +449,7 @@
          </object> 
         </void> 
         <void property="tableDesc"> 
-         <object id="TableDesc0" class="org.apache.hadoop.hive.ql.plan.TableDesc"> 
+         <object id="TableDesc1" class="org.apache.hadoop.hive.ql.plan.TableDesc"> 
           <void property="inputFileFormatClass"> 
            <class>org.apache.hadoop.mapred.TextInputFormat</class> 
           </void> 
@@ -593,7 +593,7 @@
          </object> 
         </void> 
         <void property="tableDesc"> 
-         <object idref="TableDesc0"/> 
+         <object idref="TableDesc1"/> 
         </void> 
        </object> 
       </void> 
@@ -640,34 +640,7 @@
                           <boolean>true</boolean> 
                          </void> 
                          <void property="tableInfo"> 
-                          <object class="org.apache.hadoop.hive.ql.plan.TableDesc"> 
-                           <void property="inputFileFormatClass"> 
-                            <class>org.apache.hadoop.mapred.TextInputFormat</class> 
-                           </void> 
-                           <void property="outputFileFormatClass"> 
-                            <class>org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat</class> 
-                           </void> 
-                           <void property="properties"> 
-                            <object class="java.util.Properties"> 
-                             <void method="put"> 
-                              <string>columns</string> 
-                              <string>_col0,_col1</string> 
-                             </void> 
-                             <void method="put"> 
-                              <string>serialization.lib</string> 
-                              <string>org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe</string> 
-                             </void> 
-                             <void method="put"> 
-                              <string>serialization.format</string> 
-                              <string>1</string> 
-                             </void> 
-                             <void method="put"> 
-                              <string>columns.types</string> 
-                              <string>string:string</string> 
-                             </void> 
-                            </object> 
-                           </void> 
-                          </object> 
+                          <object idref="TableDesc0"/> 
                          </void> 
                          <void property="totalFiles"> 
                           <int>1</int> 
@@ -1634,7 +1607,7 @@
          </object> 
         </void> 
         <void property="tableDesc"> 
-         <object idref="TableDesc0"/> 
+         <object idref="TableDesc1"/> 
         </void> 
        </object> 
       </void> 

Modified: hive/branches/spark-new/serde/pom.xml
URL: http://svn.apache.org/viewvc/hive/branches/spark-new/serde/pom.xml?rev=1629544&r1=1629543&r2=1629544&view=diff
==============================================================================
--- hive/branches/spark-new/serde/pom.xml (original)
+++ hive/branches/spark-new/serde/pom.xml Sun Oct  5 22:26:43 2014
@@ -78,6 +78,12 @@
 
       <!-- test inter-project -->
     <dependency>
+      <groupId>com.google.code.tempus-fugit</groupId>
+      <artifactId>tempus-fugit</artifactId>
+      <version>${tempus-fugit.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
       <version>${junit.version}</version>

Modified: hive/branches/spark-new/serde/src/java/org/apache/hadoop/hive/serde2/avro/AvroDeserializer.java
URL: http://svn.apache.org/viewvc/hive/branches/spark-new/serde/src/java/org/apache/hadoop/hive/serde2/avro/AvroDeserializer.java?rev=1629544&r1=1629543&r2=1629544&view=diff
==============================================================================
--- hive/branches/spark-new/serde/src/java/org/apache/hadoop/hive/serde2/avro/AvroDeserializer.java (original)
+++ hive/branches/spark-new/serde/src/java/org/apache/hadoop/hive/serde2/avro/AvroDeserializer.java Sun Oct  5 22:26:43 2014
@@ -22,6 +22,7 @@ import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.rmi.server.UID;
+import java.sql.Date;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -42,7 +43,10 @@ import org.apache.avro.io.EncoderFactory
 import org.apache.avro.util.Utf8;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.hive.common.type.HiveChar;
 import org.apache.hadoop.hive.common.type.HiveDecimal;
+import org.apache.hadoop.hive.common.type.HiveVarchar;
+import org.apache.hadoop.hive.serde2.io.DateWritable;
 import org.apache.hadoop.hive.serde2.objectinspector.StandardUnionObjectInspector;
 import org.apache.hadoop.hive.serde2.objectinspector.primitive.JavaHiveDecimalObjectInspector;
 import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory;
@@ -200,7 +204,6 @@ class AvroDeserializer {
       return deserializeNullableUnion(datum, fileSchema, recordSchema, columnType);
     }
 
-
     switch(columnType.getCategory()) {
     case STRUCT:
       return deserializeStruct((GenericData.Record) datum, fileSchema, (StructTypeInfo) columnType);
@@ -249,6 +252,42 @@ class AvroDeserializer {
       JavaHiveDecimalObjectInspector oi = (JavaHiveDecimalObjectInspector)
           PrimitiveObjectInspectorFactory.getPrimitiveJavaObjectInspector((DecimalTypeInfo)columnType);
       return oi.set(null, dec);
+    case CHAR:
+      if (fileSchema == null) {
+        throw new AvroSerdeException("File schema is missing for char field. Reader schema is " + columnType);
+      }
+
+      int maxLength = 0;
+      try {
+        maxLength = fileSchema.getJsonProp(AvroSerDe.AVRO_PROP_MAX_LENGTH).getValueAsInt();
+      } catch (Exception ex) {
+        throw new AvroSerdeException("Failed to obtain maxLength value for char field from file schema: " + fileSchema, ex);
+      }
+
+      String str = datum.toString();
+      HiveChar hc = new HiveChar(str, maxLength);
+      return hc;
+    case VARCHAR:
+      if (fileSchema == null) {
+        throw new AvroSerdeException("File schema is missing for varchar field. Reader schema is " + columnType);
+      }
+
+      maxLength = 0;
+      try {
+        maxLength = fileSchema.getJsonProp(AvroSerDe.AVRO_PROP_MAX_LENGTH).getValueAsInt();
+      } catch (Exception ex) {
+        throw new AvroSerdeException("Failed to obtain maxLength value for varchar field from file schema: " + fileSchema, ex);
+      }
+
+      str = datum.toString();
+      HiveVarchar hvc = new HiveVarchar(str, maxLength);
+      return hvc;
+    case DATE:
+      if (recordSchema.getType() != Type.INT) {
+        throw new AvroSerdeException("Unexpected Avro schema for Date TypeInfo: " + recordSchema.getType());
+      }
+
+      return new Date(DateWritable.daysToMillis((Integer)datum));
     default:
       return datum;
     }

Modified: hive/branches/spark-new/serde/src/java/org/apache/hadoop/hive/serde2/avro/AvroSerDe.java
URL: http://svn.apache.org/viewvc/hive/branches/spark-new/serde/src/java/org/apache/hadoop/hive/serde2/avro/AvroSerDe.java?rev=1629544&r1=1629543&r2=1629544&view=diff
==============================================================================
--- hive/branches/spark-new/serde/src/java/org/apache/hadoop/hive/serde2/avro/AvroSerDe.java (original)
+++ hive/branches/spark-new/serde/src/java/org/apache/hadoop/hive/serde2/avro/AvroSerDe.java Sun Oct  5 22:26:43 2014
@@ -41,9 +41,15 @@ public class AvroSerDe extends AbstractS
   private static final Log LOG = LogFactory.getLog(AvroSerDe.class);
 
   public static final String DECIMAL_TYPE_NAME = "decimal";
+  public static final String CHAR_TYPE_NAME = "char";
+  public static final String VARCHAR_TYPE_NAME = "varchar";
+  public static final String DATE_TYPE_NAME = "date";
   public static final String AVRO_PROP_LOGICAL_TYPE = "logicalType";
   public static final String AVRO_PROP_PRECISION = "precision";
   public static final String AVRO_PROP_SCALE = "scale";
+  public static final String AVRO_PROP_MAX_LENGTH = "maxLength";
+  public static final String AVRO_STRING_TYPE_NAME = "string";
+  public static final String AVRO_INT_TYPE_NAME = "int";
 
   private ObjectInspector oi;
   private List<String> columnNames;

Modified: hive/branches/spark-new/serde/src/java/org/apache/hadoop/hive/serde2/avro/AvroSerializer.java
URL: http://svn.apache.org/viewvc/hive/branches/spark-new/serde/src/java/org/apache/hadoop/hive/serde2/avro/AvroSerializer.java?rev=1629544&r1=1629543&r2=1629544&view=diff
==============================================================================
--- hive/branches/spark-new/serde/src/java/org/apache/hadoop/hive/serde2/avro/AvroSerializer.java (original)
+++ hive/branches/spark-new/serde/src/java/org/apache/hadoop/hive/serde2/avro/AvroSerializer.java Sun Oct  5 22:26:43 2014
@@ -17,6 +17,7 @@
  */
 package org.apache.hadoop.hive.serde2.avro;
 
+import java.sql.Date;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -30,7 +31,10 @@ import org.apache.avro.generic.GenericDa
 import org.apache.avro.generic.GenericEnumSymbol;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.hive.common.type.HiveChar;
 import org.apache.hadoop.hive.common.type.HiveDecimal;
+import org.apache.hadoop.hive.common.type.HiveVarchar;
+import org.apache.hadoop.hive.serde2.io.DateWritable;
 import org.apache.hadoop.hive.serde2.objectinspector.ListObjectInspector;
 import org.apache.hadoop.hive.serde2.objectinspector.MapObjectInspector;
 import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
@@ -38,6 +42,7 @@ import org.apache.hadoop.hive.serde2.obj
 import org.apache.hadoop.hive.serde2.objectinspector.StructField;
 import org.apache.hadoop.hive.serde2.objectinspector.StructObjectInspector;
 import org.apache.hadoop.hive.serde2.objectinspector.UnionObjectInspector;
+import org.apache.hadoop.hive.serde2.objectinspector.primitive.DateObjectInspector;
 import org.apache.hadoop.hive.serde2.typeinfo.DecimalTypeInfo;
 import org.apache.hadoop.hive.serde2.typeinfo.ListTypeInfo;
 import org.apache.hadoop.hive.serde2.typeinfo.MapTypeInfo;
@@ -193,6 +198,15 @@ class AvroSerializer {
     case DECIMAL:
       HiveDecimal dec = (HiveDecimal)fieldOI.getPrimitiveJavaObject(structFieldData);
       return AvroSerdeUtils.getBufferFromDecimal(dec, ((DecimalTypeInfo)typeInfo).scale());
+    case CHAR:
+      HiveChar ch = (HiveChar)fieldOI.getPrimitiveJavaObject(structFieldData);
+      return ch.getStrippedValue();
+    case VARCHAR:
+      HiveVarchar vc = (HiveVarchar)fieldOI.getPrimitiveJavaObject(structFieldData);
+      return vc.getValue();
+    case DATE:
+      Date date = ((DateObjectInspector)fieldOI).getPrimitiveJavaObject(structFieldData);
+      return DateWritable.dateToDays(date);
     case UNKNOWN:
       throw new AvroSerdeException("Received UNKNOWN primitive category.");
     case VOID:

Modified: hive/branches/spark-new/serde/src/java/org/apache/hadoop/hive/serde2/avro/SchemaToTypeInfo.java
URL: http://svn.apache.org/viewvc/hive/branches/spark-new/serde/src/java/org/apache/hadoop/hive/serde2/avro/SchemaToTypeInfo.java?rev=1629544&r1=1629543&r2=1629544&view=diff
==============================================================================
--- hive/branches/spark-new/serde/src/java/org/apache/hadoop/hive/serde2/avro/SchemaToTypeInfo.java (original)
+++ hive/branches/spark-new/serde/src/java/org/apache/hadoop/hive/serde2/avro/SchemaToTypeInfo.java Sun Oct  5 22:26:43 2014
@@ -128,6 +128,33 @@ class SchemaToTypeInfo {
       return TypeInfoFactory.getDecimalTypeInfo(precision, scale);
     }
 
+    if (type == Schema.Type.STRING &&
+        AvroSerDe.CHAR_TYPE_NAME.equalsIgnoreCase(schema.getProp(AvroSerDe.AVRO_PROP_LOGICAL_TYPE))) {
+      int maxLength = 0;
+      try {
+        maxLength = schema.getJsonProp(AvroSerDe.AVRO_PROP_MAX_LENGTH).getValueAsInt();
+      } catch (Exception ex) {
+        throw new AvroSerdeException("Failed to obtain maxLength value from file schema: " + schema, ex);
+      }
+      return TypeInfoFactory.getCharTypeInfo(maxLength);
+    }
+
+    if (type == Schema.Type.STRING &&
+        AvroSerDe.VARCHAR_TYPE_NAME.equalsIgnoreCase(schema.getProp(AvroSerDe.AVRO_PROP_LOGICAL_TYPE))) {
+      int maxLength = 0;
+      try {
+        maxLength = schema.getJsonProp(AvroSerDe.AVRO_PROP_MAX_LENGTH).getValueAsInt();
+      } catch (Exception ex) {
+        throw new AvroSerdeException("Failed to obtain maxLength value from file schema: " + schema, ex);
+      }
+      return TypeInfoFactory.getVarcharTypeInfo(maxLength);
+    }
+
+    if (type == Schema.Type.INT &&
+        AvroSerDe.DATE_TYPE_NAME.equals(schema.getProp(AvroSerDe.AVRO_PROP_LOGICAL_TYPE))) {
+      return TypeInfoFactory.dateTypeInfo;
+    }
+
     return typeInfoCache.retrieve(schema);
   }
 

Modified: hive/branches/spark-new/serde/src/java/org/apache/hadoop/hive/serde2/avro/TypeInfoToSchema.java
URL: http://svn.apache.org/viewvc/hive/branches/spark-new/serde/src/java/org/apache/hadoop/hive/serde2/avro/TypeInfoToSchema.java?rev=1629544&r1=1629543&r2=1629544&view=diff
==============================================================================
--- hive/branches/spark-new/serde/src/java/org/apache/hadoop/hive/serde2/avro/TypeInfoToSchema.java (original)
+++ hive/branches/spark-new/serde/src/java/org/apache/hadoop/hive/serde2/avro/TypeInfoToSchema.java Sun Oct  5 22:26:43 2014
@@ -19,6 +19,7 @@ package org.apache.hadoop.hive.serde2.av
 
 import org.apache.avro.Schema;
 import org.apache.hadoop.hive.serde2.objectinspector.PrimitiveObjectInspector;
+import org.apache.hadoop.hive.serde2.typeinfo.CharTypeInfo;
 import org.apache.hadoop.hive.serde2.typeinfo.DecimalTypeInfo;
 import org.apache.hadoop.hive.serde2.typeinfo.ListTypeInfo;
 import org.apache.hadoop.hive.serde2.typeinfo.MapTypeInfo;
@@ -26,6 +27,7 @@ import org.apache.hadoop.hive.serde2.typ
 import org.apache.hadoop.hive.serde2.typeinfo.StructTypeInfo;
 import org.apache.hadoop.hive.serde2.typeinfo.TypeInfo;
 import org.apache.hadoop.hive.serde2.typeinfo.UnionTypeInfo;
+import org.apache.hadoop.hive.serde2.typeinfo.VarcharTypeInfo;
 import org.codehaus.jackson.JsonNode;
 import org.codehaus.jackson.node.JsonNodeFactory;
 
@@ -105,10 +107,16 @@ public class TypeInfoToSchema {
         schema = Schema.create(Schema.Type.STRING);
         break;
       case CHAR:
-        schema = Schema.create(Schema.Type.STRING);
+        schema = AvroSerdeUtils.getSchemaFor("{" +
+            "\"type\":\"" + AvroSerDe.AVRO_STRING_TYPE_NAME + "\"," +
+            "\"logicalType\":\"" + AvroSerDe.CHAR_TYPE_NAME + "\"," +
+            "\"maxLength\":" + ((CharTypeInfo) typeInfo).getLength() + "}");
         break;
       case VARCHAR:
-        schema = Schema.create(Schema.Type.STRING);
+        schema = AvroSerdeUtils.getSchemaFor("{" +
+            "\"type\":\"" + AvroSerDe.AVRO_STRING_TYPE_NAME + "\"," +
+            "\"logicalType\":\"" + AvroSerDe.VARCHAR_TYPE_NAME + "\"," +
+            "\"maxLength\":" + ((VarcharTypeInfo) typeInfo).getLength() + "}");
         break;
       case BINARY:
         schema = Schema.create(Schema.Type.BYTES);
@@ -144,6 +152,11 @@ public class TypeInfoToSchema {
             "\"precision\":" + precision + "," +
             "\"scale\":" + scale + "}");
         break;
+      case DATE:
+        schema = AvroSerdeUtils.getSchemaFor("{" +
+            "\"type\":\"" + AvroSerDe.AVRO_INT_TYPE_NAME + "\"," +
+            "\"logicalType\":\"" + AvroSerDe.DATE_TYPE_NAME + "\"}");
+        break;
       case VOID:
         schema = Schema.create(Schema.Type.NULL);
         break;

Modified: hive/branches/spark-new/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/WritableHiveCharObjectInspector.java
URL: http://svn.apache.org/viewvc/hive/branches/spark-new/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/WritableHiveCharObjectInspector.java?rev=1629544&r1=1629543&r2=1629544&view=diff
==============================================================================
--- hive/branches/spark-new/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/WritableHiveCharObjectInspector.java (original)
+++ hive/branches/spark-new/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/WritableHiveCharObjectInspector.java Sun Oct  5 22:26:43 2014
@@ -21,6 +21,11 @@ import org.apache.hadoop.hive.common.typ
 import org.apache.hadoop.hive.serde2.io.HiveCharWritable;
 import org.apache.hadoop.hive.serde2.typeinfo.BaseCharUtils;
 import org.apache.hadoop.hive.serde2.typeinfo.CharTypeInfo;
+import org.apache.hadoop.io.Text;
+
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
+import java.nio.charset.Charset;
 
 public class WritableHiveCharObjectInspector extends AbstractPrimitiveWritableObjectInspector
     implements SettableHiveCharObjectInspector {
@@ -39,6 +44,12 @@ public class WritableHiveCharObjectInspe
     if (o == null) {
       return null;
     }
+
+    if (o instanceof Text) {
+      String str = ((Text)o).toString();
+      return new HiveChar(str, ((CharTypeInfo)typeInfo).getLength());
+    }
+
     HiveCharWritable writable = ((HiveCharWritable) o);
     if (doesWritableMatchTypeParams(writable)) {
       return writable.getHiveChar();
@@ -53,6 +64,14 @@ public class WritableHiveCharObjectInspe
     if (o == null) {
       return null;
     }
+
+    if (o instanceof Text) {
+      String str = ((Text)o).toString();
+      HiveCharWritable hcw = new HiveCharWritable();
+      hcw.set(str, ((CharTypeInfo)typeInfo).getLength());
+      return hcw;
+    }
+
     HiveCharWritable writable = ((HiveCharWritable) o);
     if (doesWritableMatchTypeParams((HiveCharWritable) o)) {
       return writable;