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

Method GetWriteIdRange

be/src/exec/acid-metadata-utils.cc:61–84  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

59}
60
61std::pair<int64_t, int64_t> ValidWriteIdList::GetWriteIdRange(const string& file_path) {
62 string dir_name = GetParentDirName(file_path);
63 if (!(StrStartsWith(dir_name, DELTA_PREFIX) ||
64 StrStartsWith(dir_name, DELETE_DELTA_PREFIX) ||
65 StrStartsWith(dir_name, BASE_PREFIX))) {
66 // Write ids of original files are 0.
67 return {0, 0};
68 }
69 int min_write_id_pos = 0;
70 if (StrStartsWith(dir_name, DELTA_PREFIX)) {
71 min_write_id_pos = DELTA_PREFIX.size();
72 }
73 else if (StrStartsWith(dir_name, DELETE_DELTA_PREFIX)) {
74 min_write_id_pos = DELETE_DELTA_PREFIX.size();
75 } else {
76 StrStartsWith(dir_name, BASE_PREFIX);
77 int write_id_pos = BASE_PREFIX.size();
78 int64_t write_id = std::atoll(dir_name.c_str() + write_id_pos);
79 return {write_id, write_id};
80 }
81 int max_write_id_pos = dir_name.find('_', min_write_id_pos) + 1;
82 return {std::atoll(dir_name.c_str() + min_write_id_pos),
83 std::atoll(dir_name.c_str() + max_write_id_pos)};
84}
85
86int ValidWriteIdList::GetStatementId(const std::string& file_path) {
87 string dir_name = GetParentDirName(file_path);

Callers 1

OpenMethod · 0.80

Calls 4

GetParentDirNameFunction · 0.85
StrStartsWithFunction · 0.85
sizeMethod · 0.45
findMethod · 0.45

Tested by

no test coverage detected