MCPcopy Create free account
hub / github.com/apache/impala / GetValue

Method GetValue

be/src/exec/hbase/hbase-table-scanner.cc:655–674  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

653}
654
655inline Status HBaseTableScanner::GetValue(JNIEnv* env, jobject cell,
656 void** data, int* length) {
657 int offset = env->CallIntMethod(cell, cell_get_value_offset_id_);
658 RETURN_ERROR_IF_EXC(env);
659 *length = env->CallIntMethod(cell, cell_get_value_length_id_);
660 RETURN_ERROR_IF_EXC(env);
661 jbyteArray jdata =
662 (jbyteArray) env->CallObjectMethod(cell, cell_get_value_array_);
663 RETURN_ERROR_IF_EXC(env);
664 *data = value_pool_->TryAllocate(*length);
665 if (UNLIKELY(*data == NULL)) {
666 string details = Substitute(HBASE_MEM_LIMIT_EXCEEDED, "GetValue",
667 *length, "value array");
668 return value_pool_->mem_tracker()->MemLimitExceeded(state_, details, *length);
669 }
670 env->GetByteArrayRegion(jdata, offset, *length, reinterpret_cast<jbyte*>(*data));
671 RETURN_ERROR_IF_EXC(env);
672 COUNTER_ADD(scan_node_->bytes_read_counter(), *length);
673 return Status::OK();
674}
675
676Status HBaseTableScanner::GetRowKey(JNIEnv* env, void** key, int* key_length) {
677 JniLocalFrame jni_frame;

Callers 15

EvalRowMethod · 0.45
EqualsMethod · 0.45
AppendRowsMethod · 0.45
GetHashTblKeyMethod · 0.45
InitTemplateTupleMethod · 0.45
EvalMethod · 0.45
InsertMethod · 0.45
InsertPerCompareOpMethod · 0.45
FullScanMethod · 0.45
ValidateMatchMethod · 0.45
SetupTestMethod · 0.45
BuildPartitionDescMapMethod · 0.45

Calls 9

SubstituteFunction · 0.85
OKFunction · 0.85
bytes_read_counterMethod · 0.80
SetNullMethod · 0.80
GetByteSizeMethod · 0.80
TryAllocateMethod · 0.45
MemLimitExceededMethod · 0.45
mem_trackerMethod · 0.45
typeMethod · 0.45

Tested by 3

FullScanMethod · 0.36
ValidateMatchMethod · 0.36
SetupTestMethod · 0.36