Modified: 
hive/trunk/ql/src/test/results/clientpositive/vectorized_math_funcs.q.out
URL: 
http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/vectorized_math_funcs.q.out?rev=1543711&r1=1543710&r2=1543711&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/vectorized_math_funcs.q.out 
(original)
+++ hive/trunk/ql/src/test/results/clientpositive/vectorized_math_funcs.q.out 
Wed Nov 20 05:40:46 2013
@@ -175,7 +175,7 @@ STAGE PLANS:
                       type: double
                       expr: abs(ctinyint)
                       type: int
-                      expr: pmod(cint, 3)
+                      expr: (cint pmod 3)
                       type: int
                       expr: sin(cdouble)
                       type: double

Modified: 
hive/trunk/ql/src/test/results/clientpositive/windowing_expressions.q.out
URL: 
http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/windowing_expressions.q.out?rev=1543711&r1=1543710&r2=1543711&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/windowing_expressions.q.out 
(original)
+++ hive/trunk/ql/src/test/results/clientpositive/windowing_expressions.q.out 
Wed Nov 20 05:40:46 2013
@@ -168,106 +168,106 @@ POSTHOOK: query: select s, si, f, si - l
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@over10k
 #### A masked pattern was here ####
-alice allen    400     76.31   337.23
-alice davidson 384     71.97   357.79
-alice king     455     2.48    395.93
-alice king     458     62.77   384.16998
-alice xylophone        485     26.21   464.05
-bob falkner    260     59.07   242.4
-bob ichabod    454     73.83   381.7
-bob polk       264     20.95   257.17
-bob underhill  454     17.6    424.94
-bob underhill  465     72.3    453.17
-bob van buren  433     6.83    398.4
-calvin ichabod 431     29.06   334.22
-david garcia   485     11.83   421.51
-ethan steinbeck        298     34.6    288.14
-fred ellison   376     96.78   330.76
-holly steinbeck        384     63.49   293.7
-holly underhill        318     9.86    269.91
-irene ellison  458     45.24   365.29
-irene underhill        307     90.3    244.19
-jessica johnson        494     48.09   490.18
-jessica king   459     92.71   452.2
-jessica white  284     62.81   209.08
-luke garcia    311     3.82    267.27
+alice allen    400     76.31   337.2299995422363
+alice davidson 384     71.97   357.79000091552734
+alice king     455     2.48    395.9300003051758
+alice king     458     62.77   384.1699981689453
+alice xylophone        485     26.21   464.04999923706055
+bob falkner    260     59.07   242.39999961853027
+bob ichabod    454     73.83   381.6999969482422
+bob polk       264     20.95   257.17000007629395
+bob underhill  454     17.6    424.9400005340576
+bob underhill  465     72.3    453.17000007629395
+bob van buren  433     6.83    398.4000015258789
+calvin ichabod 431     29.06   334.2200012207031
+david garcia   485     11.83   421.5099983215332
+ethan steinbeck        298     34.6    288.14000034332275
+fred ellison   376     96.78   330.7599983215332
+holly steinbeck        384     63.49   293.6999969482422
+holly underhill        318     9.86    269.9099998474121
+irene ellison  458     45.24   365.29000091552734
+irene underhill        307     90.3    244.18999862670898
+jessica johnson        494     48.09   490.1800000667572
+jessica king   459     92.71   452.19999980926514
+jessica white  284     62.81   209.0800018310547
+luke garcia    311     3.82    267.2700004577637
 luke young     451     6.8     429.0
-mike king      275     74.92   211.81
-oscar garcia   362     43.73   340.66
-priscilla laertes      316     22.0    296.06
-priscilla quirinius    423     63.19   362.72
-priscilla zipper       485     21.34   400.61
-quinn ellison  266     19.94   209.95
-quinn polk     507     60.28   447.66
-sarah robinson 320     84.39   309.74
-tom polk       346     56.05   320.33
-ulysses ellison        381     59.34   358.66
-ulysses quirinius      303     10.26   259.6
-ulysses robinson       313     25.67   269.31
-ulysses steinbeck      333     22.34   270.61
+mike king      275     74.92   211.81000137329102
+oscar garcia   362     43.73   340.6599998474121
+priscilla laertes      316     22.0    296.0599994659424
+priscilla quirinius    423     63.19   362.7200012207031
+priscilla zipper       485     21.34   400.61000061035156
+quinn ellison  266     19.94   209.95000076293945
+quinn polk     507     60.28   447.6599998474121
+sarah robinson 320     84.39   309.73999977111816
+tom polk       346     56.05   320.32999992370605
+ulysses ellison        381     59.34   358.6599998474121
+ulysses quirinius      303     10.26   259.5999984741211
+ulysses robinson       313     25.67   269.310001373291
+ulysses steinbeck      333     22.34   270.61000061035156
 victor allen   337     43.4    311.5
