Skip to main content
Flight SQL returns Arrow schemas and Arrow record batches. The physical Arrow type tells a client how to decode a value; optional Parable metadata explains its product meaning and query characteristics.

Temporal types

Contract-derived temporal scalars use native Arrow types: String-like semantic scalars remain Arrow Utf8 and carry optional field metadata. Tables without a contract-derived override can use the Arrow schema provided by their underlying table provider.

Semantic scalar metadata

When a field has a known semantic scalar, its Arrow metadata can include: For example, columns carrying Contact.Email can be joined across Providers and to workspace.users.email when they represent the same person. Treat these keys as optional. An omitted key means unknown or not computed; it does not mean an empty value, false, or zero.

Table annotations

Table schemas can also describe logical identity and current annotations: Field metadata can mark internal columns with parable.annotation.hidden or warn that a representation limits data skipping with parable.annotation.poor_pruning. Generic clients can ignore Parable metadata and still decode the Arrow schema. Applications that use it should read the contract version and tolerate additive keys.