-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://review.hbase.org/r/229/#review288
-----------------------------------------------------------



trunk/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
<http://review.hbase.org/r/229/#comment1289>

    This code does not belong in common. Please move it to ql.



trunk/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
<http://review.hbase.org/r/229/#comment1290>

    The variables varPat and MAX_SUBST both exist as private variables in the 
parent class. I think that redefining them in HiveConf will result in lots of 
confusion down the road, plus they don't really belong here. Please move this 
to a "VariableSubstitution" class located in ql.



trunk/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
<http://review.hbase.org/r/229/#comment1291>

    I like the word "interpolate" too, but I think more people are probably 
familiar with "substitute". Please change the name to HIVESUBSTITUTEVARIABLES.



trunk/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
<http://review.hbase.org/r/229/#comment1292>

    Please fix the formatting problems in this method (spaces before and after 
parens, no space between literals and operators, etc). Please run checkstyle 
and verify that you are not introducing any new checkstyle errors.



trunk/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
<http://review.hbase.org/r/229/#comment1293>

    No need to test a boolean valued method for equality to true. The logic can 
also be simplified as follows:
    
    if (!getBoolVar(ConfVars.HIVEVARIABLEINTERPOLATE)) {
      return expr;
    }
    l4j.info("Interpolation is on");
    ...
    
    Also, please move this out of the substitution function and into the 
Driver, i.e Driver.compile() calls VariableSubstitution.substitute() iff 
HIVESUBSTITUEVARIABLES == true.



trunk/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
<http://review.hbase.org/r/229/#comment1294>

    This log message is going to generate a lot of noise, and is unnecessary 
since you can determine the value using the 'set' command. Please remove it.



trunk/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
<http://review.hbase.org/r/229/#comment1295>

    Presumably there aren't going to be any properties in the HiveConf starting 
with "system:" or "env:". Please move the "env:" check before the conf check, 
and move these string comparisons outside of the try/catch blocks, e.g:
    
    private static final String SYSTEM_VAR_PREFIX = "system:";
    private static final String ENV_VAR_PREFIX = "env:";
    
    if (var.startsWith(SYSTEM_VAR_PREFIX)) {
      try {
        val = System.getProperty(var.substring(SYSTEM_VAR_PREFIX.length()));
      } catch (SecurityException se) {
        ...
      }
    } else if (var.startsWith(ENV_VAR_PREFIX)) {
      val = System.getenv(var.substring(ENV_VAR_PREFIX.length()));
    } else {
      val = ss.getConf().get(var);
    }



trunk/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
<http://review.hbase.org/r/229/#comment1303>

    I thought the plan was to also introduce a "conf:" prefix for referencing 
configuration properties, and that any value not prefixed by system/env/conf 
would map to a new variable namespace? Please add the conf prefix and introduce 
some state in the SessionState for storing variables (i.e. non System/Env/Conf 
properties).



trunk/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
<http://review.hbase.org/r/229/#comment1296>

    Please remove this log call. It will generate a lot of noise.



trunk/conf/hive-default.xml
<http://review.hbase.org/r/229/#comment1297>

    Please change the name to "hive.substitute.variables", and the description 
to "Enable variable substitution".



trunk/ql/src/java/org/apache/hadoop/hive/ql/Driver.java
<http://review.hbase.org/r/229/#comment1298>

    Check HIVESUBSTITUTEVARIABLES here.



trunk/ql/src/java/org/apache/hadoop/hive/ql/processors/SetProcessor.java
<http://review.hbase.org/r/229/#comment1299>

    Please create static final variables for "system:" and "env:" and call 
length() on these variables instead of using magic numbers.



trunk/ql/src/java/org/apache/hadoop/hive/ql/processors/SetProcessor.java
<http://review.hbase.org/r/229/#comment1300>

    I don't think you want to perform variable substitution at this point. It 
makes it impossible to create nested variables.



trunk/ql/src/java/org/apache/hadoop/hive/ql/processors/SetProcessor.java
<http://review.hbase.org/r/229/#comment1301>

    This logic for mapping variable names to values has been repeated several 
times. Please move it to a dedicated method in the VariableSubstitution class.



trunk/ql/src/java/org/apache/hadoop/hive/ql/processors/SetProcessor.java
<http://review.hbase.org/r/229/#comment1302>

    Please run checkstyle and fix any checkstyle errors that you have 
introduced.



trunk/ql/src/test/queries/clientpositive/set_processor_namespaces.q
<http://review.hbase.org/r/229/#comment1304>

    You need a test for the "env" namespace. I think this is impossible to do 
here, so you probably need to add a unit test.


- Carl


On 2010-06-23 20:02:57, Edward Capriolo wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://review.hbase.org/r/229/
> -----------------------------------------------------------
> 
> (Updated 2010-06-23 20:02:57)
> 
> 
> Review request for Hive Developers.
> 
> 
> Summary
> -------
> 
> Hive Variables
> 
> 
> This addresses bug HIVE-1096.
>     http://issues.apache.org/jira/browse/HIVE-1096
> 
> 
> Diffs
> -----
> 
>   trunk/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java 955109 
>   trunk/conf/hive-default.xml 955109 
>   trunk/ql/src/java/org/apache/hadoop/hive/ql/Driver.java 955109 
>   trunk/ql/src/java/org/apache/hadoop/hive/ql/processors/SetProcessor.java 
> 955109 
>   trunk/ql/src/test/queries/clientpositive/set_processor_namespaces.q 
> PRE-CREATION 
>   trunk/ql/src/test/results/clientpositive/set_processor_namespaces.q.out 
> PRE-CREATION 
> 
> Diff: http://review.hbase.org/r/229/diff
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Edward
> 
>

Reply via email to