-victor hernandez       447     43.69   375.22
-victor xylophone       438     62.39   424.33
+victor hernandez       447     43.69   375.2200012207031
+victor xylophone       438     62.39   424.32999992370605
 wendy quirinius        279     25.5    250.25
-wendy robinson 275     71.78   262.88
-wendy xylophone        314     13.67   295.73
-xavier garcia  493     28.75   474.56
-zach thompson  386     12.12   377.63
-zach young     286     18.27   263.65
-alice falkner  280     18.44   227.7
-bob ellison    339     8.37    300.95
-bob johnson    374     22.35   326.49
-calvin white   280     52.3    198.32
-david carson   270     38.05   255.77
-david falkner  469     47.51   388.35
-david hernandez        408     81.68   339.27
-ethan underhill        339     14.23   256.26
+wendy robinson 275     71.78   262.8800001144409
+wendy xylophone        314     13.67   295.7299995422363
+xavier garcia  493     28.75   474.5599994659424
+zach thompson  386     12.12   377.6300001144409
+zach young     286     18.27   263.6499996185303
+alice falkner  280     18.44   227.70000076293945
+bob ellison    339     8.37    300.95000076293945
+bob johnson    374     22.35   326.4900016784668
+calvin white   280     52.3    198.31999969482422
+david carson   270     38.05   255.77000045776367
+david falkner  469     47.51   388.3499984741211
+david hernandez        408     81.68   339.2699966430664
+ethan underhill        339     14.23   256.26000213623047
 gabriella brown        498     80.65   413.25
-holly nixon    505     68.73   440.71
-holly polk     268     82.74   182.04001
-holly thompson 387     84.75   298.22
-irene young    458     64.29   401.8
-jessica miller 299     85.96   243.41
-katie ichabod  469     88.78   385.61
-luke ichabod   289     56.2    286.74
-luke king      337     55.59   274.88
-mike allen     465     83.39   383.03
-mike polk      500     2.26    427.74
-mike white     454     62.12   430.78
-mike xylophone 448     81.97   447.17
-nick nixon     335     72.26   240.78
-nick robinson  350     23.22   294.59
-oscar davidson 432     0.83    420.93
-oscar johnson  315     94.22   233.05
-oscar johnson  469     55.41   468.44
-oscar miller   324     11.07   265.19
-rachel davidson        507     81.95   468.78
-rachel thompson        344     0.56    246.12
-sarah miller   386     58.81   304.36
-sarah xylophone        275     38.22   177.48999
-sarah zipper   376     97.88   294.61
-tom hernandez  467     81.64   459.9
-tom hernandez  477     97.51   415.19
-tom steinbeck  414     81.39   361.87
-ulysses carson 343     7.1     314.22
+holly nixon    505     68.73   440.70999908447266
+holly polk     268     82.74   182.04000091552734
+holly thompson 387     84.75   298.2200012207031
+irene young    458     64.29   401.79999923706055
+jessica miller 299     85.96   243.4099998474121
+katie ichabod  469     88.78   385.61000061035156
+luke ichabod   289     56.2    286.74000000953674
+luke king      337     55.59   274.88000106811523
+mike allen     465     83.39   383.0299987792969
+mike polk      500     2.26    427.73999786376953
+mike white     454     62.12   430.7800006866455
+mike xylophone 448     81.97   447.1700000166893
+nick nixon     335     72.26   240.77999877929688
+nick robinson  350     23.22   294.5900001525879
+oscar davidson 432     0.83    420.9300003051758
+oscar johnson  315     94.22   233.0500030517578
+oscar johnson  469     55.41   468.4399999976158
+oscar miller   324     11.07   265.189998626709
+rachel davidson        507     81.95   468.7799987792969
+rachel thompson        344     0.56    246.12000274658203
+sarah miller   386     58.81   304.36000061035156
+sarah xylophone        275     38.22   177.48999786376953
+sarah zipper   376     97.88   294.61000061035156
+tom hernandez  467     81.64   459.90000009536743
+tom hernandez  477     97.51   415.189998626709
+tom steinbeck  414     81.39   361.86999893188477
+ulysses carson 343     7.1     314.2199993133545
 victor robinson        415     61.81   349.5
 victor thompson        344     52.13   NULL
 xavier ovid    280     28.78   NULL
 yuri xylophone 430     65.5    NULL
