Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
ljcui committed Mar 22, 2024
1 parent 389cc8b commit 037c258
Showing 1 changed file with 33 additions and 3 deletions.
36 changes: 33 additions & 3 deletions osgraph/api.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -380,8 +380,8 @@ std::string topn_developer(lgraph_api::GraphDB &db, const std::string& request)
std::unordered_set<int64_t> get_repos_by_developer(lgraph_api::GraphDB &db, int64_t developer_vid) {
auto txn = db.CreateReadTxn();
auto vit = txn.GetVertexIterator(developer_vid);
auto deve_name = vit.GetField("name").AsString();
LOG_INFO() << FMA_FMT("get_repos_by_developer begin {}", deve_name);
auto developer_name = vit.GetField("name").AsString();
LOG_INFO() << FMA_FMT("get_repos_by_developer begin {}", developer_name);
int16_t push_id = txn.GetEdgeLabelId("push");

int16_t has_pr_id = txn.GetEdgeLabelId("has_pr");
Expand All @@ -395,44 +395,64 @@ std::unordered_set<int64_t> get_repos_by_developer(lgraph_api::GraphDB &db, int6

std::unordered_set<int64_t> repos;
{
int count = 0;
lgraph_api::EdgeUid euid;
euid.lid = push_id;
for (auto eit = vit.GetOutEdgeIterator(euid, true); eit.IsValid(); eit.Next()) {
if (eit.GetLabelId() != push_id) {
break;
}
if (++count > 10000) {
LOG_WARN() << "Invalid Developer: " << developer_name;
return {};
}
repos.insert(eit.GetDst());
}
}
{
std::vector<int64_t> pr_ids;
{
int count = 0;
lgraph_api::EdgeUid euid;
euid.lid = open_pr_id;
for (auto eit = vit.GetOutEdgeIterator(euid, true); eit.IsValid(); eit.Next()) {
if (eit.GetLabelId() != open_pr_id) {
break;
}
if (++count > 10000) {
LOG_WARN() << "Invalid Developer: " << developer_name;
return {};
}
pr_ids.push_back(eit.GetDst());
}
}
{
int count = 0;
lgraph_api::EdgeUid euid;
euid.lid = review_pr_id;
for (auto eit = vit.GetOutEdgeIterator(euid, true); eit.IsValid(); eit.Next()) {
if (eit.GetLabelId() != review_pr_id) {
break;
}
if (++count > 10000) {
LOG_WARN() << "Invalid Developer: " << developer_name;
return {};
}
pr_ids.push_back(eit.GetDst());
}
}
{
int count = 0;
lgraph_api::EdgeUid euid;
euid.lid = comment_pr_id;
for (auto eit = vit.GetOutEdgeIterator(euid, true); eit.IsValid(); eit.Next()) {
if (eit.GetLabelId() != comment_pr_id) {
break;
}
if (++count > 10000) {
LOG_WARN() << "Invalid Developer: " << developer_name;
return {};
}
pr_ids.push_back(eit.GetDst());
}
}
Expand All @@ -452,22 +472,32 @@ std::unordered_set<int64_t> get_repos_by_developer(lgraph_api::GraphDB &db, int6
{
std::vector<int64_t> issue_ids;
{
int count = 0;
lgraph_api::EdgeUid euid;
euid.lid = open_issue_id;
for (auto eit = vit.GetOutEdgeIterator(euid, true); eit.IsValid(); eit.Next()) {
if (eit.GetLabelId() != open_issue_id) {
break;
}
if (++count > 10000) {
LOG_WARN() << "Invalid Developer: " << developer_name;
return {};
}
issue_ids.push_back(eit.GetDst());
}
}
{
int count = 0;
lgraph_api::EdgeUid euid;
euid.lid = comment_issue_id;
for (auto eit = vit.GetOutEdgeIterator(euid, true); eit.IsValid(); eit.Next()) {
if (eit.GetLabelId() != comment_issue_id) {
break;
}
if (++count > 10000) {
LOG_WARN() << "Invalid Developer: " << developer_name;
return {};
}
issue_ids.push_back(eit.GetDst());
}
}
Expand All @@ -484,7 +514,7 @@ std::unordered_set<int64_t> get_repos_by_developer(lgraph_api::GraphDB &db, int6
}
}
}
LOG_INFO() << FMA_FMT("get_repos_by_developer end {}", deve_name);
LOG_INFO() << FMA_FMT("get_repos_by_developer end {}", developer_name);
return repos;
}

Expand Down

0 comments on commit 037c258

Please sign in to comment.