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 2012/05/01 20:04:08 UTC

svn commit: r1332766 - in /hbase/trunk/src: main/ruby/hbase/ main/ruby/shell/commands/ test/ruby/ test/ruby/hbase/ test/ruby/shell/

Author: stack
Date: Tue May  1 18:04:07 2012
New Revision: 1332766

URL: http://svn.apache.org/viewvc?rev=1332766&view=rev
Log:
HBASE-5548 Add ability to get a table in the shell; ADDENDUM

Modified:
    hbase/trunk/src/main/ruby/hbase/table.rb
    hbase/trunk/src/main/ruby/shell/commands/count.rb
    hbase/trunk/src/main/ruby/shell/commands/deleteall.rb
    hbase/trunk/src/main/ruby/shell/commands/get_counter.rb
    hbase/trunk/src/test/ruby/hbase/admin_test.rb
    hbase/trunk/src/test/ruby/hbase/table_test.rb
    hbase/trunk/src/test/ruby/shell/commands_test.rb
    hbase/trunk/src/test/ruby/test_helper.rb

Modified: hbase/trunk/src/main/ruby/hbase/table.rb
URL: http://svn.apache.org/viewvc/hbase/trunk/src/main/ruby/hbase/table.rb?rev=1332766&r1=1332765&r2=1332766&view=diff
==============================================================================
--- hbase/trunk/src/main/ruby/hbase/table.rb (original)
+++ hbase/trunk/src/main/ruby/hbase/table.rb Tue May  1 18:04:07 2012
@@ -134,7 +134,7 @@ EOF
     #----------------------------------------------------------------------------------------------
     # Delete a cell
     def _delete_internal(row, column, timestamp = org.apache.hadoop.hbase.HConstants::LATEST_TIMESTAMP)
-      deleteall_internal(row, column, timestamp)
+      _deleteall_internal(row, column, timestamp)
     end
 
     #----------------------------------------------------------------------------------------------
@@ -432,8 +432,6 @@ EOF
 
     #----------------------------------------------------------------------------------------
     # Helper methods
-    #everthing below here is 'private' - can only be called from within the class context
-    private
 
     # Returns a list of column names in the table
     def get_all_columns

Modified: hbase/trunk/src/main/ruby/shell/commands/count.rb
URL: http://svn.apache.org/viewvc/hbase/trunk/src/main/ruby/shell/commands/count.rb?rev=1332766&r1=1332765&r2=1332766&view=diff
==============================================================================
--- hbase/trunk/src/main/ruby/shell/commands/count.rb (original)
+++ hbase/trunk/src/main/ruby/shell/commands/count.rb Tue May  1 18:04:07 2012
@@ -73,4 +73,4 @@ EOF
 end
 
 #Add the method table.count that calls count.count
-::Hbase::Table.add_shell_command("count")
+::Hbase::Table.add_shell_command("count")
\ No newline at end of file

Modified: hbase/trunk/src/main/ruby/shell/commands/deleteall.rb
URL: http://svn.apache.org/viewvc/hbase/trunk/src/main/ruby/shell/commands/deleteall.rb?rev=1332766&r1=1332765&r2=1332766&view=diff
==============================================================================
--- hbase/trunk/src/main/ruby/shell/commands/deleteall.rb (original)
+++ hbase/trunk/src/main/ruby/shell/commands/deleteall.rb Tue May  1 18:04:07 2012
@@ -45,7 +45,7 @@ EOF
 
       def deleteall(table, row, column = nil, timestamp = org.apache.hadoop.hbase.HConstants::LATEST_TIMESTAMP)
         format_simple_command do
-          table.deleteall_internal(row, column, timestamp)
+          table._deleteall_internal(row, column, timestamp)
         end
       end
     end

Modified: hbase/trunk/src/main/ruby/shell/commands/get_counter.rb
URL: http://svn.apache.org/viewvc/hbase/trunk/src/main/ruby/shell/commands/get_counter.rb?rev=1332766&r1=1332765&r2=1332766&view=diff
==============================================================================
--- hbase/trunk/src/main/ruby/shell/commands/get_counter.rb (original)
+++ hbase/trunk/src/main/ruby/shell/commands/get_counter.rb Tue May  1 18:04:07 2012
@@ -39,7 +39,8 @@ EOF
       def command(table, row, column, value)
         get_counter(table(table), row, column, value)
       end
-      def command(table, row, column, value = nil)
+
+      def get_counter(table, row, column, value = nil)
         if cnt = table._get_counter_internal(row, column)
           puts "COUNTER VALUE = #{cnt}"
         else
@@ -50,4 +51,4 @@ EOF
   end
 end
 
