yql_provider_gateway.cpp 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #include "yql_provider_gateway.h"
  2. #include <yql/essentials/core/issue/yql_issue.h>
  3. #include <yql/essentials/utils/log/log.h>
  4. namespace NYql {
  5. namespace NCommon {
  6. void TOperationResult::AddIssue(const TIssue& issue) {
  7. WalkThroughIssues(issue, false, [&](const TIssue& err, ui16 level) {
  8. Y_UNUSED(level);
  9. YQL_CLOG(NOTICE, ProviderCommon) << err;
  10. });
  11. Issues_.AddIssue(issue);
  12. }
  13. void TOperationResult::AddIssues(const TIssues& issues) {
  14. for (auto& topIssue: issues) {
  15. WalkThroughIssues(topIssue, false, [&](const TIssue& err, ui16 level) {
  16. Y_UNUSED(level);
  17. YQL_CLOG(NOTICE, ProviderCommon) << err;
  18. });
  19. }
  20. Issues_.AddIssues(issues);
  21. }
  22. void TOperationResult::SetException(const std::exception& e, const TPosition& pos) {
  23. YQL_CLOG(ERROR, ProviderCommon) << e.what();
  24. auto issue = ExceptionToIssue(e, pos);
  25. Status_ = static_cast<NYql::EYqlIssueCode>(issue.GetCode());
  26. Issues_.AddIssue(issue);
  27. }
  28. void TOperationResult::ReportIssues(TIssueManager& issueManager) const {
  29. issueManager.RaiseIssues(Issues_);
  30. }
  31. } // NCommon
  32. } // NYql