You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ap...@apache.org on 2009/09/12 01:55:54 UTC
svn commit: r814087 - in /hadoop/hbase/trunk/src/contrib/stargate/src:
java/org/apache/hadoop/hbase/stargate/
java/org/apache/hadoop/hbase/stargate/model/
test/org/apache/hadoop/hbase/stargate/model/
Author: apurtell
Date: Fri Sep 11 23:55:54 2009
New Revision: 814087
URL: http://svn.apache.org/viewvc?rev=814087&view=rev
Log:
HBASE-1808 [stargate] fix how columns are specified for scanners
Modified:
hadoop/hbase/trunk/src/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/RowResource.java
hadoop/hbase/trunk/src/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/ScannerResultGenerator.java
hadoop/hbase/trunk/src/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/ModelSchema.xsd
hadoop/hbase/trunk/src/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/ScannerModel.java
hadoop/hbase/trunk/src/contrib/stargate/src/test/org/apache/hadoop/hbase/stargate/model/TestScannerModel.java
Modified: hadoop/hbase/trunk/src/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/RowResource.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/RowResource.java?rev=814087&r1=814086&r2=814087&view=diff
==============================================================================
--- hadoop/hbase/trunk/src/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/RowResource.java (original)
+++ hadoop/hbase/trunk/src/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/RowResource.java Fri Sep 11 23:55:54 2009
@@ -272,9 +272,17 @@
for (byte[] column: rowspec.getColumns()) {
byte[][] split = KeyValue.parseColumn(column);
if (rowspec.hasTimestamp()) {
- delete.deleteColumns(split[0], split[1], rowspec.getTimestamp());
+ if (split[1] != null) {
+ delete.deleteColumns(split[0], split[1], rowspec.getTimestamp());
+ } else {
+ delete.deleteFamily(split[0], rowspec.getTimestamp());
+ }
} else {
- delete.deleteColumns(split[0], split[1]);
+ if (split[1] != null) {
+ delete.deleteColumns(split[0], split[1]);
+ } else {
+ delete.deleteFamily(split[0]);
+ }
}
}
HTablePool pool;
Modified: hadoop/hbase/trunk/src/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/ScannerResultGenerator.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/ScannerResultGenerator.java?rev=814087&r1=814086&r2=814087&view=diff
==============================================================================
--- hadoop/hbase/trunk/src/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/ScannerResultGenerator.java (original)
+++ hadoop/hbase/trunk/src/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/ScannerResultGenerator.java Fri Sep 11 23:55:54 2009
@@ -56,7 +56,15 @@
scan = new Scan(rowspec.getStartRow());
}
if (rowspec.hasColumns()) {
- scan.addColumns(rowspec.getColumns());
+ byte[][] columns = rowspec.getColumns();
+ for (byte[] column: columns) {
+ byte[][] split = KeyValue.parseColumn(column);
+ if (split[1] != null) {
+ scan.addColumn(split[0], split[1]);
+ } else {
+ scan.addFamily(split[0]);
+ }
+ }
} else {
for (HColumnDescriptor family:
table.getTableDescriptor().getFamilies()) {
Modified: hadoop/hbase/trunk/src/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/ModelSchema.xsd
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/ModelSchema.xsd?rev=814087&r1=814086&r2=814087&view=diff
==============================================================================
--- hadoop/hbase/trunk/src/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/ModelSchema.xsd (original)
+++ hadoop/hbase/trunk/src/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/ModelSchema.xsd Fri Sep 11 23:55:54 2009
@@ -84,9 +84,11 @@
<element name="Scanner" type="tns:Scanner"></element>
<complexType name="Scanner">
+ <sequence>
+ <element name="column" type="base64Binary" minOccurs="0" maxOccurs="unbounded"></element>
+ </sequence>
<attribute name="startRow" type="base64Binary"></attribute>
<attribute name="endRow" type="base64Binary"></attribute>
- <attribute name="columns" type="base64Binary"></attribute>
<attribute name="batch" type="int"></attribute>
<attribute name="startTime" type="int"></attribute>
<attribute name="endTime" type="int"></attribute>
Modified: hadoop/hbase/trunk/src/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/ScannerModel.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/ScannerModel.java?rev=814087&r1=814086&r2=814087&view=diff
==============================================================================
--- hadoop/hbase/trunk/src/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/ScannerModel.java (original)
+++ hadoop/hbase/trunk/src/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/ScannerModel.java Fri Sep 11 23:55:54 2009
@@ -26,6 +26,7 @@
import java.util.List;
import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import org.apache.hadoop.hbase.HConstants;
@@ -40,9 +41,11 @@
*
* <pre>
* <complexType name="Scanner">
+ * <sequence>
+ * <element name="column" type="base64Binary" minOccurs="0" maxOccurs="unbounded"/>
+ * </sequence>
* <attribute name="startRow" type="base64Binary"></attribute>
* <attribute name="endRow" type="base64Binary"></attribute>
- * <attribute name="columns" type="base64Binary"></attribute>
* <attribute name="batch" type="int"></attribute>
* <attribute name="startTime" type="int"></attribute>
* <attribute name="endTime" type="int"></attribute>
@@ -145,9 +148,9 @@
}
/**
- * @return list of columns of interest, or empty for all
+ * @return list of columns of interest in column:qualifier format, or empty for all
*/
- @XmlAttribute(name="column")
+ @XmlElement(name="column")
public List<byte[]> getColumns() {
return columns;
}
@@ -191,6 +194,13 @@
}
/**
+ * @param columns list of columns of interest in column:qualifier format, or empty for all
+ */
+ public void setColumns(List<byte[]> columns) {
+ this.columns = columns;
+ }
+
+ /**
* @param batch the number of cells to return in batch
*/
public void setBatch(int batch) {
Modified: hadoop/hbase/trunk/src/contrib/stargate/src/test/org/apache/hadoop/hbase/stargate/model/TestScannerModel.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/contrib/stargate/src/test/org/apache/hadoop/hbase/stargate/model/TestScannerModel.java?rev=814087&r1=814086&r2=814087&view=diff
==============================================================================
--- hadoop/hbase/trunk/src/contrib/stargate/src/test/org/apache/hadoop/hbase/stargate/model/TestScannerModel.java (original)
+++ hadoop/hbase/trunk/src/contrib/stargate/src/test/org/apache/hadoop/hbase/stargate/model/TestScannerModel.java Fri Sep 11 23:55:54 2009
@@ -46,8 +46,10 @@
" startRow=\"YWJyYWNhZGFicmE=\"" +
" endTime=\"1245393318192\"" +
" endRow=\"enp5eng=\"" +
- " column=\"Y29sdW1uMQ== Y29sdW1uMjpmb28=\"" +
- " batch=\"100\"/>";
+ " batch=\"100\">" +
+ "<column>Y29sdW1uMQ==</column>" +
+ "<column>Y29sdW1uMjpmb28=</column>" +
+ "</Scanner>";
private static final String AS_PB =
"CgthYnJhY2FkYWJyYRIFenp5engaB2NvbHVtbjEaC2NvbHVtbjI6Zm9vIGQo47qL554kMLDi57mf" +