You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ji...@apache.org on 2008/09/11 19:04:42 UTC
svn commit: r694352 - in /hadoop/hbase/trunk: CHANGES.txt
src/java/org/apache/hadoop/hbase/io/BatchUpdate.java
src/test/org/apache/hadoop/hbase/client/TestBatchUpdate.java
Author: jimk
Date: Thu Sep 11 10:04:39 2008
New Revision: 694352
URL: http://svn.apache.org/viewvc?rev=694352&view=rev
Log:
HBASE-882 The BatchUpdate class provides, put(col, cell) and delete(col) but no get() (Ryan Smith via Stack and Jim Kellerman)
Modified:
hadoop/hbase/trunk/CHANGES.txt
hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/io/BatchUpdate.java
hadoop/hbase/trunk/src/test/org/apache/hadoop/hbase/client/TestBatchUpdate.java
Modified: hadoop/hbase/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/CHANGES.txt?rev=694352&r1=694351&r2=694352&view=diff
==============================================================================
--- hadoop/hbase/trunk/CHANGES.txt (original)
+++ hadoop/hbase/trunk/CHANGES.txt Thu Sep 11 10:04:39 2008
@@ -64,8 +64,6 @@
splits (Jonathan Gray via Stack)
HBASE-877 HCM is unable to find table with multiple regions which contains
binary (Jonathan Gray via Stack)
- HBASE-822 The BatchUpdate class provides, put(col, cell) and delete(col)
- but no get() (Ryan Smith via Stack)
IMPROVEMENTS
HBASE-801 When a table haven't disable, shell could response in a "user
@@ -89,6 +87,8 @@
HBASE-871 Major compaction periodicity should be specifyable at the column
family level, not cluster wide (Jonathan Gray via Stack)
HBASE-465 Fix javadoc for all public declarations
+ HBASE-882 The BatchUpdate class provides, put(col, cell) and delete(col)
+ but no get() (Ryan Smith via Stack and Jim Kellerman)
NEW FEATURES
HBASE-787 Postgresql to HBase table replication example (Tim Sell via Stack)
Modified: hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/io/BatchUpdate.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/io/BatchUpdate.java?rev=694352&r1=694351&r2=694352&view=diff
==============================================================================
--- hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/io/BatchUpdate.java (original)
+++ hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/io/BatchUpdate.java Thu Sep 11 10:04:39 2008
@@ -143,6 +143,43 @@
return null;
}
+ /**
+ * Get the current columns
+ *
+ * @return byte[][] an array of byte[] columns
+ */
+ public synchronized byte[][] getColumns() {
+ byte[][] columns = new byte[operations.size()][];
+ for (int i = 0; i < operations.size(); i++) {
+ columns[i] = operations.get(i).getColumn();
+ }
+ return columns;
+ }
+
+ /**
+ * Check if the specified column is currently assigned a value
+ *
+ * @param column column to check for
+ * @return boolean true if the given column exists
+ */
+ public synchronized boolean hasColumn(String column) {
+ return hasColumn(Bytes.toBytes(column));
+ }
+
+ /**
+ * Check if the specified column is currently assigned a value
+ *
+ * @param column column to check for
+ * @return boolean true if the given column exists
+ */
+ public synchronized boolean hasColumn(byte[] column) {
+ byte[] getColumn = get(column);
+ if (getColumn == null) {
+ return false;
+ }
+ return true;
+ }
+
/**
* Change a value for the specified column
*
Modified: hadoop/hbase/trunk/src/test/org/apache/hadoop/hbase/client/TestBatchUpdate.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/test/org/apache/hadoop/hbase/client/TestBatchUpdate.java?rev=694352&r1=694351&r2=694352&view=diff
==============================================================================
--- hadoop/hbase/trunk/src/test/org/apache/hadoop/hbase/client/TestBatchUpdate.java (original)
+++ hadoop/hbase/trunk/src/test/org/apache/hadoop/hbase/client/TestBatchUpdate.java Thu Sep 11 10:04:39 2008
@@ -86,7 +86,12 @@
bu = new BatchUpdate("row2");
bu.put(CONTENTS, value);
- byte[] getValue = bu.get(CONTENTS);
+ byte[][] getColumns = bu.getColumns();
+ assertEquals(getColumns.length, 1);
+ assertTrue(Arrays.equals(getColumns[0], CONTENTS));
+ assertTrue(bu.hasColumn(CONTENTS));
+ assertFalse(bu.hasColumn(new byte[] {}));
+ byte[] getValue = bu.get(getColumns[0]);
assertTrue(Arrays.equals(getValue, value));
table.commit(bu);