-alice underhill        389     26.68   368.06
-alice underhill        446     6.49    444.21
-bob ovid       331     67.12   236.43
-bob van buren  406     20.94   383.32
-david falkner  406     1.79    374.34
-david miller   450     94.57   380.13
-ethan allen    380     22.68   375.6
-ethan king     395     31.66   361.51
-ethan nixon    475     69.87   431.39
-ethan polk     283     4.4     243.82
-fred allen     331     33.49   281.68
-fred king      511     43.61   457.22
-fred polk      261     39.18   248.73
-fred young     303     49.32   221.51001
+alice underhill        389     26.68   368.0599994659424
+alice underhill        446     6.49    444.210000038147
+bob ovid       331     67.12   236.43000030517578
+bob van buren  406     20.94   383.3199996948242
+david falkner  406     1.79    374.3400001525879
+david miller   450     94.57   380.12999725341797
+ethan allen    380     22.68   375.59999990463257
+ethan king     395     31.66   361.5099983215332
+ethan nixon    475     69.87   431.38999938964844
+ethan polk     283     4.4     243.81999969482422
+fred allen     331     33.49   281.6800003051758
+fred king      511     43.61   457.2200012207031
+fred polk      261     39.18   248.72999954223633
+fred young     303     49.32   221.51000213623047
 PREHOOK: query: select s, i, i - lead(i, 3, 0) over (partition by si order by 
i,s) from over10k limit 100
 PREHOOK: type: QUERY
 PREHOOK: Input: default@over10k

Modified: hive/trunk/ql/src/test/results/compiler/plan/cast1.q.xml
URL: 
http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/compiler/plan/cast1.q.xml?rev=1543711&r1=1543710&r2=1543711&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/compiler/plan/cast1.q.xml (original)
+++ hive/trunk/ql/src/test/results/compiler/plan/cast1.q.xml Wed Nov 20 
05:40:46 2013
@@ -498,17 +498,7 @@
                      </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.UDFOPPlus</string> 
-                      </void> 
-                      <void property="udfName"> 
-                       <string>+</string> 
-                      </void> 
-                     </object> 
+                     <object 
class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPPlus"/> 
                     </void> 
                     <void property="typeInfo"> 
                      <object idref="PrimitiveTypeInfo0"/> 
@@ -543,17 +533,7 @@
                      </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.UDFOPPlus</string> 
-                      </void> 
-                      <void property="udfName"> 
-                       <string>+</string> 
-                      </void> 
-                     </object> 
+                     <object 
class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPPlus"/> 
                     </void> 
                     <void property="typeInfo"> 
                      <object idref="PrimitiveTypeInfo1"/> 
@@ -588,17 +568,7 @@
                      </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.UDFOPPlus</string> 
-                      </void> 
-                      <void property="udfName"> 
-                       <string>+</string> 
-                      </void> 
-                     </object> 
+                     <object 
class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPPlus"/> 
                     </void> 
                     <void property="typeInfo"> 
                      <object idref="PrimitiveTypeInfo1"/> 
@@ -633,17 +603,7 @@
                      </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.UDFOPPlus</string> 
-                      </void> 
-                      <void property="udfName"> 
-                       <string>+</string> 
-                      </void> 
-                     </object> 
+                     <object 
class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPPlus"/> 
                     </void> 
                     <void property="typeInfo"> 
                      <object idref="PrimitiveTypeInfo1"/> 
@@ -678,17 +638,7 @@
                      </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.UDFOPPlus</string> 
-                      </void> 
-                      <void property="udfName"> 
-                       <string>+</string> 
-                      </void> 
-                     </object> 
+                     <object 
class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPPlus"/> 
                     </void> 
                     <void property="typeInfo"> 
                      <object idref="PrimitiveTypeInfo0"/> 

Modified: hive/trunk/ql/src/test/results/compiler/plan/input20.q.xml
URL: 
http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/compiler/plan/input20.q.xml?rev=1543711&r1=1543710&r2=1543711&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/compiler/plan/input20.q.xml (original)
+++ hive/trunk/ql/src/test/results/compiler/plan/input20.q.xml Wed Nov 20 
05:40:46 2013
@@ -587,17 +587,7 @@
                  </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.UDFOPMod</string> 
-                  </void> 
-                  <void property="udfName"> 
-                   <string>%</string> 
-                  </void> 
-                 </object> 
+                 <object 
class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPMod"/> 
                 </void> 
                 <void property="typeInfo"> 
                  <object id="PrimitiveTypeInfo2" 
class="org.apache.hadoop.hive.serde2.typeinfo.PrimitiveTypeInfo"> 
@@ -639,17 +629,7 @@
                  </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.UDFOPMod</string> 
-                  </void> 
-                  <void property="udfName"> 
-                   <string>%</string> 
-                  </void> 
-                 </object> 
+                 <object 
class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPMod"/> 
                 </void> 
                 <void property="typeInfo"> 
                  <object idref="PrimitiveTypeInfo2"/> 

Modified: hive/trunk/ql/src/test/results/compiler/plan/input8.q.xml
URL: 
http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/compiler/plan/input8.q.xml?rev=1543711&r1=1543710&r2=1543711&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/compiler/plan/input8.q.xml (original)
+++ hive/trunk/ql/src/test/results/compiler/plan/input8.q.xml Wed Nov 20 
05:40:46 2013
@@ -202,7 +202,7 @@
                       </void> 
                       <void method="put"> 
                        <string>columns.types</string> 