-::Hbase::Table.add_shell_command('get_counter')
+::Hbase::Table.add_shell_command('get_counter')
\ No newline at end of file

Modified: hbase/trunk/src/test/ruby/hbase/admin_test.rb
URL: http://svn.apache.org/viewvc/hbase/trunk/src/test/ruby/hbase/admin_test.rb?rev=1332766&r1=1332765&r2=1332766&view=diff
==============================================================================
--- hbase/trunk/src/test/ruby/hbase/admin_test.rb (original)
+++ hbase/trunk/src/test/ruby/hbase/admin_test.rb Tue May  1 18:04:07 2012
@@ -18,7 +18,11 @@
 # limitations under the License.
 #
 
+require 'shell'
+require 'shell/formatter'
 require 'hbase'
+require 'hbase/hbase'
+require 'hbase/table'
 
 include HBaseConstants
 
@@ -186,10 +190,10 @@ module Hbase
     define_test "truncate should empty a table" do
       table(@test_name).put(1, "x:a", 1)
       table(@test_name).put(2, "x:a", 2)
-      assert_equal(2, table(@test_name).count)
+      assert_equal(2, table(@test_name)._count_internal)
       # This is hacky.  Need to get the configuration into admin instance
       admin.truncate(@test_name, $TEST_CLUSTER.getConfiguration)
-      assert_equal(0, table(@test_name).count)
+      assert_equal(0, table(@test_name)._count_internal)
     end
 
     define_test "truncate should yield log records" do

Modified: hbase/trunk/src/test/ruby/hbase/table_test.rb
URL: http://svn.apache.org/viewvc/hbase/trunk/src/test/ruby/hbase/table_test.rb?rev=1332766&r1=1332765&r2=1332766&view=diff
==============================================================================
--- hbase/trunk/src/test/ruby/hbase/table_test.rb (original)
+++ hbase/trunk/src/test/ruby/hbase/table_test.rb Tue May  1 18:04:07 2012
@@ -166,11 +166,11 @@ module Hbase
 
     define_test "get_counter should work with integer keys" do
       @test_table.incr(12345, 'x:cnt')
-      assert_kind_of(Fixnum, @test_table.get_counter(12345, 'x:cnt'))
+      assert_kind_of(Fixnum, @test_table._get_counter_internal(12345, 'x:cnt'))
     end
 
     define_test "get_counter should return nil for non-existent counters" do
-      assert_nil(@test_table.get_counter(12345, 'x:qqqq'))
+      assert_nil(@test_table._get_counter_internal(12345, 'x:qqqq'))
     end
   end
 
@@ -185,7 +185,7 @@ module Hbase
       create_test_table(@test_name)
       @test_table = table(@test_name)
 
-      # Test data
+      # Instert test data
       @test_ts = 12345678
       @test_table.put(1, "x:a", 1)
       @test_table.put(1, "x:b", 2, @test_ts)
@@ -195,12 +195,12 @@ module Hbase
     end
 
     define_test "count should work w/o a block passed" do
-      assert(@test_table.count > 0)
+      assert(@test_table._count_internal > 0)
     end
 
     define_test "count should work with a block passed (and yield)" do
       rows = []
-      cnt = @test_table.count(1) do |cnt, row|
+      cnt = @test_table._count_internal(1) do |cnt, row|
         rows << row
       end
       assert(cnt > 0)
@@ -210,7 +210,7 @@ module Hbase
     #-------------------------------------------------------------------------------
 
     define_test "get should work w/o columns specification" do
-      res = @test_table.get('1')
+      res = @test_table._get_internal('1')
       assert_not_nil(res)
       assert_kind_of(Hash, res)
       assert_not_nil(res['x:a'])
@@ -218,7 +218,7 @@ module Hbase
     end
 
     define_test "get should work with integer keys" do
-      res = @test_table.get(1)
+      res = @test_table._get_internal(1)
       assert_not_nil(res)
       assert_kind_of(Hash, res)
       assert_not_nil(res['x:a'])
@@ -226,7 +226,7 @@ module Hbase
     end
 
     define_test "get should work with hash columns spec and a single string COLUMN parameter" do
-      res = @test_table.get('1', COLUMN => 'x:a')
+      res = @test_table._get_internal('1', COLUMN => 'x:a')
       assert_not_nil(res)
       assert_kind_of(Hash, res)
       assert_not_nil(res['x:a'])
@@ -234,7 +234,7 @@ module Hbase
     end
 
     define_test "get should work with hash columns spec and a single string COLUMNS parameter" do
