[ 
https://issues.apache.org/jira/browse/HADOOP-1608?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12516180
 ] 

stack commented on HADOOP-1608:
-------------------------------

Hey Edward:

This looks like a sweet addition.

A couple of comments.

{code}
HBase > meta = select --META--;
Syntax error : Type 'help' for usage: Encountered "meta" at line 1, column 2.
HBase > A = select --META--;
Syntax error : Type 'help' for usage: Encountered "select" at line 1, column 6.
HBase > meta = table('--META--');
Syntax error : Type 'help' for usage: Encountered "meta" at line 1, column 2.
HBase > A = table('--META--');   
HBase > a = table('--META--');
HBase > abc = table('--META--');
Syntax error : Type 'help' for usage: Encountered "abc" at line 1, column 2.
HBase > a
    --> ;
Syntax error : Type 'help' for usage: Encountered ";" at line 1, column 4.
{code}

Looks like variable names can only be of one character.  That seems like an 
artificial limitation.

Why can I not have select results stored to a variable?

Entering a variable name, I was expecting something to happen.  In python, the 
interpreter echos the value (but in bash it complains 'command not found').  

I shouldn't get the below
{code}
HBase > a = table('--META--');
HBase > store a to table('xyz');
Exception in thread "main" java.lang.NullPointerException
        at 
org.apache.hadoop.hbase.shell.batch.Projection.getColumns(Projection.java:89)
        at 
org.apache.hadoop.hbase.shell.batch.Projection.getConf(Projection.java:49)
        at 
org.apache.hadoop.hbase.shell.StoreCommand.execute(StoreCommand.java:38)
        at org.apache.hadoop.hbase.Shell.main(Shell.java:63)
{code}

This is a big addition yet no unit tests.  What would you think of launching a 
little minihbasecluster and then against it running your shell commands (Have 
your junit tests subclass HBaseTestCase)

A one line class javadoc comment on what the class is for would not go amiss.

In the likes of BinOperationFilter (BinaryOperationFilter would be a better 
name), why not make the filter data member private?  Same for the maps.

In the same class, you split on ' OR '.  Is this split being done on the 
product of your javacc parse or is it directly operating on user input?  If the 
latter, what if tabs or new-lines delimit the OR?

More comments to follow.... I'll post these for now (My connection is spotty)

> [HbaseShell] Relational Algrebra Operators
> ------------------------------------------
>
>                 Key: HADOOP-1608
>                 URL: https://issues.apache.org/jira/browse/HADOOP-1608
>             Project: Hadoop
>          Issue Type: Improvement
>          Components: contrib/hbase
>         Environment: All environments 
>            Reporter: edward yoon
>            Priority: Minor
>             Fix For: 0.14.0
>
>         Attachments: shell_r_operators_v01.patch, shell_v02.patch, 
> shell_v03.patch, shell_v04.patch, shell_v05.patch
>
>
> Development of relational algebra operators has begun.
>  * Projection 
>  * Selection 
>  * Product 
>  * Rename
>  * Group
>  * Sort

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to