| 632 | } |
| 633 | |
| 634 | inline Status HBaseTableScanner::GetQualifier(JNIEnv* env, jobject cell, |
| 635 | void** data, int* length) { |
| 636 | int offset = env->CallIntMethod(cell, cell_get_qualifier_offset_id_); |
| 637 | RETURN_ERROR_IF_EXC(env); |
| 638 | *length = env->CallIntMethod(cell, cell_get_qualifier_length_id_); |
| 639 | RETURN_ERROR_IF_EXC(env); |
| 640 | jbyteArray jdata = |
| 641 | (jbyteArray) env->CallObjectMethod(cell, cell_get_qualifier_array_); |
| 642 | RETURN_ERROR_IF_EXC(env); |
| 643 | *data = value_pool_->TryAllocate(*length); |
| 644 | if (UNLIKELY(*data == NULL)) { |
| 645 | string details = Substitute(HBASE_MEM_LIMIT_EXCEEDED, "GetQualifier", |
| 646 | *length, "qualifier array"); |
| 647 | return value_pool_->mem_tracker()->MemLimitExceeded(state_, details, *length); |
| 648 | } |
| 649 | env->GetByteArrayRegion(jdata, offset, *length, reinterpret_cast<jbyte*>(*data)); |
| 650 | RETURN_ERROR_IF_EXC(env); |
| 651 | COUNTER_ADD(scan_node_->bytes_read_counter(), *length); |
| 652 | return Status::OK(); |
| 653 | } |
| 654 | |
| 655 | inline Status HBaseTableScanner::GetValue(JNIEnv* env, jobject cell, |
| 656 | void** data, int* length) { |
nothing calls this directly
no test coverage detected