-      res = @test_table.get('1', COLUMNS => 'x:a')
+      res = @test_table._get_internal('1', COLUMNS => 'x:a')
       assert_not_nil(res)
       assert_kind_of(Hash, res)
       assert_not_nil(res['x:a'])
@@ -242,7 +242,7 @@ module Hbase
     end
 
     define_test "get should work with hash columns spec and an array of strings COLUMN parameter" do
-      res = @test_table.get('1', COLUMN => [ 'x:a', 'x:b' ])
+      res = @test_table._get_internal('1', COLUMN => [ 'x:a', 'x:b' ])
       assert_not_nil(res)
       assert_kind_of(Hash, res)
       assert_not_nil(res['x:a'])
@@ -250,7 +250,7 @@ module Hbase
     end
 
     define_test "get should work with hash columns spec and an array of strings COLUMNS parameter" do
-      res = @test_table.get('1', COLUMNS => [ 'x:a', 'x:b' ])
+      res = @test_table._get_internal('1', COLUMNS => [ 'x:a', 'x:b' ])
       assert_not_nil(res)
       assert_kind_of(Hash, res)
       assert_not_nil(res['x:a'])
@@ -258,7 +258,7 @@ module Hbase
     end
 
     define_test "get should work with hash columns spec and TIMESTAMP only" do
-      res = @test_table.get('1', TIMESTAMP => @test_ts)
+      res = @test_table._get_internal('1', TIMESTAMP => @test_ts)
       assert_not_nil(res)
       assert_kind_of(Hash, res)
       assert_nil(res['x:a'])
@@ -267,24 +267,24 @@ module Hbase
 
     define_test "get should fail with hash columns spec and strange COLUMN value" do
       assert_raise(ArgumentError) do
-        @test_table.get('1', COLUMN => {})
+        @test_table._get_internal('1', COLUMN => {})
       end
     end
 
     define_test "get should fail with hash columns spec and strange COLUMNS value" do
       assert_raise(ArgumentError) do
-        @test_table.get('1', COLUMN => {})
+        @test_table._get_internal('1', COLUMN => {})
       end
     end
 
     define_test "get should fail with hash columns spec and no TIMESTAMP or COLUMN[S]" do
       assert_raise(ArgumentError) do
-        @test_table.get('1', { :foo => :bar })
+        @test_table._get_internal('1', { :foo => :bar })
       end
     end
 
     define_test "get should work with a string column spec" do
-      res = @test_table.get('1', 'x:b')
+      res = @test_table._get_internal('1', 'x:b')
       assert_not_nil(res)
       assert_kind_of(Hash, res)
       assert_nil(res['x:a'])
@@ -292,7 +292,7 @@ module Hbase
     end
 
     define_test "get should work with an array columns spec" do
-      res = @test_table.get('1', 'x:a', 'x:b')
+      res = @test_table._get_internal('1', 'x:a', 'x:b')
       assert_not_nil(res)
       assert_kind_of(Hash, res)
       assert_not_nil(res['x:a'])
@@ -300,7 +300,7 @@ module Hbase
     end
 
     define_test "get should work with an array or arrays columns spec (yeah, crazy)" do
-      res = @test_table.get('1', ['x:a'], ['x:b'])
+      res = @test_table._get_internal('1', ['x:a'], ['x:b'])
       assert_not_nil(res)
       assert_kind_of(Hash, res)
       assert_not_nil(res['x:a'])
@@ -309,14 +309,14 @@ module Hbase
 
     define_test "get with a block should yield (column, value) pairs" do
       res = {}
-      @test_table.get('1') { |col, val| res[col] = val }
+      @test_table._get_internal('1') { |col, val| res[col] = val }
       assert_equal(res.keys.sort, [ 'x:a', 'x:b' ])
     end
 
     #-------------------------------------------------------------------------------
 
     define_test "scan should work w/o any params" do
-      res = @test_table.scan
+      res = @test_table._scan_internal
       assert_not_nil(res)
       assert_kind_of(Hash, res)
       assert_not_nil(res['1'])
@@ -328,7 +328,7 @@ module Hbase
     end
 
     define_test "scan should support STARTROW parameter" do
-      res = @test_table.scan STARTROW => '2'
+      res = @test_table._scan_internal STARTROW => '2'
       assert_not_nil(res)
       assert_kind_of(Hash, res)
       assert_nil(res['1'])
@@ -338,7 +338,7 @@ module Hbase
     end
 
     define_test "scan should support STOPROW parameter" do
-      res = @test_table.scan STOPROW => '2'
+      res = @test_table._scan_internal STOPROW => '2'
       assert_not_nil(res)
       assert_kind_of(Hash, res)
       assert_not_nil(res['1'])
