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: String
The 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: String
The 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(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
.Source§impl PartialEq for CommandGetCrossReference
impl PartialEq for CommandGetCrossReference
impl StructuralPartialEq for CommandGetCrossReference
Auto Trait Implementations§
impl Freeze for CommandGetCrossReference
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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