我想检索获取列family1:qualifier1,但我得到了行中的所有列' 123'
TGet get;
TColumn tcolumn;
tcolumn.family="family1";
tcolumn.qualifier="qualifier1"; //i want get column family1:qualifier1
get.row = "123";
get.columns.push_back(tcolumn);
TResult result;
std::cout<<"family:" << get.columns[0].family << " qualifier:" << get.columns[0].qualifier <<" get.columns size:" << get.columns.size() << std::endl;
transport->open();
client.get(result, "mytable", get);
transport->close();
int columnSize = result.columnValues.size(); // but i got all columns in th row
if (columnSize > 0) {
for(int i = 0;i < columnSize ; ++i){
std::string columnName = result.columnValues[i].qualifier;
std::string columnValue = result.columnValues[i].value;
std::cout << "columnName: " << columnName << std::endl;
std::cout << "columnValue: " << columnValue << std::endl;
}
}
答案 0 :(得分:0)
使用功能设定值, void __set_family(const std :: string&amp; val);
不要直接设置数据成员。 std :: string family;
class TColumn {
public:
static const char* ascii_fingerprint; // = "354B89A42CE318BBBCE588A386D5D6CD";
static const uint8_t binary_fingerprint[16]; // = {0x35,0x4B,0x89,0xA4,0x2C,0xE3,0x18,0xBB,0xBC,0xE5,0x88,0xA3,0x86,0xD5,0xD6,0xCD};
TColumn() : family(), qualifier(), timestamp(0) {
}
virtual ~TColumn() throw() {}
std::string family;
std::string qualifier;
int64_t timestamp;
_TColumn__isset __isset;
void __set_family(const std::string& val) {
family = val;
}
void __set_qualifier(const std::string& val) {
qualifier = val;
__isset.qualifier = true;
}
void __set_timestamp(const int64_t val) {
timestamp = val;
__isset.timestamp = true;
}
bool operator == (const TColumn & rhs) const
{
if (!(family == rhs.family))
return false;
if (__isset.qualifier != rhs.__isset.qualifier)
return false;
else if (__isset.qualifier && !(qualifier == rhs.qualifier))
return false;
if (__isset.timestamp != rhs.__isset.timestamp)
return false;
else if (__isset.timestamp && !(timestamp == rhs.timestamp))
return false;
return true;
}
bool operator != (const TColumn &rhs) const {
return !(*this == rhs);
}
bool operator < (const TColumn & ) const;
uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
};