-                       <string>int:double:tinyint</string> 
+                       <string>double:double:double</string> 
                       </void> 
                       <void method="put"> 
                        <string>escape.delim</string> 
@@ -258,12 +258,12 @@
                       <void property="type"> 
                        <object id="PrimitiveTypeInfo0" 
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> 
@@ -276,11 +276,7 @@
                        <string></string> 
                       </void> 
                       <void property="type"> 
-                       <object id="PrimitiveTypeInfo1" 
class="org.apache.hadoop.hive.serde2.typeinfo.PrimitiveTypeInfo"> 
-                        <void property="typeName"> 
-                         <string>double</string> 
-                        </void> 
-                       </object> 
+                       <object idref="PrimitiveTypeInfo0"/> 
                       </void> 
                       <void property="typeName"> 
                        <string>double</string> 
@@ -296,14 +292,10 @@
                        <string></string> 
                       </void> 
                       <void property="type"> 
-                       <object id="PrimitiveTypeInfo2" 
class="org.apache.hadoop.hive.serde2.typeinfo.PrimitiveTypeInfo"> 
-                        <void property="typeName"> 
-                         <string>tinyint</string> 
-                        </void> 
-                       </object> 
+                       <object idref="PrimitiveTypeInfo0"/> 
                       </void> 
                       <void property="typeName"> 
-                       <string>tinyint</string> 
+                       <string>double</string> 
                       </void> 
                      </object> 
                     </void> 
@@ -331,20 +323,10 @@
                  </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.UDFOPPlus</string> 
-                  </void> 
-                  <void property="udfName"> 
-                   <string>+</string> 
-                  </void> 
-                 </object> 
+                 <object 
class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPPlus"/> 
                 </void> 
                 <void property="typeInfo"> 
-                 <object idref="PrimitiveTypeInfo2"/> 
+                 <object idref="PrimitiveTypeInfo0"/> 
                 </void> 
                </object> 
               </void> 
@@ -362,7 +344,7 @@
                      <string>src1</string> 
                     </void> 
                     <void property="typeInfo"> 
-                     <object id="PrimitiveTypeInfo3" 
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> 
@@ -376,20 +358,10 @@
                  </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.UDFOPMinus</string> 
-                  </void> 
-                  <void property="udfName"> 
-                   <string>-</string> 
-                  </void> 
-                 </object> 
+                 <object 
class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPMinus"/> 
                 </void> 
                 <void property="typeInfo"> 
-                 <object idref="PrimitiveTypeInfo1"/> 
+                 <object idref="PrimitiveTypeInfo0"/> 
                 </void> 
                </object> 
               </void> 
@@ -401,7 +373,11 @@
                   <void method="add"> 
                    <object 
class="org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc"> 
                     <void property="typeInfo"> 
-                     <object idref="PrimitiveTypeInfo0"/> 
+                     <object 
class="org.apache.hadoop.hive.serde2.typeinfo.PrimitiveTypeInfo"> 
+                      <void property="typeName"> 
+                       <string>int</string> 
+                      </void> 
+                     </object> 
                     </void> 
                     <void property="value"> 
                      <int>4</int> 
@@ -414,17 +390,7 @@
                  </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.UDFOPPlus</string> 
-                  </void> 
-                  <void property="udfName"> 
-                   <string>+</string> 
-                  </void> 
-                 </object> 
+                 <object 
class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPPlus"/> 
                 </void> 
                 <void property="typeInfo"> 
                  <object idref="PrimitiveTypeInfo0"/> 
@@ -505,7 +471,7 @@
                    <object idref="PrimitiveTypeInfo0"/> 
                   </void> 
                   <void property="typeName"> 
-                   <string>int</string> 
+                   <string>double</string> 
                   </void> 
                  </object> 
                 </void> 
@@ -518,7 +484,7 @@
                    <string>_col1</string> 
                   </void> 
                   <void property="type"> 
-                   <object idref="PrimitiveTypeInfo1"/> 
+                   <object idref="PrimitiveTypeInfo0"/> 
                   </void> 
                   <void property="typeName"> 
                    <string>double</string> 
@@ -534,10 +500,10 @@
                    <string>_col2</string> 
                   </void> 
                   <void property="type"> 
-                   <object idref="PrimitiveTypeInfo2"/> 
+                   <object idref="PrimitiveTypeInfo0"/> 
                   </void> 
                   <void property="typeName"> 
-                   <string>tinyint</string> 
+                   <string>double</string> 
                   </void> 
                  </object> 
                 </void> 
@@ -605,7 +571,7 @@
                <string>src1</string> 
               </void> 
               <void property="type"> 