@@ -348,7 +348,7 @@ module Hbase
     end
 
     define_test "scan should support LIMIT parameter" do
-      res = @test_table.scan LIMIT => 1
+      res = @test_table._scan_internal LIMIT => 1
       assert_not_nil(res)
       assert_kind_of(Hash, res)
       assert_not_nil(res['1'])
@@ -358,7 +358,7 @@ module Hbase
     end
 
     define_test "scan should support TIMESTAMP parameter" do
-      res = @test_table.scan TIMESTAMP => @test_ts
+      res = @test_table._scan_internal TIMESTAMP => @test_ts
       assert_not_nil(res)
       assert_kind_of(Hash, res)
       assert_not_nil(res['1'])
@@ -370,7 +370,7 @@ module Hbase
     end
 
     define_test "scan should support TIMERANGE parameter" do
-      res = @test_table.scan TIMERANGE => [0, 1]
+      res = @test_table._scan_internal TIMERANGE => [0, 1]
       assert_not_nil(res)
       assert_kind_of(Hash, res)
       assert_nil(res['1'])
@@ -378,7 +378,7 @@ module Hbase
     end
 
     define_test "scan should support COLUMNS parameter with an array of columns" do
-      res = @test_table.scan COLUMNS => [ 'x:a', 'x:b' ]
+      res = @test_table._scan_internal COLUMNS => [ 'x:a', 'x:b' ]
       assert_not_nil(res)
       assert_kind_of(Hash, res)
       assert_not_nil(res['1'])
@@ -390,7 +390,7 @@ module Hbase
     end
 
     define_test "scan should support COLUMNS parameter with a single column name" do
-      res = @test_table.scan COLUMNS => 'x:a'
+      res = @test_table._scan_internal COLUMNS => 'x:a'
       assert_not_nil(res)
       assert_kind_of(Hash, res)
       assert_not_nil(res['1'])
@@ -403,19 +403,19 @@ module Hbase
 
     define_test "scan should fail on invalid COLUMNS parameter types" do
       assert_raise(ArgumentError) do
-        @test_table.scan COLUMNS => {}
+        @test_table._scan_internal COLUMNS => {}
       end
     end
 
     define_test "scan should fail on non-hash params" do
       assert_raise(ArgumentError) do
-        @test_table.scan 123
+        @test_table._scan_internal 123
       end
     end
 
     define_test "scan with a block should yield rows and return rows counter" do
       rows = {}
-      res = @test_table.scan { |row, cells| rows[row] = cells }
+      res = @test_table._scan_internal { |row, cells| rows[row] = cells }
       assert_equal(rows.keys.size, res)
     end
   end

Modified: hbase/trunk/src/test/ruby/shell/commands_test.rb
URL: http://svn.apache.org/viewvc/hbase/trunk/src/test/ruby/shell/commands_test.rb?rev=1332766&r1=1332765&r2=1332766&view=diff
==============================================================================
--- hbase/trunk/src/test/ruby/shell/commands_test.rb (original)
+++ hbase/trunk/src/test/ruby/shell/commands_test.rb Tue May  1 18:04:07 2012
@@ -18,8 +18,9 @@
 # limitations under the License.
 #
 
+require 'hbase'
+require 'hbase/table'
 require 'shell'
-require 'shell/formatter'
 
 class ShellCommandsTest < Test::Unit::TestCase
   Shell.commands.each do |name, klass|

Modified: hbase/trunk/src/test/ruby/test_helper.rb
URL: http://svn.apache.org/viewvc/hbase/trunk/src/test/ruby/test_helper.rb?rev=1332766&r1=1332765&r2=1332766&view=diff
==============================================================================
--- hbase/trunk/src/test/ruby/test_helper.rb (original)
+++ hbase/trunk/src/test/ruby/test_helper.rb Tue May  1 18:04:07 2012
@@ -37,17 +37,23 @@ end
 
 module Hbase
   module TestHelpers
+    require 'hbase'
+    require 'hbase/hbase'
+    require 'shell'
+    require 'shell/formatter'
+
     def setup_hbase
-      @formatter = Shell::Formatter::Console.new()
-      @hbase = ::Hbase::Hbase.new($TEST_CLUSTER.getConfiguration)
+      formatter = ::Shell::Formatter::Console.new
+      hbase = ::Hbase::Hbase.new($TEST_CLUSTER.getConfiguration)
+      @shell = ::Shell::Shell.new(hbase, formatter)
     end
 
     def table(table)
-      @hbase.table(table, @formatter)
+      @shell.hbase_table(table)
     end
 
     def admin
-      @hbase.admin(@formatter)
+      @shell.hbase_admin
     end
 
     def create_test_table(name)