ydb 0.16.0

Crate contains generated low-level grpc code from YDB API protobuf, used as base for ydb crate
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use crate::errors::YdbStatusError;
use crate::grpc_wrapper::grpc::proto_issues_to_ydb_issues;
use crate::grpc_wrapper::raw_errors::{RawError, RawResult};
use ydb_grpc::ydb_proto::issue::IssueMessage;
use ydb_grpc::ydb_proto::status_ids::StatusCode;

pub(crate) fn check_status(status: i32, issues: &[IssueMessage]) -> RawResult<()> {
    let code = StatusCode::try_from(status)
        .map_err(|e| RawError::custom(format!("unknown status code: {e}")))?;
    if code != StatusCode::Success {
        return Err(RawError::YdbStatus(YdbStatusError {
            message: format!("query operation status: {code:?}"),
            operation_status: status,
            issues: proto_issues_to_ydb_issues(issues.to_vec()),
        }));
    }
    Ok(())
}