Struct arrow_flight::sql::CommandGetCrossReference
source · pub struct CommandGetCrossReference {
pub pk_catalog: Option<String>,
pub pk_db_schema: Option<String>,
pub pk_table: String,
pub fk_catalog: Option<String>,
pub fk_db_schema: Option<String>,
pub fk_table: String,
}Expand description
Represents a request to retrieve 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) on a Flight SQL enabled backend. Used in the command member of FlightDescriptor for the following RPC calls:
- GetSchema: return the Arrow schema of the query.
- GetFlightInfo: execute the catalog metadata request.
The returned Arrow schema will be: < pk_catalog_name: utf8, pk_db_schema_name: utf8, pk_table_name: utf8 not null, pk_column_name: utf8 not null, fk_catalog_name: utf8, fk_db_schema_name: utf8, fk_table_name: utf8 not null, fk_column_name: utf8 not null, key_sequence: int32 not null, fk_key_name: utf8, pk_key_name: utf8, update_rule: uint8 not null, delete_rule: uint8 not null > The returned data should be ordered by pk_catalog_name, pk_db_schema_name, pk_table_name, pk_key_name, then key_sequence. update_rule and delete_rule returns a byte that is equivalent to actions: - 0 = CASCADE - 1 = RESTRICT - 2 = SET NULL - 3 = NO ACTION - 4 = SET DEFAULT
Fields§
§pk_catalog: Option<String>The catalog name where the parent table is. An empty string retrieves those without a catalog. If omitted the catalog name should not be used to narrow the search.
pk_db_schema: Option<String>The Schema name where the parent table is. An empty string retrieves those without a schema. If omitted the schema name should not be used to narrow the search.
pk_table: StringThe parent table name. It cannot be null.
fk_catalog: Option<String>The catalog name where the foreign table is. An empty string retrieves those without a catalog. If omitted the catalog name should not be used to narrow the search.
fk_db_schema: Option<String>The schema name where the foreign table is. An empty string retrieves those without a schema. If omitted the schema name should not be used to narrow the search.
fk_table: StringThe foreign table name. It cannot be null.
Implementations§
source§impl CommandGetCrossReference
impl CommandGetCrossReference
sourcepub fn pk_catalog(&self) -> &str
pub fn pk_catalog(&self) -> &str
Returns the value of pk_catalog, or the default value if pk_catalog is unset.
sourcepub fn pk_db_schema(&self) -> &str
pub fn pk_db_schema(&self) -> &str
Returns the value of pk_db_schema, or the default value if pk_db_schema is unset.
sourcepub fn fk_catalog(&self) -> &str
pub fn fk_catalog(&self) -> &str
Returns the value of fk_catalog, or the default value if fk_catalog is unset.
sourcepub fn fk_db_schema(&self) -> &str
pub fn fk_db_schema(&self) -> &str
Returns the value of fk_db_schema, or the default value if fk_db_schema is unset.
Trait Implementations§
source§impl Clone for CommandGetCrossReference
impl Clone for CommandGetCrossReference
source§fn clone(&self) -> CommandGetCrossReference
fn clone(&self) -> CommandGetCrossReference
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl Debug for CommandGetCrossReference
impl Debug for CommandGetCrossReference
source§impl Default for CommandGetCrossReference
impl Default for CommandGetCrossReference
source§impl Message for CommandGetCrossReference
impl Message for CommandGetCrossReference
source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
source§fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>where
B: BufMut,
Self: Sized,
fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>where B: BufMut, Self: Sized,
source§fn encode_to_vec(&self) -> Vec<u8, Global>where
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8, Global>where Self: Sized,
source§fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>where
B: BufMut,
Self: Sized,
fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>where B: BufMut, Self: Sized,
source§fn encode_length_delimited_to_vec(&self) -> Vec<u8, Global>where
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8, Global>where Self: Sized,
source§fn decode<B>(buf: B) -> Result<Self, DecodeError>where
B: Buf,
Self: Default,
fn decode<B>(buf: B) -> Result<Self, DecodeError>where B: Buf, Self: Default,
source§fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>where
B: Buf,
Self: Default,
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>where B: Buf, Self: Default,
source§fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>where
B: Buf,
Self: Sized,
fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>where B: Buf, Self: Sized,
self. Read moresource§fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>where
B: Buf,
Self: Sized,
fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>where B: Buf, Self: Sized,
self.source§impl PartialEq<CommandGetCrossReference> for CommandGetCrossReference
impl PartialEq<CommandGetCrossReference> for CommandGetCrossReference
source§fn eq(&self, other: &CommandGetCrossReference) -> bool
fn eq(&self, other: &CommandGetCrossReference) -> bool
self and other values to be equal, and is used
by ==.impl StructuralPartialEq for CommandGetCrossReference
Auto Trait Implementations§
impl RefUnwindSafe for CommandGetCrossReference
impl Send for CommandGetCrossReference
impl Sync for CommandGetCrossReference
impl Unpin for CommandGetCrossReference
impl UnwindSafe for CommandGetCrossReference
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> 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