pub struct QueryClient<T> { /* private fields */ }Expand description
Query defines the tablet query service, implemented by vttablet.
Implementations§
Source§impl QueryClient<Channel>
impl QueryClient<Channel>
Source§impl<T> QueryClient<T>where
T: GrpcService<BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
impl<T> QueryClient<T>where
T: GrpcService<BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
pub fn new(inner: T) -> Self
pub fn with_origin(inner: T, origin: Uri) -> Self
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> QueryClient<InterceptedService<T, F>>where
F: Interceptor,
T::ResponseBody: Default,
T: Service<Request<BoxBody>, Response = Response<<T as GrpcService<BoxBody>>::ResponseBody>>,
<T as Service<Request<BoxBody>>>::Error: Into<StdError> + Send + Sync,
Sourcepub fn send_compressed(self, encoding: CompressionEncoding) -> Self
pub fn send_compressed(self, encoding: CompressionEncoding) -> Self
Compress requests with the given encoding.
This requires the server to support it otherwise it might respond with an error.
Sourcepub fn accept_compressed(self, encoding: CompressionEncoding) -> Self
pub fn accept_compressed(self, encoding: CompressionEncoding) -> Self
Enable decompressing responses.
Sourcepub fn max_decoding_message_size(self, limit: usize) -> Self
pub fn max_decoding_message_size(self, limit: usize) -> Self
Limits the maximum size of a decoded message.
Default: 4MB
Sourcepub fn max_encoding_message_size(self, limit: usize) -> Self
pub fn max_encoding_message_size(self, limit: usize) -> Self
Limits the maximum size of an encoded message.
Default: usize::MAX
Sourcepub async fn execute(
&mut self,
request: impl IntoRequest<ExecuteRequest>,
) -> Result<Response<ExecuteResponse>, Status>
pub async fn execute( &mut self, request: impl IntoRequest<ExecuteRequest>, ) -> Result<Response<ExecuteResponse>, Status>
Execute executes the specified SQL query (might be in a transaction context, if Query.transaction_id is set).
Sourcepub async fn stream_execute(
&mut self,
request: impl IntoRequest<StreamExecuteRequest>,
) -> Result<Response<Streaming<StreamExecuteResponse>>, Status>
pub async fn stream_execute( &mut self, request: impl IntoRequest<StreamExecuteRequest>, ) -> Result<Response<Streaming<StreamExecuteResponse>>, Status>
StreamExecute executes a streaming query. Use this method if the query returns a large number of rows. The first QueryResult will contain the Fields, subsequent QueryResult messages will contain the rows.
Sourcepub async fn begin(
&mut self,
request: impl IntoRequest<BeginRequest>,
) -> Result<Response<BeginResponse>, Status>
pub async fn begin( &mut self, request: impl IntoRequest<BeginRequest>, ) -> Result<Response<BeginResponse>, Status>
Begin a transaction.
Sourcepub async fn commit(
&mut self,
request: impl IntoRequest<CommitRequest>,
) -> Result<Response<CommitResponse>, Status>
pub async fn commit( &mut self, request: impl IntoRequest<CommitRequest>, ) -> Result<Response<CommitResponse>, Status>
Commit a transaction.
Sourcepub async fn rollback(
&mut self,
request: impl IntoRequest<RollbackRequest>,
) -> Result<Response<RollbackResponse>, Status>
pub async fn rollback( &mut self, request: impl IntoRequest<RollbackRequest>, ) -> Result<Response<RollbackResponse>, Status>
Rollback a transaction.
Sourcepub async fn prepare(
&mut self,
request: impl IntoRequest<PrepareRequest>,
) -> Result<Response<PrepareResponse>, Status>
pub async fn prepare( &mut self, request: impl IntoRequest<PrepareRequest>, ) -> Result<Response<PrepareResponse>, Status>
Prepare preares a transaction.
Sourcepub async fn commit_prepared(
&mut self,
request: impl IntoRequest<CommitPreparedRequest>,
) -> Result<Response<CommitPreparedResponse>, Status>
pub async fn commit_prepared( &mut self, request: impl IntoRequest<CommitPreparedRequest>, ) -> Result<Response<CommitPreparedResponse>, Status>
CommitPrepared commits a prepared transaction.
Sourcepub async fn rollback_prepared(
&mut self,
request: impl IntoRequest<RollbackPreparedRequest>,
) -> Result<Response<RollbackPreparedResponse>, Status>
pub async fn rollback_prepared( &mut self, request: impl IntoRequest<RollbackPreparedRequest>, ) -> Result<Response<RollbackPreparedResponse>, Status>
RollbackPrepared rolls back a prepared transaction.
Sourcepub async fn create_transaction(
&mut self,
request: impl IntoRequest<CreateTransactionRequest>,
) -> Result<Response<CreateTransactionResponse>, Status>
pub async fn create_transaction( &mut self, request: impl IntoRequest<CreateTransactionRequest>, ) -> Result<Response<CreateTransactionResponse>, Status>
CreateTransaction creates the metadata for a 2pc transaction.
Sourcepub async fn start_commit(
&mut self,
request: impl IntoRequest<StartCommitRequest>,
) -> Result<Response<StartCommitResponse>, Status>
pub async fn start_commit( &mut self, request: impl IntoRequest<StartCommitRequest>, ) -> Result<Response<StartCommitResponse>, Status>
StartCommit initiates a commit for a 2pc transaction.
Sourcepub async fn set_rollback(
&mut self,
request: impl IntoRequest<SetRollbackRequest>,
) -> Result<Response<SetRollbackResponse>, Status>
pub async fn set_rollback( &mut self, request: impl IntoRequest<SetRollbackRequest>, ) -> Result<Response<SetRollbackResponse>, Status>
SetRollback marks the 2pc transaction for rollback.
Sourcepub async fn conclude_transaction(
&mut self,
request: impl IntoRequest<ConcludeTransactionRequest>,
) -> Result<Response<ConcludeTransactionResponse>, Status>
pub async fn conclude_transaction( &mut self, request: impl IntoRequest<ConcludeTransactionRequest>, ) -> Result<Response<ConcludeTransactionResponse>, Status>
ConcludeTransaction marks the 2pc transaction as resolved.
Sourcepub async fn read_transaction(
&mut self,
request: impl IntoRequest<ReadTransactionRequest>,
) -> Result<Response<ReadTransactionResponse>, Status>
pub async fn read_transaction( &mut self, request: impl IntoRequest<ReadTransactionRequest>, ) -> Result<Response<ReadTransactionResponse>, Status>
ReadTransaction returns the 2pc transaction info.
Sourcepub async fn begin_execute(
&mut self,
request: impl IntoRequest<BeginExecuteRequest>,
) -> Result<Response<BeginExecuteResponse>, Status>
pub async fn begin_execute( &mut self, request: impl IntoRequest<BeginExecuteRequest>, ) -> Result<Response<BeginExecuteResponse>, Status>
BeginExecute executes a begin and the specified SQL query.
Sourcepub async fn begin_stream_execute(
&mut self,
request: impl IntoRequest<BeginStreamExecuteRequest>,
) -> Result<Response<Streaming<BeginStreamExecuteResponse>>, Status>
pub async fn begin_stream_execute( &mut self, request: impl IntoRequest<BeginStreamExecuteRequest>, ) -> Result<Response<Streaming<BeginStreamExecuteResponse>>, Status>
BeginStreamExecute executes a begin and the specified SQL query.
Sourcepub async fn message_stream(
&mut self,
request: impl IntoRequest<MessageStreamRequest>,
) -> Result<Response<Streaming<MessageStreamResponse>>, Status>
pub async fn message_stream( &mut self, request: impl IntoRequest<MessageStreamRequest>, ) -> Result<Response<Streaming<MessageStreamResponse>>, Status>
MessageStream streams messages from a message table.
Sourcepub async fn message_ack(
&mut self,
request: impl IntoRequest<MessageAckRequest>,
) -> Result<Response<MessageAckResponse>, Status>
pub async fn message_ack( &mut self, request: impl IntoRequest<MessageAckRequest>, ) -> Result<Response<MessageAckResponse>, Status>
MessageAck acks messages for a table.
Sourcepub async fn reserve_execute(
&mut self,
request: impl IntoRequest<ReserveExecuteRequest>,
) -> Result<Response<ReserveExecuteResponse>, Status>
pub async fn reserve_execute( &mut self, request: impl IntoRequest<ReserveExecuteRequest>, ) -> Result<Response<ReserveExecuteResponse>, Status>
ReserveExecute executes a query on a reserved connection
Sourcepub async fn reserve_begin_execute(
&mut self,
request: impl IntoRequest<ReserveBeginExecuteRequest>,
) -> Result<Response<ReserveBeginExecuteResponse>, Status>
pub async fn reserve_begin_execute( &mut self, request: impl IntoRequest<ReserveBeginExecuteRequest>, ) -> Result<Response<ReserveBeginExecuteResponse>, Status>
ReserveBeginExecute starts a transaction and executes a query in the transaction on a reserved connection
Sourcepub async fn reserve_stream_execute(
&mut self,
request: impl IntoRequest<ReserveStreamExecuteRequest>,
) -> Result<Response<Streaming<ReserveStreamExecuteResponse>>, Status>
pub async fn reserve_stream_execute( &mut self, request: impl IntoRequest<ReserveStreamExecuteRequest>, ) -> Result<Response<Streaming<ReserveStreamExecuteResponse>>, Status>
ReserveStreamExecute executes a streaming query on a reserved connection
Sourcepub async fn reserve_begin_stream_execute(
&mut self,
request: impl IntoRequest<ReserveBeginStreamExecuteRequest>,
) -> Result<Response<Streaming<ReserveBeginStreamExecuteResponse>>, Status>
pub async fn reserve_begin_stream_execute( &mut self, request: impl IntoRequest<ReserveBeginStreamExecuteRequest>, ) -> Result<Response<Streaming<ReserveBeginStreamExecuteResponse>>, Status>
ReserveBeginStreamExecute starts a transaction and executes a streaming query in the transaction on a reserved connection
Sourcepub async fn release(
&mut self,
request: impl IntoRequest<ReleaseRequest>,
) -> Result<Response<ReleaseResponse>, Status>
pub async fn release( &mut self, request: impl IntoRequest<ReleaseRequest>, ) -> Result<Response<ReleaseResponse>, Status>
Release releases the connection
Sourcepub async fn stream_health(
&mut self,
request: impl IntoRequest<StreamHealthRequest>,
) -> Result<Response<Streaming<StreamHealthResponse>>, Status>
pub async fn stream_health( &mut self, request: impl IntoRequest<StreamHealthRequest>, ) -> Result<Response<Streaming<StreamHealthResponse>>, Status>
StreamHealth runs a streaming RPC to the tablet, that returns the current health of the tablet on a regular basis.
Sourcepub async fn v_stream(
&mut self,
request: impl IntoRequest<VStreamRequest>,
) -> Result<Response<Streaming<VStreamResponse>>, Status>
pub async fn v_stream( &mut self, request: impl IntoRequest<VStreamRequest>, ) -> Result<Response<Streaming<VStreamResponse>>, Status>
VStream streams vreplication events.
Sourcepub async fn v_stream_rows(
&mut self,
request: impl IntoRequest<VStreamRowsRequest>,
) -> Result<Response<Streaming<VStreamRowsResponse>>, Status>
pub async fn v_stream_rows( &mut self, request: impl IntoRequest<VStreamRowsRequest>, ) -> Result<Response<Streaming<VStreamRowsResponse>>, Status>
VStreamRows streams rows from the specified starting point.
Sourcepub async fn v_stream_tables(
&mut self,
request: impl IntoRequest<VStreamTablesRequest>,
) -> Result<Response<Streaming<VStreamTablesResponse>>, Status>
pub async fn v_stream_tables( &mut self, request: impl IntoRequest<VStreamTablesRequest>, ) -> Result<Response<Streaming<VStreamTablesResponse>>, Status>
VStreamTables streams rows from the specified starting point.
Sourcepub async fn v_stream_results(
&mut self,
request: impl IntoRequest<VStreamResultsRequest>,
) -> Result<Response<Streaming<VStreamResultsResponse>>, Status>
pub async fn v_stream_results( &mut self, request: impl IntoRequest<VStreamResultsRequest>, ) -> Result<Response<Streaming<VStreamResultsResponse>>, Status>
VStreamResults streams results along with the gtid of the snapshot.
Sourcepub async fn get_schema(
&mut self,
request: impl IntoRequest<GetSchemaRequest>,
) -> Result<Response<Streaming<GetSchemaResponse>>, Status>
pub async fn get_schema( &mut self, request: impl IntoRequest<GetSchemaRequest>, ) -> Result<Response<Streaming<GetSchemaResponse>>, Status>
GetSchema returns the schema information.
Trait Implementations§
Source§impl<T: Clone> Clone for QueryClient<T>
impl<T: Clone> Clone for QueryClient<T>
Source§fn clone(&self) -> QueryClient<T>
fn clone(&self) -> QueryClient<T>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl<T> !Freeze for QueryClient<T>
impl<T> RefUnwindSafe for QueryClient<T>where
T: RefUnwindSafe,
impl<T> Send for QueryClient<T>where
T: Send,
impl<T> Sync for QueryClient<T>where
T: Sync,
impl<T> Unpin for QueryClient<T>where
T: Unpin,
impl<T> UnwindSafe for QueryClient<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request