arrow_flight::sql::client

Struct FlightSqlServiceClient

Source
pub struct FlightSqlServiceClient<T> {
    token: Option<String>,
    headers: HashMap<String, String>,
    flight_client: FlightServiceClient<T>,
}
Expand description

A FlightSQLServiceClient is an endpoint for retrieving or storing Arrow data by FlightSQL protocol.

Fields§

§token: Option<String>§headers: HashMap<String, String>§flight_client: FlightServiceClient<T>

Implementations§

Source§

impl FlightSqlServiceClient<Channel>

A FlightSql protocol client that can run queries against FlightSql servers This client is in the “experimental” stage. It is not guaranteed to follow the spec in all instances. Github issues are welcomed.

Source

pub fn new(channel: Channel) -> Self

Creates a new FlightSql client that connects to a server over an arbitrary tonic Channel

Source

pub fn new_from_inner(inner: FlightServiceClient<Channel>) -> Self

Creates a new higher level client with the provided lower level client

Source

pub fn inner(&self) -> &FlightServiceClient<Channel>

Return a reference to the underlying FlightServiceClient

Source

pub fn inner_mut(&mut self) -> &mut FlightServiceClient<Channel>

Return a mutable reference to the underlying FlightServiceClient

Source

pub fn into_inner(self) -> FlightServiceClient<Channel>

Consume this client and return the underlying FlightServiceClient

Source

pub fn set_token(&mut self, token: String)

Set auth token to the given value.

Source

pub fn clear_token(&mut self)

Clear the auth token.

Source

pub fn token(&self) -> Option<&String>

Share the bearer token with potentially different DoGet clients

Source

pub fn set_header(&mut self, key: impl Into<String>, value: impl Into<String>)

Set header value.

Source

async fn get_flight_info_for_command<M: ProstMessageExt>( &mut self, cmd: M, ) -> Result<FlightInfo, ArrowError>

Source

pub async fn execute( &mut self, query: String, transaction_id: Option<Bytes>, ) -> Result<FlightInfo, ArrowError>

Execute a query on the server.

Source

pub async fn handshake( &mut self, username: &str, password: &str, ) -> Result<Bytes, ArrowError>

Perform a handshake with the server, passing credentials and establishing a session.

If the server returns an “authorization” header, it is automatically parsed and set as a token for future requests. Any other data returned by the server in the handshake response is returned as a binary blob.

Source

pub async fn execute_update( &mut self, query: String, transaction_id: Option<Bytes>, ) -> Result<i64, ArrowError>

Execute a update query on the server, and return the number of records affected

Source

pub async fn execute_ingest<S>( &mut self, command: CommandStatementIngest, stream: S, ) -> Result<i64, ArrowError>
where S: Stream<Item = Result<RecordBatch>> + Send + 'static,

Execute a bulk ingest on the server and return the number of records added

Source

pub async fn get_catalogs(&mut self) -> Result<FlightInfo, ArrowError>

Request a list of catalogs as tabular FlightInfo results

Source

pub async fn get_db_schemas( &mut self, request: CommandGetDbSchemas, ) -> Result<FlightInfo, ArrowError>

Request a list of database schemas as tabular FlightInfo results

Source

pub async fn do_get( &mut self, ticket: impl IntoRequest<Ticket>, ) -> Result<FlightRecordBatchStream, ArrowError>

Given a flight ticket, request to be sent the stream. Returns record batch stream reader

Source

pub async fn do_put( &mut self, request: impl IntoStreamingRequest<Message = FlightData>, ) -> Result<Streaming<PutResult>, ArrowError>

Push a stream to the flight service associated with a particular flight stream.

Source

pub async fn do_action( &mut self, request: impl IntoRequest<Action>, ) -> Result<Streaming<Result>, ArrowError>

DoAction allows a flight client to do a specific action against a flight service

Source

pub async fn get_tables( &mut self, request: CommandGetTables, ) -> Result<FlightInfo, ArrowError>

Request a list of tables.

Source

pub async fn get_primary_keys( &mut self, request: CommandGetPrimaryKeys, ) -> Result<FlightInfo, ArrowError>

Request the primary keys for a table.

Source

pub async fn get_exported_keys( &mut self, request: CommandGetExportedKeys, ) -> Result<FlightInfo, ArrowError>

Retrieves a description about the foreign key columns that reference the primary key columns of the given table.

Source

pub async fn get_imported_keys( &mut self, request: CommandGetImportedKeys, ) -> Result<FlightInfo, ArrowError>

Retrieves the foreign key columns for the given table.

Source

pub async fn get_cross_reference( &mut self, request: CommandGetCrossReference, ) -> Result<FlightInfo, ArrowError>

Retrieves a description of the foreign key columns in the given foreign key table that reference the primary key or the columns representing a unique constraint of the parent table (could be the same or a different table).

Source

pub async fn get_table_types(&mut self) -> Result<FlightInfo, ArrowError>

Request a list of table types.

Source

pub async fn get_sql_info( &mut self, sql_infos: Vec<SqlInfo>, ) -> Result<FlightInfo, ArrowError>

Request a list of SQL information.

Source

pub async fn get_xdbc_type_info( &mut self, request: CommandGetXdbcTypeInfo, ) -> Result<FlightInfo, ArrowError>

Request XDBC SQL information.

Source

pub async fn prepare( &mut self, query: String, transaction_id: Option<Bytes>, ) -> Result<PreparedStatement<Channel>, ArrowError>

Create a prepared statement object.

Source

pub async fn begin_transaction(&mut self) -> Result<Bytes, ArrowError>

Request to begin a transaction.

Source

pub async fn end_transaction( &mut self, transaction_id: Bytes, action: EndTransaction, ) -> Result<(), ArrowError>

Request to commit/rollback a transaction.

Source

pub async fn close(&mut self) -> Result<(), ArrowError>

Explicitly shut down and clean up the client.

Source

fn set_request_headers<T>( &self, req: Request<T>, ) -> Result<Request<T>, ArrowError>

Trait Implementations§

Source§

impl<T: Clone> Clone for FlightSqlServiceClient<T>

Source§

fn clone(&self) -> FlightSqlServiceClient<T>

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<T: Debug> Debug for FlightSqlServiceClient<T>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> FromRef<T> for T
where T: Clone,

§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<T> Allocation for T
where T: RefUnwindSafe + Send + Sync,