ydb 0.11.1

Crate contains generated low-level grpc code from YDB API protobuf, used as base for ydb crate
Documentation
use crate::grpc_wrapper::raw_errors::RawError;
use crate::grpc_wrapper::raw_ydb_operation::RawOperationParams;

#[derive(serde::Serialize)]
pub(crate) struct RawExplainDataQueryRequest {
    pub session_id: String,
    pub yql_text: String,
    pub operation_params: RawOperationParams,
    pub collect_full_diagnostics: bool,
}

impl From<RawExplainDataQueryRequest> for ydb_grpc::ydb_proto::table::ExplainDataQueryRequest {
    fn from(v: RawExplainDataQueryRequest) -> Self {
        Self {
            session_id: v.session_id,
            yql_text: v.yql_text,
            operation_params: Some(v.operation_params.into()),
            collect_full_diagnostics: v.collect_full_diagnostics,
        }
    }
}

#[derive(serde::Serialize)]
pub(crate) struct RawExplainDataQueryResult {
    pub query_ast: String,
    pub query_plan: String,
    pub query_full_diagnostics: String,
}

impl TryFrom<ydb_grpc::ydb_proto::table::ExplainQueryResult> for RawExplainDataQueryResult {
    type Error = RawError;

    fn try_from(
        value: ydb_grpc::ydb_proto::table::ExplainQueryResult,
    ) -> Result<Self, Self::Error> {
        Ok(Self {
            query_ast: value.query_ast,
            query_plan: value.query_plan,
            query_full_diagnostics: value.query_full_diagnostics,
        })
    }
}