| 611 | } |
| 612 | |
| 613 | inline Status HBaseTableScanner::GetFamily(JNIEnv* env, jobject cell, |
| 614 | void** data, int* length) { |
| 615 | int offset = env->CallIntMethod(cell, cell_get_family_offset_id_); |
| 616 | RETURN_ERROR_IF_EXC(env); |
| 617 | *length = env->CallShortMethod(cell, cell_get_family_length_id_); |
| 618 | RETURN_ERROR_IF_EXC(env); |
| 619 | jbyteArray jdata = |
| 620 | (jbyteArray) env->CallObjectMethod(cell, cell_get_family_array_); |
| 621 | RETURN_ERROR_IF_EXC(env); |
| 622 | *data = value_pool_->TryAllocate(*length); |
| 623 | if (UNLIKELY(*data == NULL)) { |
| 624 | string details = Substitute(HBASE_MEM_LIMIT_EXCEEDED, "GetFamily", |
| 625 | *length, "family array"); |
| 626 | return value_pool_->mem_tracker()->MemLimitExceeded(state_, details, *length); |
| 627 | } |
| 628 | env->GetByteArrayRegion(jdata, offset, *length, reinterpret_cast<jbyte*>(*data)); |
| 629 | RETURN_ERROR_IF_EXC(env); |
| 630 | COUNTER_ADD(scan_node_->bytes_read_counter(), *length); |
| 631 | return Status::OK(); |
| 632 | } |
| 633 | |
| 634 | inline Status HBaseTableScanner::GetQualifier(JNIEnv* env, jobject cell, |
| 635 | void** data, int* length) { |
nothing calls this directly
no test coverage detected