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

# Trino

> Connect to a Trino cluster with TablePro's native Swift driver.

TablePro connects to Trino with a driver written in native Swift. It speaks the Trino client REST protocol directly over HTTP, so there is no JDBC jar or CLI to install. Queries run over `POST /v1/statement` and TablePro pages through the results until the cluster is done.

Presto uses the same protocol under a different header prefix. The current driver targets Trino.

## Install the plugin

Trino is a downloadable driver. Open **Settings > Plugins**, find Trino, and install it. The driver downloads and loads without restarting the app.

## Connection settings

| Field        | Description                                                                                                                                                                                                                                              |
| ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Host         | The Trino coordinator hostname.                                                                                                                                                                                                                          |
| Port         | The coordinator HTTP port. Default `8080`, or `8443` when TLS is on.                                                                                                                                                                                     |
| Username     | The user the query runs as. Sent as `X-Trino-User`.                                                                                                                                                                                                      |
| Catalog      | The default catalog for unqualified table names. Optional; leave blank to browse all catalogs.                                                                                                                                                           |
| Schema       | The default schema. Optional.                                                                                                                                                                                                                            |
| Auth Method  | `Username & Password` for LDAP or password-file auth, or `JWT Access Token` for a bearer token.                                                                                                                                                          |
| Password     | Your password when the auth method is Username & Password. Sent as HTTP Basic auth.                                                                                                                                                                      |
| Access Token | Your JWT when the auth method is JWT Access Token. Sent as a bearer token.                                                                                                                                                                               |
| SSL          | Off by default. The SSL pane sets the mode: Required encrypts without checking the certificate, Verify CA checks the certificate chain, and Verify Identity also checks the hostname. Point CA Certificate at your CA file to trust a private authority. |
| Time Zone    | Optional IANA time zone (for example `America/New_York`) for the session. Leave blank to use the server default.                                                                                                                                         |

Trino requires TLS for any authentication. If you pick Password or JWT, set an SSL mode so the coordinator accepts the credentials.

## Catalogs, schemas, and tables

A Trino connection is scoped to a catalog and schema, but every query can name objects in full as `catalog.schema.table`. TablePro shows catalogs from `SHOW CATALOGS`, schemas from `SHOW SCHEMAS`, and tables and columns from each catalog's `information_schema`. Materialized views appear alongside tables and views. Expand a catalog to see its schemas, then a schema to see its tables. Table row counts come from `SHOW STATS`, and table and column comments come from `information_schema` and the `system.metadata` tables.

Identifiers are quoted with double quotes. Results page with `OFFSET` and `FETCH FIRST`, the order Trino's grammar requires.

## Types

Trino's type system maps to TablePro's grid as follows:

* Numbers keep full precision. `bigint` and `decimal` are read as exact text, not floating point.
* `varbinary` is shown as hex.
* `array`, `map`, and `row` are shown as JSON.
* `json` opens in the JSON viewer.
* `timestamp`, `time`, and their `with time zone` forms keep the value the server returned.

## Editing rows and schema

Edit cells in the data grid and TablePro writes `INSERT`, `UPDATE`, and `DELETE` back, keyed on the primary key when the connector reports one, or on the row's other column values otherwise. Values are written with their Trino type, so a `varchar` holding digits stays quoted and a number stays unquoted. Columns whose type cannot be compared with `=`, such as `array`, `map`, and `row`, are left out of the WHERE clause.

The Structure tab creates tables and adds, drops, renames, and retypes columns. Statements run in autocommit, matching how most Trino connectors handle DDL.

Whether a write succeeds depends on the connected catalog. Many connectors are read-only or support only part of SQL, so a valid statement can still return `NOT_SUPPORTED` from the connector. Changing a column's type in particular is only supported by a few connectors.

## Authentication

* **Username & Password** sends HTTP Basic auth. Use it for LDAP or password-file authentication. Requires TLS.
* **JWT Access Token** sends the token as a bearer credential. Requires TLS.
* **Client certificate** works with any SSL mode: set the Client Certificate and Client Key files in the SSL pane and TablePro presents them for mutual TLS. Use it for Trino's certificate authentication.

Kerberos and OAuth 2.0 are not yet supported.

## Troubleshooting

* **Cannot reach the coordinator.** Confirm the host and that the coordinator port is open. The default is `8080` for HTTP and `8443` for HTTPS.
* **Authentication failed.** Password and JWT auth need TLS. Turn SSL on and confirm the credentials.
* **A write fails with NOT\_SUPPORTED.** The connected catalog's connector does not support that operation. Check the connector's documentation for what it allows.