-               <object idref="PrimitiveTypeInfo3"/> 
+               <object idref="PrimitiveTypeInfo1"/> 
               </void> 
               <void property="typeName"> 
                <string>string</string> 
@@ -621,7 +587,7 @@
                <string>src1</string> 
               </void> 
               <void property="type"> 
-               <object idref="PrimitiveTypeInfo3"/> 
+               <object idref="PrimitiveTypeInfo1"/> 
               </void> 
               <void property="typeName"> 
                <string>string</string> 
@@ -663,7 +629,7 @@
                <string>src1</string> 
               </void> 
               <void property="type"> 
-               <object idref="PrimitiveTypeInfo3"/> 
+               <object idref="PrimitiveTypeInfo1"/> 
               </void> 
               <void property="typeName"> 
                <string>string</string> 

Modified: hive/trunk/ql/src/test/results/compiler/plan/join2.q.xml
URL: 
http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/compiler/plan/join2.q.xml?rev=1543711&r1=1543710&r2=1543711&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/compiler/plan/join2.q.xml (original)
+++ hive/trunk/ql/src/test/results/compiler/plan/join2.q.xml Wed Nov 20 
05:40:46 2013
@@ -379,17 +379,7 @@
                        </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.UDFOPPlus</string> 
-                        </void> 
-                        <void property="udfName"> 
-                         <string>+</string> 
-                        </void> 
-                       </object> 
+                       <object 
class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPPlus"/> 
                       </void> 
                       <void property="typeInfo"> 
                        <object id="PrimitiveTypeInfo1" 
class="org.apache.hadoop.hive.serde2.typeinfo.PrimitiveTypeInfo"> 

Modified: hive/trunk/ql/src/test/results/compiler/plan/sample1.q.xml
URL: 
http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/compiler/plan/sample1.q.xml?rev=1543711&r1=1543710&r2=1543711&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/compiler/plan/sample1.q.xml (original)
+++ hive/trunk/ql/src/test/results/compiler/plan/sample1.q.xml Wed Nov 20 
05:40:46 2013
@@ -669,17 +669,7 @@
                      </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.UDFOPMod</string> 
-                      </void> 
-                      <void property="udfName"> 
-                       <string>%</string> 
-                      </void> 
-                     </object> 
+                     <object 
class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPMod"/> 
                     </void> 
                     <void property="typeInfo"> 
                      <object idref="PrimitiveTypeInfo1"/> 

Modified: hive/trunk/ql/src/test/results/compiler/plan/sample2.q.xml
URL: 
http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/compiler/plan/sample2.q.xml?rev=1543711&r1=1543710&r2=1543711&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/compiler/plan/sample2.q.xml (original)
+++ hive/trunk/ql/src/test/results/compiler/plan/sample2.q.xml Wed Nov 20 
05:40:46 2013
@@ -988,17 +988,7 @@
                      </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.UDFOPMod</string> 
-                      </void> 
-                      <void property="udfName"> 
-                       <string>%</string> 
-                      </void> 
-                     </object> 
+                     <object 
class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPMod"/> 
                     </void> 
                     <void property="typeInfo"> 
                      <object idref="PrimitiveTypeInfo1"/> 

Modified: hive/trunk/ql/src/test/results/compiler/plan/sample3.q.xml
URL: 
http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/compiler/plan/sample3.q.xml?rev=1543711&r1=1543710&r2=1543711&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/compiler/plan/sample3.q.xml (original)
+++ hive/trunk/ql/src/test/results/compiler/plan/sample3.q.xml Wed Nov 20 
05:40:46 2013
@@ -1001,17 +1001,7 @@
                      </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.UDFOPMod</string> 
-                      </void> 
-                      <void property="udfName"> 
-                       <string>%</string> 
-                      </void> 
-                     </object> 
+                     <object 
class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPMod"/> 
                     </void> 
                     <void property="typeInfo"> 
                      <object idref="PrimitiveTypeInfo1"/> 

Modified: hive/trunk/ql/src/test/results/compiler/plan/sample4.q.xml
URL: 
http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/compiler/plan/sample4.q.xml?rev=1543711&r1=1543710&r2=1543711&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/compiler/plan/sample4.q.xml (original)
+++ hive/trunk/ql/src/test/results/compiler/plan/sample4.q.xml Wed Nov 20 
05:40:46 2013
@@ -988,17 +988,7 @@
                      </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.UDFOPMod</string> 
-                      </void> 
-                      <void property="udfName"> 
-                       <string>%</string> 
-                      </void> 
-                     </object> 
+                     <object 
class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPMod"/> 
                     </void> 
                     <void property="typeInfo"> 
                      <object idref="PrimitiveTypeInfo1"/> 

