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

Method HandleConvertError

be/src/exec/json/hdfs-json-scanner.cc:226–246  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

224}
225
226bool HdfsJsonScanner::HandleConvertError(const SlotDescriptor* desc, const char* data,
227 int len) {
228 error_in_row_ = true;
229 tuple_->SetNull(desc->null_indicator_offset());
230 if (state_->LogHasSpace() || state_->abort_on_error()) {
231 const HdfsTableDescriptor* table = scan_node_->hdfs_table();
232 constexpr int max_view_len = 50;
233 string data_view = string(data, std::min(len, max_view_len));
234 if (len > max_view_len) data_view += "...";
235 string msg = Substitute("Error converting column: $0.$1.$2, type: $3, data: '$4'",
236 table->database(), table->name(), table->GetColumnDesc(desc).name(),
237 desc->type().DebugString(), data_view);
238
239 if (state_->LogHasSpace()) {
240 state_->LogError(ErrorMsg(TErrorCode::GENERAL, msg), 2);
241 }
242
243 if (state_->abort_on_error() && parse_status_.ok()) parse_status_ = Status(msg);
244 }
245 return parse_status_.ok();
246}
247
248Status HdfsJsonScanner::HandleError(rapidjson::ParseErrorCode error, size_t offset) {
249 if (error == rapidjson::kParseErrorTermination) {

Callers

nothing calls this directly

Calls 14

minFunction · 0.85
SubstituteFunction · 0.85
ErrorMsgClass · 0.85
SetNullMethod · 0.80
LogHasSpaceMethod · 0.80
hdfs_tableMethod · 0.80
databaseMethod · 0.80
StatusClass · 0.50
abort_on_errorMethod · 0.45
nameMethod · 0.45
DebugStringMethod · 0.45
typeMethod · 0.45

Tested by

no test coverage detected