[ https://issues.apache.org/jira/browse/HADOOP-1720?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12524819 ]
stack commented on HADOOP-1720: ------------------------------- Hey Edward: A few things before committing the patch: You made the patch on a machine that has different line-ending settings from that of the source you were making the patch against. To the patch program, it looks as though every line has changed though most of the time it is only the line-endings that differ. This makes it hard distingushing legitimate changes. I fixed up the patch and regenerated a new v13 that has changes only including a few of my own: + DESC and DESCRIBE were present in the help listings (I removed DESC). + I removed the clear of the screen on shell launch. I hope you do not mind. I've found the automatic clearing of screen a little annoying. Usually I need something from the screen such as a command to copy. + I fixed the help for create tables to add parens around column families (Looks like they are needed going by the below). {code} Hbase > help create; CREATE Create tables Syntax: CREATE TABLE table_name column_family_spec [, column_family_spec] ... column_family_spec: column_family_name [MAX_VERSIONS=n] [MAX_LENGTH=n] [COMPRESSION=NONE|RECORD|BLOCK] [IN_MEMORY] [BLOOMFILTER=NONE|BLOOM|COUNTING|RETOUCHED VECTOR_SIZE=n NUM_HASH=n] Hbase > create table x y; Syntax error : Type 'help;' for usage. org.apache.hadoop.hbase.shell.generated.ParseException: Encountered "y" at line 1, column 17. Was expecting: "(" ... {code} Other issues: + Naming column families, it looks like the ':' terminating colon is optional. Is this intentional? Would be less confusing if it just required them or not especially as later when I try to insert values, its required: {code} Hbase > insert into x (y) values ('xxx') where row='z'; org.apache.hadoop.hbase.InvalidColumnNameException: y is missing the colon family/qualifier separator {code} + The console table formatting seems broken (Try doing a select on the '-ROOT-' table. + Single vs. double quotes is inconsistent: {code} Hbase > insert into x (y) values ('xxx') where row="z"; Syntax error : Type 'help;' for usage. org.apache.hadoop.hbase.shell.generated.ParseException: Encountered "\"z\"" at line 1, column 45. Was expecting: <STRING_LITERAL> ... {code} Above you have example of column names having double quotes but when I try to use them on a row name I get the above complaint. Here is another example where I try to double quote a column name making an insert: {code} Hbase > insert into x ("y:y") values ('xxx') where row="z"; Syntax error : Type 'help;' for usage. org.apache.hadoop.hbase.shell.generated.ParseException: Encountered "\"z\"" at line 1, column 49. Was expecting: <STRING_LITERAL> ... {code} I'd suggest that double-quotes are either allowed everywhere or they are allowed nowhere. Why is it complaining about the following: {code} Hbase > insert into x ('y:y') values ('xxx') where row='z'; Syntax error : Type 'help;' for usage. org.apache.hadoop.hbase.shell.generated.ParseException: Encountered "\'y:y\'" at line 1, column 17. Was expecting one of: "*" ... <ID> ... <QUOTED_ID> ... {code} 'y:' is a column family for table 'x' (It looks like INSERT does not want quotes around the column which makes it so if column name has spaces, I cannot insert values). > [HbaseShell] Addition of HQL (Hbase Query Language) support in Hbase Shell > -------------------------------------------------------------------------- > > Key: HADOOP-1720 > URL: https://issues.apache.org/jira/browse/HADOOP-1720 > Project: Hadoop > Issue Type: Improvement > Components: contrib/hbase > Affects Versions: 0.14.0 > Environment: all environments > Reporter: Inchul Song > Priority: Minor > Fix For: 0.15.0 > > Attachments: hql_v01.patch, hql_v02.patch, hql_v03.patch, > hql_v04.patch, hql_v05.patch, hql_v06.patch, hql_v07.patch, hql_v08.patch, > hql_v09.patch, hql_v10.patch, hql_v11.patch, hql_v12.patch > > > We have defined the HQL (Hbase Query Language), which is a "more" SQL-like > query language for Hbase, for use in Hbase Shell. HQL is not intended to > fully support the SQL syntax and semantics. HQL, instead, is developed to > make it easy to manipulate tables in Hbase through the Hbase Shell command > line, without using programming APIs. > You can find more information about HQL in > http://wiki.apache.org/lucene-hadoop/Hbase/HbaseShell/HQL. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.