You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ns...@apache.org on 2011/10/11 19:43:32 UTC
svn commit: r1181946 [3/3] - in /hbase/branches/0.89/src/main:
java/org/apache/hadoop/hbase/thrift/
java/org/apache/hadoop/hbase/thrift/generated/
resources/org/apache/hadoop/hbase/thrift/
Added: hbase/branches/0.89/src/main/java/org/apache/hadoop/hbase/thrift/generated/TScan.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.89/src/main/java/org/apache/hadoop/hbase/thrift/generated/TScan.java?rev=1181946&view=auto
==============================================================================
--- hbase/branches/0.89/src/main/java/org/apache/hadoop/hbase/thrift/generated/TScan.java (added)
+++ hbase/branches/0.89/src/main/java/org/apache/hadoop/hbase/thrift/generated/TScan.java Tue Oct 11 17:43:31 2011
@@ -0,0 +1,796 @@
+/**
+ * Autogenerated by Thrift
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ */
+package org.apache.hadoop.hbase.thrift.generated;
+
+import org.apache.commons.lang.builder.HashCodeBuilder;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.EnumMap;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.EnumSet;
+import java.util.Collections;
+import java.util.BitSet;
+import java.util.Arrays;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import org.apache.thrift.*;
+import org.apache.thrift.meta_data.*;
+import org.apache.thrift.protocol.*;
+
+/**
+ * A Scan object is used to specify scanner parameters when opening a scanner.
+ */
+public class TScan implements TBase<TScan._Fields>, java.io.Serializable, Cloneable, Comparable<TScan> {
+ private static final TStruct STRUCT_DESC = new TStruct("TScan");
+
+ private static final TField START_ROW_FIELD_DESC = new TField("startRow", TType.STRING, (short)1);
+ private static final TField STOP_ROW_FIELD_DESC = new TField("stopRow", TType.STRING, (short)2);
+ private static final TField TIMESTAMP_FIELD_DESC = new TField("timestamp", TType.I64, (short)3);
+ private static final TField COLUMNS_FIELD_DESC = new TField("columns", TType.LIST, (short)4);
+ private static final TField CACHING_FIELD_DESC = new TField("caching", TType.I32, (short)5);
+ private static final TField FILTER_STRING_FIELD_DESC = new TField("filterString", TType.STRING, (short)6);
+
+ public byte[] startRow;
+ public byte[] stopRow;
+ public long timestamp;
+ public List<byte[]> columns;
+ public int caching;
+ public byte[] filterString;
+
+ /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+ public enum _Fields implements TFieldIdEnum {
+ START_ROW((short)1, "startRow"),
+ STOP_ROW((short)2, "stopRow"),
+ TIMESTAMP((short)3, "timestamp"),
+ COLUMNS((short)4, "columns"),
+ CACHING((short)5, "caching"),
+ FILTER_STRING((short)6, "filterString");
+
+ private static final Map<Integer, _Fields> byId = new HashMap<Integer, _Fields>();
+ private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+ static {
+ for (_Fields field : EnumSet.allOf(_Fields.class)) {
+ byId.put((int)field._thriftId, field);
+ byName.put(field.getFieldName(), field);
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, or null if its not found.
+ */
+ public static _Fields findByThriftId(int fieldId) {
+ return byId.get(fieldId);
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, throwing an exception
+ * if it is not found.
+ */
+ public static _Fields findByThriftIdOrThrow(int fieldId) {
+ _Fields fields = findByThriftId(fieldId);
+ if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+ return fields;
+ }
+
+ /**
+ * Find the _Fields constant that matches name, or null if its not found.
+ */
+ public static _Fields findByName(String name) {
+ return byName.get(name);
+ }
+
+ private final short _thriftId;
+ private final String _fieldName;
+
+ _Fields(short thriftId, String fieldName) {
+ _thriftId = thriftId;
+ _fieldName = fieldName;
+ }
+
+ public short getThriftFieldId() {
+ return _thriftId;
+ }
+
+ public String getFieldName() {
+ return _fieldName;
+ }
+ }
+
+ // isset id assignments
+ private static final int __TIMESTAMP_ISSET_ID = 0;
+ private static final int __CACHING_ISSET_ID = 1;
+ private BitSet __isset_bit_vector = new BitSet(2);
+
+ public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{
+ put(_Fields.START_ROW, new FieldMetaData("startRow", TFieldRequirementType.OPTIONAL,
+ new FieldValueMetaData(TType.STRING)));
+ put(_Fields.STOP_ROW, new FieldMetaData("stopRow", TFieldRequirementType.OPTIONAL,
+ new FieldValueMetaData(TType.STRING)));
+ put(_Fields.TIMESTAMP, new FieldMetaData("timestamp", TFieldRequirementType.OPTIONAL,
+ new FieldValueMetaData(TType.I64)));
+ put(_Fields.COLUMNS, new FieldMetaData("columns", TFieldRequirementType.OPTIONAL,
+ new ListMetaData(TType.LIST,
+ new FieldValueMetaData(TType.STRING))));
+ put(_Fields.CACHING, new FieldMetaData("caching", TFieldRequirementType.OPTIONAL,
+ new FieldValueMetaData(TType.I32)));
+ put(_Fields.FILTER_STRING, new FieldMetaData("filterString", TFieldRequirementType.OPTIONAL,
+ new FieldValueMetaData(TType.STRING)));
+ }});
+
+ static {
+ FieldMetaData.addStructMetaDataMap(TScan.class, metaDataMap);
+ }
+
+ public TScan() {
+ }
+
+ /**
+ * Performs a deep copy on <i>other</i>.
+ */
+ public TScan(TScan other) {
+ __isset_bit_vector.clear();
+ __isset_bit_vector.or(other.__isset_bit_vector);
+ if (other.isSetStartRow()) {
+ this.startRow = other.startRow;
+ }
+ if (other.isSetStopRow()) {
+ this.stopRow = other.stopRow;
+ }
+ this.timestamp = other.timestamp;
+ if (other.isSetColumns()) {
+ List<byte[]> __this__columns = new ArrayList<byte[]>();
+ for (byte[] other_element : other.columns) {
+ __this__columns.add(other_element);
+ }
+ this.columns = __this__columns;
+ }
+ this.caching = other.caching;
+ if (other.isSetFilterString()) {
+ this.filterString = other.filterString;
+ }
+ }
+
+ public TScan deepCopy() {
+ return new TScan(this);
+ }
+
+ @Deprecated
+ public TScan clone() {
+ return new TScan(this);
+ }
+
+ public byte[] getStartRow() {
+ return this.startRow;
+ }
+
+ public TScan setStartRow(byte[] startRow) {
+ this.startRow = startRow;
+ return this;
+ }
+
+ public void unsetStartRow() {
+ this.startRow = null;
+ }
+
+ /** Returns true if field startRow is set (has been asigned a value) and false otherwise */
+ public boolean isSetStartRow() {
+ return this.startRow != null;
+ }
+
+ public void setStartRowIsSet(boolean value) {
+ if (!value) {
+ this.startRow = null;
+ }
+ }
+
+ public byte[] getStopRow() {
+ return this.stopRow;
+ }
+
+ public TScan setStopRow(byte[] stopRow) {
+ this.stopRow = stopRow;
+ return this;
+ }
+
+ public void unsetStopRow() {
+ this.stopRow = null;
+ }
+
+ /** Returns true if field stopRow is set (has been asigned a value) and false otherwise */
+ public boolean isSetStopRow() {
+ return this.stopRow != null;
+ }
+
+ public void setStopRowIsSet(boolean value) {
+ if (!value) {
+ this.stopRow = null;
+ }
+ }
+
+ public long getTimestamp() {
+ return this.timestamp;
+ }
+
+ public TScan setTimestamp(long timestamp) {
+ this.timestamp = timestamp;
+ setTimestampIsSet(true);
+ return this;
+ }
+
+ public void unsetTimestamp() {
+ __isset_bit_vector.clear(__TIMESTAMP_ISSET_ID);
+ }
+
+ /** Returns true if field timestamp is set (has been asigned a value) and false otherwise */
+ public boolean isSetTimestamp() {
+ return __isset_bit_vector.get(__TIMESTAMP_ISSET_ID);
+ }
+
+ public void setTimestampIsSet(boolean value) {
+ __isset_bit_vector.set(__TIMESTAMP_ISSET_ID, value);
+ }
+
+ public int getColumnsSize() {
+ return (this.columns == null) ? 0 : this.columns.size();
+ }
+
+ public java.util.Iterator<byte[]> getColumnsIterator() {
+ return (this.columns == null) ? null : this.columns.iterator();
+ }
+
+ public void addToColumns(byte[] elem) {
+ if (this.columns == null) {
+ this.columns = new ArrayList<byte[]>();
+ }
+ this.columns.add(elem);
+ }
+
+ public List<byte[]> getColumns() {
+ return this.columns;
+ }
+
+ public TScan setColumns(List<byte[]> columns) {
+ this.columns = columns;
+ return this;
+ }
+
+ public void unsetColumns() {
+ this.columns = null;
+ }
+
+ /** Returns true if field columns is set (has been asigned a value) and false otherwise */
+ public boolean isSetColumns() {
+ return this.columns != null;
+ }
+
+ public void setColumnsIsSet(boolean value) {
+ if (!value) {
+ this.columns = null;
+ }
+ }
+
+ public int getCaching() {
+ return this.caching;
+ }
+
+ public TScan setCaching(int caching) {
+ this.caching = caching;
+ setCachingIsSet(true);
+ return this;
+ }
+
+ public void unsetCaching() {
+ __isset_bit_vector.clear(__CACHING_ISSET_ID);
+ }
+
+ /** Returns true if field caching is set (has been asigned a value) and false otherwise */
+ public boolean isSetCaching() {
+ return __isset_bit_vector.get(__CACHING_ISSET_ID);
+ }
+
+ public void setCachingIsSet(boolean value) {
+ __isset_bit_vector.set(__CACHING_ISSET_ID, value);
+ }
+
+ public byte[] getFilterString() {
+ return this.filterString;
+ }
+
+ public TScan setFilterString(byte[] filterString) {
+ this.filterString = filterString;
+ return this;
+ }
+
+ public void unsetFilterString() {
+ this.filterString = null;
+ }
+
+ /** Returns true if field filterString is set (has been asigned a value) and false otherwise */
+ public boolean isSetFilterString() {
+ return this.filterString != null;
+ }
+
+ public void setFilterStringIsSet(boolean value) {
+ if (!value) {
+ this.filterString = null;
+ }
+ }
+
+ public void setFieldValue(_Fields field, Object value) {
+ switch (field) {
+ case START_ROW:
+ if (value == null) {
+ unsetStartRow();
+ } else {
+ setStartRow((byte[])value);
+ }
+ break;
+
+ case STOP_ROW:
+ if (value == null) {
+ unsetStopRow();
+ } else {
+ setStopRow((byte[])value);
+ }
+ break;
+
+ case TIMESTAMP:
+ if (value == null) {
+ unsetTimestamp();
+ } else {
+ setTimestamp((Long)value);
+ }
+ break;
+
+ case COLUMNS:
+ if (value == null) {
+ unsetColumns();
+ } else {
+ setColumns((List<byte[]>)value);
+ }
+ break;
+
+ case CACHING:
+ if (value == null) {
+ unsetCaching();
+ } else {
+ setCaching((Integer)value);
+ }
+ break;
+
+ case FILTER_STRING:
+ if (value == null) {
+ unsetFilterString();
+ } else {
+ setFilterString((byte[])value);
+ }
+ break;
+
+ }
+ }
+
+ public void setFieldValue(int fieldID, Object value) {
+ setFieldValue(_Fields.findByThriftIdOrThrow(fieldID), value);
+ }
+
+ public Object getFieldValue(_Fields field) {
+ switch (field) {
+ case START_ROW:
+ return getStartRow();
+
+ case STOP_ROW:
+ return getStopRow();
+
+ case TIMESTAMP:
+ return new Long(getTimestamp());
+
+ case COLUMNS:
+ return getColumns();
+
+ case CACHING:
+ return new Integer(getCaching());
+
+ case FILTER_STRING:
+ return getFilterString();
+
+ }
+ throw new IllegalStateException();
+ }
+
+ public Object getFieldValue(int fieldId) {
+ return getFieldValue(_Fields.findByThriftIdOrThrow(fieldId));
+ }
+
+ /** Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise */
+ public boolean isSet(_Fields field) {
+ switch (field) {
+ case START_ROW:
+ return isSetStartRow();
+ case STOP_ROW:
+ return isSetStopRow();
+ case TIMESTAMP:
+ return isSetTimestamp();
+ case COLUMNS:
+ return isSetColumns();
+ case CACHING:
+ return isSetCaching();
+ case FILTER_STRING:
+ return isSetFilterString();
+ }
+ throw new IllegalStateException();
+ }
+
+ public boolean isSet(int fieldID) {
+ return isSet(_Fields.findByThriftIdOrThrow(fieldID));
+ }
+
+ @Override
+ public boolean equals(Object that) {
+ if (that == null)
+ return false;
+ if (that instanceof TScan)
+ return this.equals((TScan)that);
+ return false;
+ }
+
+ public boolean equals(TScan that) {
+ if (that == null)
+ return false;
+
+ boolean this_present_startRow = true && this.isSetStartRow();
+ boolean that_present_startRow = true && that.isSetStartRow();
+ if (this_present_startRow || that_present_startRow) {
+ if (!(this_present_startRow && that_present_startRow))
+ return false;
+ if (!java.util.Arrays.equals(this.startRow, that.startRow))
+ return false;
+ }
+
+ boolean this_present_stopRow = true && this.isSetStopRow();
+ boolean that_present_stopRow = true && that.isSetStopRow();
+ if (this_present_stopRow || that_present_stopRow) {
+ if (!(this_present_stopRow && that_present_stopRow))
+ return false;
+ if (!java.util.Arrays.equals(this.stopRow, that.stopRow))
+ return false;
+ }
+
+ boolean this_present_timestamp = true && this.isSetTimestamp();
+ boolean that_present_timestamp = true && that.isSetTimestamp();
+ if (this_present_timestamp || that_present_timestamp) {
+ if (!(this_present_timestamp && that_present_timestamp))
+ return false;
+ if (this.timestamp != that.timestamp)
+ return false;
+ }
+
+ boolean this_present_columns = true && this.isSetColumns();
+ boolean that_present_columns = true && that.isSetColumns();
+ if (this_present_columns || that_present_columns) {
+ if (!(this_present_columns && that_present_columns))
+ return false;
+ if (!this.columns.equals(that.columns))
+ return false;
+ }
+
+ boolean this_present_caching = true && this.isSetCaching();
+ boolean that_present_caching = true && that.isSetCaching();
+ if (this_present_caching || that_present_caching) {
+ if (!(this_present_caching && that_present_caching))
+ return false;
+ if (this.caching != that.caching)
+ return false;
+ }
+
+ boolean this_present_filterString = true && this.isSetFilterString();
+ boolean that_present_filterString = true && that.isSetFilterString();
+ if (this_present_filterString || that_present_filterString) {
+ if (!(this_present_filterString && that_present_filterString))
+ return false;
+ if (!java.util.Arrays.equals(this.filterString, that.filterString))
+ return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ HashCodeBuilder builder = new HashCodeBuilder();
+
+ boolean present_startRow = true && (isSetStartRow());
+ builder.append(present_startRow);
+ if (present_startRow)
+ builder.append(startRow);
+
+ boolean present_stopRow = true && (isSetStopRow());
+ builder.append(present_stopRow);
+ if (present_stopRow)
+ builder.append(stopRow);
+
+ boolean present_timestamp = true && (isSetTimestamp());
+ builder.append(present_timestamp);
+ if (present_timestamp)
+ builder.append(timestamp);
+
+ boolean present_columns = true && (isSetColumns());
+ builder.append(present_columns);
+ if (present_columns)
+ builder.append(columns);
+
+ boolean present_caching = true && (isSetCaching());
+ builder.append(present_caching);
+ if (present_caching)
+ builder.append(caching);
+
+ boolean present_filterString = true && (isSetFilterString());
+ builder.append(present_filterString);
+ if (present_filterString)
+ builder.append(filterString);
+
+ return builder.toHashCode();
+ }
+
+ public int compareTo(TScan other) {
+ if (!getClass().equals(other.getClass())) {
+ return getClass().getName().compareTo(other.getClass().getName());
+ }
+
+ int lastComparison = 0;
+ TScan typedOther = (TScan)other;
+
+ lastComparison = Boolean.valueOf(isSetStartRow()).compareTo(isSetStartRow());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ lastComparison = TBaseHelper.compareTo(startRow, typedOther.startRow);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ lastComparison = Boolean.valueOf(isSetStopRow()).compareTo(isSetStopRow());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ lastComparison = TBaseHelper.compareTo(stopRow, typedOther.stopRow);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ lastComparison = Boolean.valueOf(isSetTimestamp()).compareTo(isSetTimestamp());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ lastComparison = TBaseHelper.compareTo(timestamp, typedOther.timestamp);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ lastComparison = Boolean.valueOf(isSetColumns()).compareTo(isSetColumns());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ lastComparison = TBaseHelper.compareTo(columns, typedOther.columns);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ lastComparison = Boolean.valueOf(isSetCaching()).compareTo(isSetCaching());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ lastComparison = TBaseHelper.compareTo(caching, typedOther.caching);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ lastComparison = Boolean.valueOf(isSetFilterString()).compareTo(isSetFilterString());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ lastComparison = TBaseHelper.compareTo(filterString, typedOther.filterString);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ return 0;
+ }
+
+ public void read(TProtocol iprot) throws TException {
+ TField field;
+ iprot.readStructBegin();
+ while (true)
+ {
+ field = iprot.readFieldBegin();
+ if (field.type == TType.STOP) {
+ break;
+ }
+ _Fields fieldId = _Fields.findByThriftId(field.id);
+ if (fieldId == null) {
+ TProtocolUtil.skip(iprot, field.type);
+ } else {
+ switch (fieldId) {
+ case START_ROW:
+ if (field.type == TType.STRING) {
+ this.startRow = iprot.readBinary();
+ } else {
+ TProtocolUtil.skip(iprot, field.type);
+ }
+ break;
+ case STOP_ROW:
+ if (field.type == TType.STRING) {
+ this.stopRow = iprot.readBinary();
+ } else {
+ TProtocolUtil.skip(iprot, field.type);
+ }
+ break;
+ case TIMESTAMP:
+ if (field.type == TType.I64) {
+ this.timestamp = iprot.readI64();
+ setTimestampIsSet(true);
+ } else {
+ TProtocolUtil.skip(iprot, field.type);
+ }
+ break;
+ case COLUMNS:
+ if (field.type == TType.LIST) {
+ {
+ TList _list9 = iprot.readListBegin();
+ this.columns = new ArrayList<byte[]>(_list9.size);
+ for (int _i10 = 0; _i10 < _list9.size; ++_i10)
+ {
+ byte[] _elem11;
+ _elem11 = iprot.readBinary();
+ this.columns.add(_elem11);
+ }
+ iprot.readListEnd();
+ }
+ } else {
+ TProtocolUtil.skip(iprot, field.type);
+ }
+ break;
+ case CACHING:
+ if (field.type == TType.I32) {
+ this.caching = iprot.readI32();
+ setCachingIsSet(true);
+ } else {
+ TProtocolUtil.skip(iprot, field.type);
+ }
+ break;
+ case FILTER_STRING:
+ if (field.type == TType.STRING) {
+ this.filterString = iprot.readBinary();
+ } else {
+ TProtocolUtil.skip(iprot, field.type);
+ }
+ break;
+ }
+ iprot.readFieldEnd();
+ }
+ }
+ iprot.readStructEnd();
+
+ // check for required fields of primitive type, which can't be checked in the validate method
+ validate();
+ }
+
+ public void write(TProtocol oprot) throws TException {
+ validate();
+
+ oprot.writeStructBegin(STRUCT_DESC);
+ if (this.startRow != null) {
+ if (isSetStartRow()) {
+ oprot.writeFieldBegin(START_ROW_FIELD_DESC);
+ oprot.writeBinary(this.startRow);
+ oprot.writeFieldEnd();
+ }
+ }
+ if (this.stopRow != null) {
+ if (isSetStopRow()) {
+ oprot.writeFieldBegin(STOP_ROW_FIELD_DESC);
+ oprot.writeBinary(this.stopRow);
+ oprot.writeFieldEnd();
+ }
+ }
+ if (isSetTimestamp()) {
+ oprot.writeFieldBegin(TIMESTAMP_FIELD_DESC);
+ oprot.writeI64(this.timestamp);
+ oprot.writeFieldEnd();
+ }
+ if (this.columns != null) {
+ if (isSetColumns()) {
+ oprot.writeFieldBegin(COLUMNS_FIELD_DESC);
+ {
+ oprot.writeListBegin(new TList(TType.STRING, this.columns.size()));
+ for (byte[] _iter12 : this.columns)
+ {
+ oprot.writeBinary(_iter12);
+ }
+ oprot.writeListEnd();
+ }
+ oprot.writeFieldEnd();
+ }
+ }
+ if (isSetCaching()) {
+ oprot.writeFieldBegin(CACHING_FIELD_DESC);
+ oprot.writeI32(this.caching);
+ oprot.writeFieldEnd();
+ }
+ if (this.filterString != null) {
+ if (isSetFilterString()) {
+ oprot.writeFieldBegin(FILTER_STRING_FIELD_DESC);
+ oprot.writeBinary(this.filterString);
+ oprot.writeFieldEnd();
+ }
+ }
+ oprot.writeFieldStop();
+ oprot.writeStructEnd();
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder("TScan(");
+ boolean first = true;
+
+ if (isSetStartRow()) {
+ sb.append("startRow:");
+ if (this.startRow == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.startRow);
+ }
+ first = false;
+ }
+ if (isSetStopRow()) {
+ if (!first) sb.append(", ");
+ sb.append("stopRow:");
+ if (this.stopRow == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.stopRow);
+ }
+ first = false;
+ }
+ if (isSetTimestamp()) {
+ if (!first) sb.append(", ");
+ sb.append("timestamp:");
+ sb.append(this.timestamp);
+ first = false;
+ }
+ if (isSetColumns()) {
+ if (!first) sb.append(", ");
+ sb.append("columns:");
+ if (this.columns == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.columns);
+ }
+ first = false;
+ }
+ if (isSetCaching()) {
+ if (!first) sb.append(", ");
+ sb.append("caching:");
+ sb.append(this.caching);
+ first = false;
+ }
+ if (isSetFilterString()) {
+ if (!first) sb.append(", ");
+ sb.append("filterString:");
+ if (this.filterString == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.filterString);
+ }
+ first = false;
+ }
+ sb.append(")");
+ return sb.toString();
+ }
+
+ public void validate() throws TException {
+ // check for required fields
+ }
+
+}
Modified: hbase/branches/0.89/src/main/resources/org/apache/hadoop/hbase/thrift/Hbase.thrift
URL: http://svn.apache.org/viewvc/hbase/branches/0.89/src/main/resources/org/apache/hadoop/hbase/thrift/Hbase.thrift?rev=1181946&r1=1181945&r2=1181946&view=diff
==============================================================================
--- hbase/branches/0.89/src/main/resources/org/apache/hadoop/hbase/thrift/Hbase.thrift (original)
+++ hbase/branches/0.89/src/main/resources/org/apache/hadoop/hbase/thrift/Hbase.thrift Tue Oct 11 17:43:31 2011
@@ -51,9 +51,9 @@ typedef binary Bytes
typedef i32 ScannerID
/**
- * TCell - Used to transport a cell value (byte[]) and the timestamp it was
+ * TCell - Used to transport a cell value (byte[]) and the timestamp it was
* stored with together as a result for get and getRow methods. This promotes
- * the timestamp of a cell to a first-class value, making it easy to take
+ * the timestamp of a cell to a first-class value, making it easy to take
* note of temporal data. Cell is used all the way from HStore up to HTable.
*/
struct TCell{
@@ -86,7 +86,7 @@ struct TRegionInfo {
2:Text endKey,
3:i64 id,
4:Text name,
- 5:byte version
+ 5:byte version
}
/**
@@ -109,13 +109,25 @@ struct BatchMutation {
/**
- * Holds row name and then a map of columns to cells.
+ * Holds row name and then a map of columns to cells.
*/
struct TRowResult {
1:Text row,
2:map<Text, TCell> columns
}
+/**
+ * A Scan object is used to specify scanner parameters when opening a scanner.
+ */
+struct TScan {
+ 1:optional Text startRow,
+ 2:optional Text stopRow,
+ 3:optional i64 timestamp,
+ 4:optional list<Text> columns,
+ 5:optional i32 caching,
+ 6:optional Text filterString
+}
+
//
// Exceptions
//
@@ -145,7 +157,7 @@ exception AlreadyExists {
}
//
-// Service
+// Service
//
service Hbase {
@@ -156,7 +168,7 @@ service Hbase {
/** name of the table */
1:Bytes tableName
) throws (1:IOError io)
-
+
/**
* Disables a table (takes it off-line) If it is being served, the master
* will tell the servers to stop serving it.
@@ -173,13 +185,13 @@ service Hbase {
/** name of the table to check */
1:Bytes tableName
) throws (1:IOError io)
-
+
void compact(1:Bytes tableNameOrRegionName)
throws (1:IOError io)
-
+
void majorCompact(1:Bytes tableNameOrRegionName)
throws (1:IOError io)
-
+
/**
* List all the userspace tables.
*
@@ -237,7 +249,7 @@ service Hbase {
1:Text tableName
) throws (1:IOError io)
- /**
+ /**
* Get a single TCell for the specified table, row, and column at the
* latest timestamp. Returns an empty list if no such value exists.
*
@@ -254,7 +266,7 @@ service Hbase {
3:Text column
) throws (1:IOError io)
- /**
+ /**
* Get the specified number of versions for the specified table,
* row, and column.
*
@@ -274,7 +286,7 @@ service Hbase {
4:i32 numVersions
) throws (1:IOError io)
- /**
+ /**
* Get the specified number of versions for the specified table,
* row, and column. Only versions less than or equal to the specified
* timestamp will be returned.
@@ -298,10 +310,10 @@ service Hbase {
5:i32 numVersions
) throws (1:IOError io)
- /**
+ /**
* Get all the data for the specified table and row at the latest
* timestamp. Returns an empty list if the row does not exist.
- *
+ *
* @return TRowResult containing the row and map of columns to TCells
*/
list<TRowResult> getRow(
@@ -312,10 +324,10 @@ service Hbase {
2:Text row
) throws (1:IOError io)
- /**
+ /**
* Get the specified columns for the specified table and row at the latest
* timestamp. Returns an empty list if the row does not exist.
- *
+ *
* @return TRowResult containing the row and map of columns to TCells
*/
list<TRowResult> getRowWithColumns(
@@ -329,10 +341,10 @@ service Hbase {
3:list<Text> columns
) throws (1:IOError io)
- /**
+ /**
* Get all the data for the specified table and row at the specified
* timestamp. Returns an empty list if the row does not exist.
- *
+ *
* @return TRowResult containing the row and map of columns to TCells
*/
list<TRowResult> getRowTs(
@@ -345,11 +357,11 @@ service Hbase {
/** timestamp */
3:i64 timestamp
) throws (1:IOError io)
-
- /**
+
+ /**
* Get the specified columns for the specified table and row at the specified
* timestamp. Returns an empty list if the row does not exist.
- *
+ *
* @return TRowResult containing the row and map of columns to TCells
*/
list<TRowResult> getRowWithColumnsTs(
@@ -364,7 +376,7 @@ service Hbase {
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
* transaction is aborted. Default current timestamp is used, and
@@ -381,7 +393,7 @@ service Hbase {
3:list<Mutation> mutations
) throws (1:IOError io, 2:IllegalArgument ia)
- /**
+ /**
* Apply a series of mutations (updates/deletes) to a row in a
* single transaction. If an exception is thrown, then the
* transaction is aborted. The specified timestamp is used, and
@@ -401,7 +413,7 @@ service Hbase {
4:i64 timestamp
) throws (1:IOError io, 2:IllegalArgument ia)
- /**
+ /**
* Apply a series of batches (each a series of mutations on a single row)
* in a single transaction. If an exception is thrown, then the
* transaction is aborted. Default current timestamp is used, and
@@ -415,7 +427,7 @@ service Hbase {
2:list<BatchMutation> rowBatches
) throws (1:IOError io, 2:IllegalArgument ia)
- /**
+ /**
* Apply a series of batches (each a series of mutations on a single row)
* in a single transaction. If an exception is thrown, then the
* transaction is aborted. The specified timestamp is used, and
@@ -448,8 +460,8 @@ service Hbase {
/** amount to increment by */
4:i64 value
) throws (1:IOError io, 2:IllegalArgument ia)
-
- /**
+
+ /**
* Delete all cells that match the passed row and column.
*/
void deleteAll(
@@ -463,7 +475,7 @@ service Hbase {
3:Text column
) throws (1:IOError io)
- /**
+ /**
* Delete all cells that match the passed row and column and whose
* timestamp is equal-to or older than the passed timestamp.
*/
@@ -507,7 +519,7 @@ service Hbase {
3:i64 timestamp
) throws (1:IOError io)
- /**
+ /**
* Get a scanner on the current table starting at the specified row and
* ending at the last row in the table. Return the specified columns.
*
@@ -531,7 +543,19 @@ service Hbase {
3:list<Text> columns
) throws (1:IOError io)
- /**
+ /**
+ * Get a scanner on the current table, using the Scan instance
+ * for the scan parameters.
+ */
+ ScannerID scannerOpenWithScan(
+ /** name of table */
+ 1:Text tableName,
+
+ /** Scan instance */
+ 2:TScan scan
+ ) throws (1:IOError io)
+
+ /**
* Get a scanner on the current table starting and stopping at the
* specified rows. ending at the last row in the table. Return the
* specified columns.
@@ -579,7 +603,7 @@ service Hbase {
3:list<Text> columns
) throws (1:IOError io)
- /**
+ /**
* Get a scanner on the current table starting at the specified row and
* ending at the last row in the table. Return the specified columns.
* Only values with the specified timestamp are returned.
@@ -607,7 +631,7 @@ service Hbase {
4:i64 timestamp
) throws (1:IOError io)
- /**
+ /**
* Get a scanner on the current table starting and stopping at the
* specified rows. ending at the last row in the table. Return the
* specified columns. Only values with the specified timestamp are
@@ -643,6 +667,122 @@ service Hbase {
) throws (1:IOError io)
/**
+ * Get a scanner on the current table starting at the first row and
+ * ending at the last row in the table. Return the specified columns.
+ *
+ * Return the specified columns that pass the filter constructed
+ * by the filterString
+ *
+ * @return scanner id to be used with other scanner procedures
+ */
+ ScannerID scannerOpenWithFilterString(
+ /** name of table */
+ 1:Text tableName,
+
+ /**
+ * Filter string
+ */
+ 2:Text filterString
+
+ ) throws (1:IOError io)
+
+ /**
+ * Get a scanner on the current table starting at the first row and
+ * ending at the last row in the table.
+ *
+ * Return the specified columns that pass the filter constructed
+ * by the filterString
+ *
+ * The timestamp of the keyvalue must also be within the specified timestamp
+ * No other columns will be returned.
+ *
+ * @return scanner id to be used with other scanner procedures
+ */
+ ScannerID scannerOpenWithFilterStringTs(
+ /** name of table */
+ 1:Text tableName,
+
+ /**
+ * Filter string
+ */
+ 2:Text filterString
+
+ /** timestamp */
+ 3:i64 timestamp
+
+ ) throws (1:IOError io)
+
+ /**
+ * Get a scanner on the current table starting and stopping at the
+ * specified rows.
+ *
+ * Return the specified columns that pass the filter constructed
+ * by the filterString
+ *
+ * @return scanner id to be used with other scanner procedures
+ */
+ ScannerID scannerOpenWithStopAndFilterString(
+ /** name of table */
+ 1:Text tableName,
+
+ /**
+ * Starting row in table to scan.
+ * Send "" (empty string) to start at the first row.
+ */
+ 2:Text startRow,
+
+ /**
+ * row to stop scanning on. This row is *not* included in the
+ * scanner's results.
+ * Send "" (empty string) to end at the last row.
+ */
+ 3:Text stopRow,
+
+ /**
+ * Filter string
+ */
+ 4:Text filterString
+ ) throws (1:IOError io)
+
+ /**
+ * Get a scanner on the current table starting and stopping at the
+ * specified rows.
+ *
+ * Return the specified columns that pass the filter constructed
+ * by the filterString
+ *
+ * The timestamp of the keyvalue must also be within the specified timestamp
+ * No other columns will be returned.
+ *
+ * @return scanner id to be used with other scanner procedures
+ */
+ ScannerID scannerOpenWithStopAndFilterStringTs(
+ /** name of table */
+ 1:Text tableName,
+
+ /**
+ * Starting row in table to scan.
+ * Send "" (empty string) to start at the first row.
+ */
+ 2:Text startRow,
+
+ /**
+ * row to stop scanning on. This row is *not* included in the
+ * scanner's results.
+ * Send "" (empty string) to end at the last row.
+ */
+ 3:Text stopRow,
+
+ /**
+ * Filter string
+ */
+ 4:Text filterString
+
+ /** timestamp */
+ 6:i64 timestamp
+ ) throws (1:IOError io)
+
+ /**
* Returns the scanner's current row value and advances to the next
* row in the table. When there are no more rows in the table, or a key
* greater-than-or-equal-to the scanner's specified stopRow is reached,
@@ -661,8 +801,8 @@ service Hbase {
/**
* Returns, starting at the scanner's current row value nbRows worth of
- * rows and advances to the next row in the table. When there are no more
- * rows in the table, or a key greater-than-or-equal-to the scanner's
+ * rows and advances to the next row in the table. When there are no more
+ * rows in the table, or a key greater-than-or-equal-to the scanner's
* specified stopRow is reached, an empty list is returned.
*
* @return a TRowResult containing the current row and a map of the columns to TCells.