Modified: hive/trunk/ql/src/test/results/compiler/plan/sample5.q.xml
URL: 
http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/compiler/plan/sample5.q.xml?rev=1543711&r1=1543710&r2=1543711&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/compiler/plan/sample5.q.xml (original)
+++ hive/trunk/ql/src/test/results/compiler/plan/sample5.q.xml Wed Nov 20 
05:40:46 2013
@@ -988,17 +988,7 @@
                      </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.UDFOPMod</string> 
-                      </void> 
-                      <void property="udfName"> 
-                       <string>%</string> 
-                      </void> 
-                     </object> 
+                     <object 
class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPMod"/> 
                     </void> 
                     <void property="typeInfo"> 
                      <object idref="PrimitiveTypeInfo1"/> 

Modified: hive/trunk/ql/src/test/results/compiler/plan/sample6.q.xml
URL: 
http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/compiler/plan/sample6.q.xml?rev=1543711&r1=1543710&r2=1543711&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/compiler/plan/sample6.q.xml (original)
+++ hive/trunk/ql/src/test/results/compiler/plan/sample6.q.xml Wed Nov 20 
05:40:46 2013
@@ -988,17 +988,7 @@
                      </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.UDFOPMod</string> 
-                      </void> 
-                      <void property="udfName"> 
-                       <string>%</string> 
-                      </void> 
-                     </object> 
+                     <object 
class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPMod"/> 
                     </void> 
                     <void property="typeInfo"> 
                      <object idref="PrimitiveTypeInfo1"/> 

Modified: hive/trunk/ql/src/test/results/compiler/plan/sample7.q.xml
URL: 
http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/compiler/plan/sample7.q.xml?rev=1543711&r1=1543710&r2=1543711&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/compiler/plan/sample7.q.xml (original)
+++ hive/trunk/ql/src/test/results/compiler/plan/sample7.q.xml Wed Nov 20 
05:40:46 2013
@@ -989,17 +989,7 @@
                          </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.UDFOPMod</string> 
-                          </void> 
-                          <void property="udfName"> 
-                           <string>%</string> 
-                          </void> 
-                         </object> 
+                         <object 
class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPMod"/> 
                         </void> 
                         <void property="typeInfo"> 
                          <object idref="PrimitiveTypeInfo1"/> 

Modified: hive/trunk/ql/src/test/results/compiler/plan/udf4.q.xml
URL: 
http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/compiler/plan/udf4.q.xml?rev=1543711&r1=1543710&r2=1543711&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/compiler/plan/udf4.q.xml (original)
+++ hive/trunk/ql/src/test/results/compiler/plan/udf4.q.xml Wed Nov 20 05:40:46 
2013
@@ -1103,17 +1103,7 @@
                  </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.UDFOPPlus</string> 
-                  </void> 
-                  <void property="udfName"> 
-                   <string>+</string> 
-                  </void> 
-                 </object> 
+                 <object 
class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPPlus"/> 
                 </void> 
                 <void property="typeInfo"> 
                  <object idref="PrimitiveTypeInfo2"/> 
@@ -1148,17 +1138,7 @@
                  </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.UDFOPPlus</string> 
-                  </void> 
-                  <void property="udfName"> 
-                   <string>+</string> 
-                  </void> 
-                 </object> 
+                 <object 
class="org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPPlus"/> 
                 </void> 
                 <void property="typeInfo"> 
                  <object idref="PrimitiveTypeInfo2"/> 

Modified: 
hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/PrimitiveObjectInspector.java
URL: 
http://svn.apache.org/viewvc/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/PrimitiveObjectInspector.java?rev=1543711&r1=1543710&r2=1543711&view=diff
==============================================================================
--- 
hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/PrimitiveObjectInspector.java
 (original)
+++ 
hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/PrimitiveObjectInspector.java
 Wed Nov 20 05:40:46 2013
@@ -80,4 +80,14 @@ public interface PrimitiveObjectInspecto
    */
   boolean preferWritable();
 
+  /**
+   * The precision of the underlying data.
+   */
+  int precision();
+
+  /**
+   * The scale of the underlying data.
+   */
+  int scale();
+
 }

Modified: 
hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/AbstractPrimitiveObjectInspector.java
URL: 
http://svn.apache.org/viewvc/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/AbstractPrimitiveObjectInspector.java?rev=1543711&r1=1543710&r2=1543711&view=diff
==============================================================================
--- 
hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/AbstractPrimitiveObjectInspector.java
 (original)
+++ 
hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/AbstractPrimitiveObjectInspector.java
 Wed Nov 20 05:40:46 2013
@@ -18,6 +18,7 @@
 package org.apache.hadoop.hive.serde2.objectinspector.primitive;
 
 import org.apache.hadoop.hive.serde2.objectinspector.PrimitiveObjectInspector;
