Table of Contents

Class CommandGetCrossReference

Namespace
Arrow.Flight.Protocol.Sql
Assembly
Apache.Arrow.Flight.Sql.dll

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
public sealed class CommandGetCrossReference : IMessage<CommandGetCrossReference>, IEquatable<CommandGetCrossReference>, IDeepCloneable<CommandGetCrossReference>, IBufferMessage, IMessage
Inheritance
CommandGetCrossReference
Implements
IDeepCloneable<CommandGetCrossReference>
IBufferMessage
IMessage
Inherited Members
Extension Methods

Constructors

CommandGetCrossReference()

public CommandGetCrossReference()

CommandGetCrossReference(CommandGetCrossReference)

public CommandGetCrossReference(CommandGetCrossReference other)

Parameters

other CommandGetCrossReference

Fields

FkCatalogFieldNumber

Field number for the "fk_catalog" field.

public const int FkCatalogFieldNumber = 4

Field Value

int

FkDbSchemaFieldNumber

Field number for the "fk_db_schema" field.

public const int FkDbSchemaFieldNumber = 5

Field Value

int

FkTableFieldNumber

Field number for the "fk_table" field.

public const int FkTableFieldNumber = 6

Field Value

int

PkCatalogFieldNumber

Field number for the "pk_catalog" field.

public const int PkCatalogFieldNumber = 1

Field Value

int

PkDbSchemaFieldNumber

Field number for the "pk_db_schema" field.

public const int PkDbSchemaFieldNumber = 2

Field Value

int

PkTableFieldNumber

Field number for the "pk_table" field.

public const int PkTableFieldNumber = 3

Field Value

int

Properties

Descriptor

public static MessageDescriptor Descriptor { get; }

Property Value

MessageDescriptor

FkCatalog

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.

public string FkCatalog { get; set; }

Property Value

string

FkDbSchema

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.

public string FkDbSchema { get; set; }

Property Value

string

FkTable

The foreign table name. It cannot be null.

public string FkTable { get; set; }

Property Value

string

HasFkCatalog

Gets whether the "fk_catalog" field is set

public bool HasFkCatalog { get; }

Property Value

bool

HasFkDbSchema

Gets whether the "fk_db_schema" field is set

public bool HasFkDbSchema { get; }

Property Value

bool

HasPkCatalog

Gets whether the "pk_catalog" field is set

public bool HasPkCatalog { get; }

Property Value

bool

HasPkDbSchema

Gets whether the "pk_db_schema" field is set

public bool HasPkDbSchema { get; }

Property Value

bool

Parser

public static MessageParser<CommandGetCrossReference> Parser { get; }

Property Value

MessageParser<CommandGetCrossReference>

PkCatalog

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.

public string PkCatalog { get; set; }

Property Value

string

PkDbSchema

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.

public string PkDbSchema { get; set; }

Property Value

string

PkTable

The parent table name. It cannot be null.

public string PkTable { get; set; }

Property Value

string

Methods

CalculateSize()

Calculates the size of this message in Protocol Buffer wire format, in bytes.

public int CalculateSize()

Returns

int

The number of bytes required to write this message to a coded output stream.

ClearFkCatalog()

Clears the value of the "fk_catalog" field

public void ClearFkCatalog()

ClearFkDbSchema()

Clears the value of the "fk_db_schema" field

public void ClearFkDbSchema()

ClearPkCatalog()

Clears the value of the "pk_catalog" field

public void ClearPkCatalog()

ClearPkDbSchema()

Clears the value of the "pk_db_schema" field

public void ClearPkDbSchema()

Clone()

Creates a deep clone of this object.

public CommandGetCrossReference Clone()

Returns

CommandGetCrossReference

A deep clone of this object.

Equals(CommandGetCrossReference)

Indicates whether the current object is equal to another object of the same type.

public bool Equals(CommandGetCrossReference other)

Parameters

other CommandGetCrossReference

An object to compare with this object.

Returns

bool

true if the current object is equal to the other parameter; otherwise, false.

Equals(object)

Determines whether the specified object is equal to the current object.

public override bool Equals(object other)

Parameters

other object

Returns

bool

true if the specified object is equal to the current object; otherwise, false.

GetHashCode()

Serves as the default hash function.

public override int GetHashCode()

Returns

int

A hash code for the current object.

MergeFrom(CommandGetCrossReference)

Merges the given message into this one.

public void MergeFrom(CommandGetCrossReference other)

Parameters

other CommandGetCrossReference

Remarks

See the user guide for precise merge semantics.

MergeFrom(CodedInputStream)

Merges the data from the specified coded input stream with the current message.

public void MergeFrom(CodedInputStream input)

Parameters

input CodedInputStream

Remarks

See the user guide for precise merge semantics.

ToString()

Returns a string that represents the current object.

public override string ToString()

Returns

string

A string that represents the current object.

WriteTo(CodedOutputStream)

Writes the data to the given coded output stream.

public void WriteTo(CodedOutputStream output)

Parameters

output CodedOutputStream

Coded output stream to write the data to. Must not be null.