Modified: hbase/branches/0.90/src/main/resources/org/apache/hadoop/hbase/thrift/Hbase.thrift URL: http://svn.apache.org/viewvc/hbase/branches/0.90/src/main/resources/org/apache/hadoop/hbase/thrift/Hbase.thrift?rev=1073976&r1=1073975&r2=1073976&view=diff ============================================================================== --- hbase/branches/0.90/src/main/resources/org/apache/hadoop/hbase/thrift/Hbase.thrift (original) +++ hbase/branches/0.90/src/main/resources/org/apache/hadoop/hbase/thrift/Hbase.thrift Wed Feb 23 22:56:12 2011 @@ -364,6 +364,72 @@ service Hbase { 4:i64 timestamp ) throws (1:IOError io) + /** + * Get all the data for the specified table and rows at the latest + * timestamp. Returns an empty list if no rows exist. + * + * @return TRowResult containing the rows and map of columns to TCells + */ + list<TRowResult> getRows( + /** name of table */ + 1:Text tableName, + + /** row keys */ + 2:list<Text> rows + ) throws (1:IOError io) + + /** + * Get the specified columns for the specified table and rows at the latest + * timestamp. Returns an empty list if no rows exist. + * + * @return TRowResult containing the rows and map of columns to TCells + */ + list<TRowResult> getRowsWithColumns( + /** name of table */ + 1:Text tableName, + + /** row keys */ + 2:list<Text> rows + + /** List of columns to return, null for all columns */ + 3:list<Text> columns + ) throws (1:IOError io) + + /** + * Get all the data for the specified table and rows at the specified + * timestamp. Returns an empty list if no rows exist. + * + * @return TRowResult containing the rows and map of columns to TCells + */ + list<TRowResult> getRowsTs( + /** name of the table */ + 1:Text tableName, + + /** row keys */ + 2:list<Text> rows + + /** timestamp */ + 3:i64 timestamp + ) throws (1:IOError io) + + /** + * Get the specified columns for the specified table and rows at the specified + * timestamp. Returns an empty list if no rows exist. + * + * @return TRowResult containing the rows and map of columns to TCells + */ + list<TRowResult> getRowsWithColumnsTs( + /** name of table */ + 1:Text tableName, + + /** row keys */ + 2:list<Text> rows + + /** List of columns to return, null for all columns */ + 3:list<Text> columns, + 4:i64 timestamp + ) throws (1:IOError io) + /** * Apply a series of mutations (updates/deletes) to a row in a * single transaction. If an exception is thrown, then the
Modified: hbase/branches/0.90/src/test/java/org/apache/hadoop/hbase/thrift/TestThriftServer.java URL: http://svn.apache.org/viewvc/hbase/branches/0.90/src/test/java/org/apache/hadoop/hbase/thrift/TestThriftServer.java?rev=1073976&r1=1073975&r2=1073976&view=diff ============================================================================== --- hbase/branches/0.90/src/test/java/org/apache/hadoop/hbase/thrift/TestThriftServer.java (original) +++ hbase/branches/0.90/src/test/java/org/apache/hadoop/hbase/thrift/TestThriftServer.java Wed Feb 23 22:56:12 2011 @@ -184,7 +184,7 @@ public class TestThriftServer extends HB // Apply an overlapping timestamped mutation to rowB handler.mutateRowTs(tableAname, rowBname, getMutations(), time2); - // the getVerTs is [inf, ts) so you need to increment one. + // the getVerTs is [-inf, ts) so you need to increment one. time1 += 1; time2 += 2; @@ -215,6 +215,15 @@ public class TestThriftServer extends HB assertTrue(Bytes.equals(rowResult1.columns.get(columnBname).value, valueBname)); assertFalse(rowResult1.columns.containsKey(columnAname)); + // query using the getRows() api: + List<byte[]> rows = new ArrayList<byte[]>(); + rows.add(rowAname); rows.add(rowBname); + List<TRowResult> r = handler.getRows(tableAname, rows); + assertEquals(2, r.size()); + + r = handler.getRowsWithColumns(tableAname, rows, columns); + assertEquals(2, r.size()); + // Apply some timestamped deletes // this actually deletes _everything_. // nukes everything in columnB: forever.
