[
https://issues.apache.org/jira/browse/HBASE-487?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12605780#action_12605780
]
stack commented on HBASE-487:
-----------------------------
New commit on this issue. Comments below. All methods are in place as of this
commit. Need to do a little more testing before closing.
{code}
M src/test/org/apache/hadoop/hbase/TestBloomFilters.java
Constant named changed From DEFAULT_MAX_VALUE_LENGTH to DEFAULT_LENGTH
M src/java/org/apache/hadoop/hbase/HColumnDescriptor.java
Changed MAX_LENGTH to LENGTH and dropped MAX from DEFAULT_MAX_LENGTH
M src/java/org/apache/hadoop/hbase/HConstants.java
Added NAME and VERSIONS
M src/java/org/apache/hadoop/hbase/regionserver/HStore.java
Make the delete of data file recursive; when its not, just fails because
data file exists
M
src/java/org/apache/hadoop/hbase/regionserver/NoSuchColumnFamilyException.java
Don't retry these exceptions.
M src/java/org/apache/hadoop/hbase/HRegionInfo.java
NAME define moved to HConstants
M src/java/org/apache/hadoop/hbase/master/TableOperation.java
Pass String to TNFE rather than byte array.
M src/java/org/apache/hadoop/hbase/io/Cell.java
Add constructor that takes a String
M src/java/org/apache/hadoop/hbase/io/BatchOperation.java
Add Constructor that takes String
M src/java/org/apache/hadoop/hbase/client/HTable.java
Add timestamp argument to the deleteFamily methods.
M src/java/org/apache/hadoop/hbase/client/HConnectionManager.java
toString byte arrays in exception construction
M bin/HBase.rb
Moved java includes here out of hirb.
Added bunch of defines.
Added implementations for scan, delete*, put, get, etc.
Added little test suite.
M bin/Formatter.rb
Fixup.
M bin/hirb.rb
Filled out help and filled out missing methods.
{code}
> Replace hql w/ a hbase-friendly jirb or jython shell
> ----------------------------------------------------
>
> Key: HBASE-487
> URL: https://issues.apache.org/jira/browse/HBASE-487
> Project: Hadoop HBase
> Issue Type: Wish
> Reporter: stack
> Assignee: stack
> Priority: Minor
> Fix For: 0.2.0
>
> Attachments: 487-added-formatter.patch, better-hirb.patch,
> groovy-2.patch, groovy.patch, jruby.patch, module_in_bin.patch, rb.patch
>
>
> The hbase shell is a useful admin and debugging tool but it has a couple of
> downsides. To extend, a fragile parser definition needs tinkering-with and
> new java classes must be added. The current test suite for hql is lacking
> coverage and the current code could do with a rewrite having evolved
> piecemeal. Another downside is that the presence of an HQL interpreter gives
> the mis-impression that hbase is like a SQL database.
> This 'wish' issue suggests that we jettison HQL and instead offer users a
> jirb or jython command line. We'd ship with some scripts and jruby/jython
> classes that we'd source on startup to do things like import base client
> classes -- so folks wouldn't have to remember all the packages stuff sat in
> -- and added a pretty-print for scanners and getters outputting text, xhtml
> or binary. They would also make it easy to do HQL-things in jruby/python
> script.
> Advantages: Already-written parser with no need of extension probing deeper
> into hbase: i.e. better for debugging than HQL could ever be. Easy extension
> adding scripts/modules rather than java code. Less likely hbase could be
> confused for a SQL db.
> Downsides: Probably more verbose. Requires ruby or python knowledge
> ("Everyone knows some sql"). Big? (jruby lib is 24M).
> I was going to write security as downside but HQL suffers this at the moment
> too -- though it has been possible to sort the updates from the selects in
> the UI to prevent modification of the db from the UI, something that would be
> hard to do in a jruby/jython parser.
> What do others think?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.