You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by st...@apache.org on 2009/09/23 05:11:49 UTC
svn commit: r817948 - in /hadoop/hbase/branches/0.20: CHANGES.txt
bin/Formatter.rb bin/hirb.rb
Author: stack
Date: Wed Sep 23 03:11:49 2009
New Revision: 817948
URL: http://svn.apache.org/viewvc?rev=817948&view=rev
Log:
HBASE-1859 Misc shell fixes patch
Modified:
hadoop/hbase/branches/0.20/CHANGES.txt
hadoop/hbase/branches/0.20/bin/Formatter.rb
hadoop/hbase/branches/0.20/bin/hirb.rb
Modified: hadoop/hbase/branches/0.20/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.20/CHANGES.txt?rev=817948&r1=817947&r2=817948&view=diff
==============================================================================
--- hadoop/hbase/branches/0.20/CHANGES.txt (original)
+++ hadoop/hbase/branches/0.20/CHANGES.txt Wed Sep 23 03:11:49 2009
@@ -28,6 +28,7 @@
HBASE-1857 WrongRegionException when setting region online after .META.
split (Cosmin Lehane via Stack)
HBASE-1809 NPE thrown in BoundedRangeFileInputStream
+ HBASE-1859 Misc shell fixes patch (Kyle Oba via Stack)
IMPROVEMENTS
HBASE-1819 Update to 0.20.1 hadoop and zk 3.2.1
Modified: hadoop/hbase/branches/0.20/bin/Formatter.rb
URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.20/bin/Formatter.rb?rev=817948&r1=817947&r2=817948&view=diff
==============================================================================
--- hadoop/hbase/branches/0.20/bin/Formatter.rb (original)
+++ hadoop/hbase/branches/0.20/bin/Formatter.rb Wed Sep 23 03:11:49 2009
@@ -2,12 +2,20 @@
module Formatter
# Base abstract class for results formatting.
class Formatter
+ def is_kernel?(obj)
+ obj.kind_of?(Module) and obj.name == "Kernel"
+ end
+
# Takes an output stream and a print width.
- def initialize(o, w = 100)
- raise TypeError.new("Type %s of parameter %s is not IO" % [o.class, o]) \
- unless o.instance_of? IO
- @out = o
- @maxWidth = w
+ def initialize(opts={})
+ defaults = {:output_stream => Kernel, :format_width => 100}
+ options = defaults.merge(opts)
+
+ @out = options[:output_stream]
+ raise TypeError.new("Type %s of parameter %s is not IO" % [@out.class, @out]) \
+ unless @out.instance_of? IO or is_kernel?(@out)
+
+ @maxWidth = options[:format_width]
@rowCount = 0
end
@@ -27,7 +35,7 @@
end
if args.class == String
output(@maxWidth, args)
- puts
+ @out.puts
return
end
# TODO: Look at the type. Is it RowResult?
@@ -35,7 +43,7 @@
splits = split(@maxWidth, dump(args[0]))
for l in splits
output(@maxWidth, l)
- puts
+ @out.puts
end
elsif args.length == 2
col1width = (not widths or widths.length == 0) ? @maxWidth / 4 : @maxWidth * widths[0] / 100
@@ -57,7 +65,7 @@
@out.print(" ")
output(col2width, splits2[index])
index += 1
- puts
+ @out.puts
end
else
# Print a space to set off multi-column rows
Modified: hadoop/hbase/branches/0.20/bin/hirb.rb
URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.20/bin/hirb.rb?rev=817948&r1=817947&r2=817948&view=diff
==============================================================================
--- hadoop/hbase/branches/0.20/bin/hirb.rb (original)
+++ hadoop/hbase/branches/0.20/bin/hirb.rb Wed Sep 23 03:11:49 2009
@@ -71,7 +71,8 @@
ARGV.delete(arg)
end
# Presume console format.
-@formatter = Formatter::Console.new(STDOUT, format_width)
+# Formatter takes an :output_stream parameter, if you don't want STDOUT.
+@formatter = Formatter::Console.new(:format_width => format_width)
# TODO, etc. @formatter = Formatter::XHTML.new(STDOUT)
# Setup the HBase module. Create a configuration.
@@ -100,9 +101,6 @@
promoteConstants(org.apache.hadoop.hbase.HTableDescriptor.constants)
promoteConstants(HBase.constants)
-# If script2run, try running it. Will go on to run the shell unless
-# script calls 'exit' or 'exit 0' or 'exit errcode'.
-load(script2run) if script2run
# Start of the hbase shell commands.
@@ -428,6 +426,12 @@
admin().split(tableNameOrRegionName)
end
+
+# If script2run, try running it. Will go on to run the shell unless
+# script calls 'exit' or 'exit 0' or 'exit errcode'.
+load(script2run) if script2run
+
+
# Output a banner message that tells users where to go for help
puts <<HERE
HBase Shell; enter 'help<RETURN>' for list of supported commands.