HBASE-731 delete, deletefc in HBase shell do not work correctly
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@675348 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
58e53ba41a
commit
975af636e8
|
@ -171,6 +171,10 @@ Trunk (unreleased changes)
|
|||
HBASE-726 Unit tests won't run because of a typo (Sebastien Rainville via Stack)
|
||||
HBASE-727 Client caught in an infinite loop when trying to connect to cached
|
||||
server locations (Izaak Rubin via Stack)
|
||||
HBASE-732 shell formatting error with the describe command
|
||||
(Izaak Rubin via Stack)
|
||||
HBASE-731 delete, deletefc in HBase shell do not work correctly
|
||||
(Izaak Rubin via Stack)
|
||||
|
||||
IMPROVEMENTS
|
||||
HBASE-559 MR example job to count table rows
|
||||
|
|
33
bin/HBase.rb
33
bin/HBase.rb
|
@ -174,14 +174,9 @@ module HBase
|
|||
end
|
||||
|
||||
# Delete a cell
|
||||
def delete(row, args)
|
||||
def delete(row, column, timestamp = HConstants::LATEST_TIMESTAMP)
|
||||
now = Time.now
|
||||
bu = nil
|
||||
if timestamp
|
||||
bu = BatchUpdate.new(row, timestamp)
|
||||
else
|
||||
bu = BatchUpdate.new(row)
|
||||
end
|
||||
bu.delete(column)
|
||||
@table.commit(bu)
|
||||
@formatter.header()
|
||||
|
@ -195,13 +190,6 @@ module HBase
|
|||
@formatter.footer(now)
|
||||
end
|
||||
|
||||
def deletefc(row, column_family, timestamp = HConstants::LATEST_TIMESTAMP)
|
||||
now = Time.now
|
||||
@table.deleteFamily(row, column_family)
|
||||
@formatter.header()
|
||||
@formatter.footer(now)
|
||||
end
|
||||
|
||||
def getAllColumns
|
||||
htd = @table.getMetadata()
|
||||
result = []
|
||||
|
@ -403,6 +391,25 @@ module HBase
|
|||
if formatter.rowCount() != 3
|
||||
raise IOError.new("Failed endrow test")
|
||||
end
|
||||
# Verify that delete works
|
||||
table.delete('x1', 'x:1');
|
||||
table.scan(['x:1'])
|
||||
scan1 = formatter.rowCount()
|
||||
table.scan(['x:'])
|
||||
scan2 = formatter.rowCount()
|
||||
if scan1 != 0 or scan2 != 9
|
||||
raise IOError.new("Failed delete test")
|
||||
end
|
||||
# Verify that deletall works
|
||||
table.put('x2', 'x:1', 'x:1')
|
||||
table.deleteall('x2')
|
||||
table.scan(['x:2'])
|
||||
scan1 = formatter.rowCount()
|
||||
table.scan(['x:'])
|
||||
scan2 = formatter.rowCount()
|
||||
if scan1 != 0 or scan2 != 8
|
||||
raise IOError.new("Failed deleteall test")
|
||||
end
|
||||
admin.disable(TESTTABLE)
|
||||
admin.drop(TESTTABLE)
|
||||
end
|
||||
|
|
29
bin/hirb.rb
29
bin/hirb.rb
|
@ -135,17 +135,15 @@ HBASE SHELL COMMANDS:
|
|||
delete Put a delete cell value at specified table/row/column and optionally
|
||||
timestamp coordinates. Deletes must match the deleted cell's
|
||||
coordinates exactly. When scanning, a delete cell suppresses older
|
||||
versions. Takes arguments like 'put' described below
|
||||
versions. Takes arguments like the 'put' command described below
|
||||
|
||||
deleteall Delete all cells; pass a table name, row and optionally, a column
|
||||
and timestamp
|
||||
|
||||
deletefc Delete all in the named column family. Pass table name and family
|
||||
|
||||
drop Drop the named table. Table must first be disabled
|
||||
deleteall Delete all cells in a given row; pass a table name, row, and optionally
|
||||
a column and timestamp
|
||||
|
||||
disable Disable the named table: e.g. "hbase> disable 't1'"
|
||||
|
||||
drop Drop the named table. Table must first be disabled
|
||||
|
||||
enable Enable the named table
|
||||
|
||||
exists Does the named table exist? e.g. "hbase> exists 't1'"
|
||||
|
@ -169,9 +167,10 @@ HBASE SHELL COMMANDS:
|
|||
hbase> put 't1', 'r1', 'c1', ts1
|
||||
|
||||
scan Scan a table; pass table name and optionally an array of column
|
||||
names and a dictionary of scanner specification that includes one
|
||||
or more of following: LIMIT, FILTER, STARTROW, STOPROW, or TIMESTAMP.
|
||||
Examples:
|
||||
names and a dictionary of scanner specification that may include
|
||||
one or more of following: LIMIT, STARTROW, STOPROW, or TIMESTAMP.
|
||||
To scan all members of a column family, leave the qualifier empty
|
||||
as in 'col_family:'. Examples:
|
||||
|
||||
hbase> scan '.META.'
|
||||
hbase> scan '.META.', ['info:regioninfo']
|
||||
|
@ -265,8 +264,9 @@ def scan(table, columns = [], args = {})
|
|||
table(table).scan(columns, args)
|
||||
end
|
||||
|
||||
def delete(table, row, *args)
|
||||
table(table).get(row, args)
|
||||
def delete(table, row, column,
|
||||
timestamp = org.apache.hadoop.hbase.HConstants::LATEST_TIMESTAMP)
|
||||
table(table).delete(row, column, timestamp)
|
||||
end
|
||||
|
||||
def deleteall(table, row, column = nil,
|
||||
|
@ -274,11 +274,6 @@ def deleteall(table, row, column = nil,
|
|||
table(table).deleteall(row, column, timestamp)
|
||||
end
|
||||
|
||||
def deletefc(table, row, column_family,
|
||||
timestamp = org.apache.hadoop.hbase.HConstants::LATEST_TIMESTAMP)
|
||||
table(table).get(row, column_family, timestamp)
|
||||
end
|
||||
|
||||
# Output a banner message that tells users where to go for help
|
||||
puts <<HERE
|
||||
HBase Shell; enter 'help<RETURN>' for list of supported commands.
|
||||
|
|
Loading…
Reference in New Issue