+import org.apache.hadoop.hive.serde2.typeinfo.HiveDecimalUtils;
 import org.apache.hadoop.hive.serde2.typeinfo.PrimitiveTypeInfo;
 
 /**
@@ -86,4 +87,20 @@ public abstract class AbstractPrimitiveO
     return this.typeInfo;
   }
 
+  /**
+   * Default implementation.  Maybe overridden by exact types.
+   */
+  @Override
+  public int precision() {
+    return HiveDecimalUtils.getPrecisionForType(typeInfo);
+  }
+
+  /**
+   * Default implementation.  Maybe overridden by exact types.
+   */
+  @Override
+  public int scale() {
+    return HiveDecimalUtils.getScaleForType(typeInfo);
+  }
+
 }

Modified: 
hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/WritableConstantByteObjectInspector.java
URL: 
http://svn.apache.org/viewvc/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/WritableConstantByteObjectInspector.java?rev=1543711&r1=1543710&r2=1543711&view=diff
==============================================================================
--- 
hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/WritableConstantByteObjectInspector.java
 (original)
+++ 
hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/WritableConstantByteObjectInspector.java
 Wed Nov 20 05:40:46 2013
@@ -17,9 +17,10 @@
  */
 package org.apache.hadoop.hive.serde2.objectinspector.primitive;
 
-import org.apache.hadoop.hive.serde2.objectinspector.ConstantObjectInspector;
+import java.math.BigDecimal;
 
 import org.apache.hadoop.hive.serde2.io.ByteWritable;
+import org.apache.hadoop.hive.serde2.objectinspector.ConstantObjectInspector;
 
 /**
  * A WritableConstantByteObjectInspector is a WritableByteObjectInspector
@@ -34,6 +35,7 @@ public class WritableConstantByteObjectI
   protected WritableConstantByteObjectInspector() {
     super();
   }
+
   WritableConstantByteObjectInspector(ByteWritable value) {
     super();
     this.value = value;
@@ -43,4 +45,10 @@ public class WritableConstantByteObjectI
   public ByteWritable getWritableConstantValue() {
     return value;
   }
+
+  @Override
+  public int precision() {
+    return BigDecimal.valueOf(value.get()).precision();
+  }
+
 }

Modified: 
hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/WritableConstantHiveDecimalObjectInspector.java
URL: 
http://svn.apache.org/viewvc/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/WritableConstantHiveDecimalObjectInspector.java?rev=1543711&r1=1543710&r2=1543711&view=diff
==============================================================================
--- 
hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/WritableConstantHiveDecimalObjectInspector.java
 (original)
+++ 
hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/WritableConstantHiveDecimalObjectInspector.java
 Wed Nov 20 05:40:46 2013
@@ -56,4 +56,14 @@ implements ConstantObjectInspector {
     return new HiveDecimalWritable(dec);
   }
 
+  @Override
+  public int precision() {
+    return value.getHiveDecimal().precision();
+  }
+
+  @Override
+  public int scale() {
+    return value.getHiveDecimal().scale();
+  }
+
 }

Modified: 
hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/WritableConstantIntObjectInspector.java
URL: 
http://svn.apache.org/viewvc/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/WritableConstantIntObjectInspector.java?rev=1543711&r1=1543710&r2=1543711&view=diff
==============================================================================
--- 
hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/WritableConstantIntObjectInspector.java
 (original)
+++ 
hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/WritableConstantIntObjectInspector.java
 Wed Nov 20 05:40:46 2013
@@ -17,8 +17,9 @@
  */
 package org.apache.hadoop.hive.serde2.objectinspector.primitive;
 
-import org.apache.hadoop.hive.serde2.objectinspector.ConstantObjectInspector;
+import java.math.BigDecimal;
 
+import org.apache.hadoop.hive.serde2.objectinspector.ConstantObjectInspector;
 import org.apache.hadoop.io.IntWritable;
 
 /**
@@ -34,6 +35,7 @@ public class WritableConstantIntObjectIn
   protected WritableConstantIntObjectInspector() {
     super();
   }
+
   WritableConstantIntObjectInspector(IntWritable value) {
     super();
     this.value = value;
@@ -43,4 +45,10 @@ public class WritableConstantIntObjectIn
   public IntWritable getWritableConstantValue() {
     return value;
   }
+
+  @Override
+  public int precision() {
+    return BigDecimal.valueOf(value.get()).precision();
+  }
+
 }

Modified: 
hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/WritableConstantLongObjectInspector.java
URL: 
http://svn.apache.org/viewvc/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/WritableConstantLongObjectInspector.java?rev=1543711&r1=1543710&r2=1543711&view=diff
==============================================================================
--- 
hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/WritableConstantLongObjectInspector.java
 (original)
+++ 
hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/WritableConstantLongObjectInspector.java
 Wed Nov 20 05:40:46 2013
@@ -17,8 +17,9 @@
  */
 package org.apache.hadoop.hive.serde2.objectinspector.primitive;
 
