| 144 | } |
| 145 | |
| 146 | void HBaseScanNode::WriteTextSlot( |
| 147 | const string& family, const string& qualifier, |
| 148 | void* value, int value_length, SlotDescriptor* slot_desc, |
| 149 | RuntimeState* state, MemPool* pool, Tuple* tuple, bool* error_in_row) { |
| 150 | if (!text_converter_->WriteSlot(slot_desc, tuple, reinterpret_cast<char*>(value), |
| 151 | value_length, true, false, pool)) { |
| 152 | *error_in_row = true; |
| 153 | if (state->LogHasSpace()) { |
| 154 | stringstream ss; |
| 155 | ss << "Error converting column " << family |
| 156 | << ":" << qualifier << ": " |
| 157 | << "'" << string(reinterpret_cast<char*>(value), value_length) << "' TO " |
| 158 | << slot_desc->type(); |
| 159 | state->LogError(ErrorMsg(TErrorCode::GENERAL, ss.str())); |
| 160 | } |
| 161 | } |
| 162 | } |
| 163 | |
| 164 | Status HBaseScanNode::GetNext(RuntimeState* state, RowBatch* row_batch, bool* eos) { |
| 165 | SCOPED_TIMER(runtime_profile_->total_time_counter()); |