> ## Documentation Index
> Fetch the complete documentation index at: https://docs.parable.work/llms.txt
> Use this file to discover all available pages before exploring further.

# Supported Operations

> Check the supported read-only SQL, prepared statement, and metadata operations.

Parable implements the read-only subset of Arrow Flight SQL needed to discover
Workspace data and execute queries. Clients should inspect `GetSqlInfo`
capability metadata instead of assuming that the server implements every Flight
SQL operation.

## Query and metadata commands

| Flight SQL command              | `GetFlightInfo` | `GetSchema` | `DoGet`   |
| ------------------------------- | --------------- | ----------- | --------- |
| `CommandStatementQuery`         | Supported       | Supported   | Supported |
| `CommandPreparedStatementQuery` | Supported       | Supported   | Supported |
| `CommandGetCatalogs`            | Supported       | Supported   | Supported |
| `CommandGetDbSchemas`           | Supported       | Supported   | Supported |
| `CommandGetTables`              | Supported       | Supported   | Supported |
| `CommandGetTableTypes`          | Supported       | Supported   | Supported |
| `CommandGetSqlInfo`             | Supported       | Supported   | Supported |
| `CommandGetPrimaryKeys`         | Supported       | Supported   | Supported |
| `CommandGetImportedKeys`        | Supported       | Supported   | Supported |
| `CommandGetExportedKeys`        | Supported       | Supported   | Supported |
| `CommandGetCrossReference`      | Supported       | Supported   | Supported |

`GetFlightInfo` validates and plans a SQL statement, then returns an opaque
ticket. `DoGet` executes that ticket and streams Arrow record batches.

## Prepared statements

`DoAction` supports the read-only prepared statement lifecycle:

* `CreatePreparedStatement` creates a server-side handle.
* `ClosePreparedStatement` releases it.

Use prepared statements when query values come from users or another untrusted
source. Transactions, savepoints, and prepared writes are not supported.

## Unsupported operations

The SQL surface does not support:

* Writes, ingestion, or transactions.
* `DoPut` or `DoExchange`.
* `Handshake`, `ListFlights`, or `PollFlightInfo`.
* Transaction, savepoint, or cancellation actions.

Unsupported commands return gRPC `UNIMPLEMENTED`. `ListActions` returns an
empty stream because the server does not advertise actions proactively.

Primary and foreign-key commands return logical metadata. They do not make the
underlying tables enforce constraints.