-import org.apache.hadoop.hive.serde2.objectinspector.ConstantObjectInspector;
+import java.math.BigDecimal;
 
+import org.apache.hadoop.hive.serde2.objectinspector.ConstantObjectInspector;
 import org.apache.hadoop.io.LongWritable;
 
 /**
@@ -34,6 +35,7 @@ public class WritableConstantLongObjectI
   protected WritableConstantLongObjectInspector() {
     super();
   }
+
   WritableConstantLongObjectInspector(LongWritable value) {
     super();
     this.value = value;
@@ -43,4 +45,10 @@ public class WritableConstantLongObjectI
   public LongWritable getWritableConstantValue() {
     return value;
   }
+
+  @Override
+  public int precision() {
+    return BigDecimal.valueOf(value.get()).precision();
+  }
+
 }

Modified: 
hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/WritableConstantShortObjectInspector.java
URL: 
http://svn.apache.org/viewvc/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/WritableConstantShortObjectInspector.java?rev=1543711&r1=1543710&r2=1543711&view=diff
==============================================================================
--- 
hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/WritableConstantShortObjectInspector.java
 (original)
+++ 
hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/WritableConstantShortObjectInspector.java
 Wed Nov 20 05:40:46 2013
@@ -17,9 +17,10 @@
  */
 package org.apache.hadoop.hive.serde2.objectinspector.primitive;
 
-import org.apache.hadoop.hive.serde2.objectinspector.ConstantObjectInspector;
+import java.math.BigDecimal;
 
 import org.apache.hadoop.hive.serde2.io.ShortWritable;
+import org.apache.hadoop.hive.serde2.objectinspector.ConstantObjectInspector;
 
 /**
  * A WritableConstantShortObjectInspector is a WritableShortObjectInspector
@@ -34,6 +35,7 @@ public class WritableConstantShortObject
   protected WritableConstantShortObjectInspector() {
     super();
   }
+
   WritableConstantShortObjectInspector(ShortWritable value) {
     super();
     this.value = value;
@@ -43,4 +45,10 @@ public class WritableConstantShortObject
   public ShortWritable getWritableConstantValue() {
     return value;
   }
+
+  @Override
+  public int precision() {
+    return BigDecimal.valueOf(value.get()).precision();
+  }
+
 }

Modified: 
hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/HiveDecimalUtils.java
URL: 
http://svn.apache.org/viewvc/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/HiveDecimalUtils.java?rev=1543711&r1=1543710&r2=1543711&view=diff
==============================================================================
--- 
hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/HiveDecimalUtils.java
 (original)
+++ 
hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/HiveDecimalUtils.java
 Wed Nov 20 05:40:46 2013
@@ -67,10 +67,7 @@ public class HiveDecimalUtils {
   }
 
   /**
-   * Get the precision of double type can be tricky. While a double may have 
more digits than
-   * a HiveDecimal can hold, in reality those numbers are of no practical use. 
Thus, we assume
-   * that a double can have at most HiveDecimal.MAX_PRECISION, which is 
generous enough. This
-   * implies that casting a double to a decimal type is always valid.
+   * Need to keep consistent with JdbcColumn.columnPrecision
    *
    */
   public static int getPrecisionForType(PrimitiveTypeInfo typeInfo) {
@@ -78,7 +75,9 @@ public class HiveDecimalUtils {
     case DECIMAL:
       return ((DecimalTypeInfo)typeInfo).precision();
     case FLOAT:
-      return 23;
+      return 7;
+    case DOUBLE:
+      return 15;
     case BYTE:
       return 3;
     case SHORT:
@@ -87,16 +86,15 @@ public class HiveDecimalUtils {
       return 10;
     case LONG:
       return 19;
+    case VOID:
+      return 1;
     default:
       return HiveDecimal.MAX_PRECISION;
     }
   }
 
   /**
-   * Get the scale of double type can be tricky. While a double may have more 
decimal digits than
-   * HiveDecimal, in reality those numbers are of no practical use. Thus, we 
assume that a double
-   * can have at most HiveDecimal.MAX_SCALE, which is generous enough. This 
implies implies that
-   * casting a double to a decimal type is always valid.
+   * Need to keep consistent with JdbcColumn.columnScale()
    *
    */
   public static int getScaleForType(PrimitiveTypeInfo typeInfo) {
@@ -105,13 +103,13 @@ public class HiveDecimalUtils {
       return ((DecimalTypeInfo)typeInfo).scale();
     case FLOAT:
       return 7;
+    case DOUBLE:
+      return 15;
     case BYTE:
-      return 0;
     case SHORT:
-      return 0;
     case INT:
-      return 0;
     case LONG:
+    case VOID:
       return 0;
     default:
       return HiveDecimal.MAX_SCALE;


Reply via email to