Problem
Trino (formerly PrestoSQL) is a widely used distributed SQL query engine for federated analytics over data lakes, object stores, and other databases. TablePro can't connect to a Trino cluster today, so users querying lakehouse-style workloads have to fall back to the Trino CLI or DBeaver.
Proposed solution
Add a registry-only database-driver plugin for Trino, alongside the existing plugin drivers (MSSQL, Snowflake, ClickHouse-style analytics engines), so the core app takes on no new dependency and updates ship through the registry.
Trino speaks a documented HTTP REST protocol (JSON over POST /v1/statement with follow-on nextUri polling), so the driver can be a pure-Swift wire client with no C bridge, similar in shape to the API-based drivers (BigQuery, Snowflake, Cloudflare D1). Scope:
DriverPlugin + PluginDatabaseDriver implementation issuing statements over the REST protocol and paging results via nextUri.
- Auth: password (LDAP/PASSWORD over HTTPS) and JWT bearer token to start; note Kerberos/OAuth2 as follow-ups.
- Catalog/schema/table browsing via
SHOW CATALOGS / SHOW SCHEMAS / information_schema, mapped through the schema-aware browse-query overload.
- Type mapping for Trino's type system (varchar, varbinary, decimal, array/map/row, timestamp with/without time zone).
- Read-focused first cut; DML/DDL where the connected catalog supports it.
DatabaseType.trino static constant, resolve_plugin_info() mapping in build-plugin.yml, docs/index.mdx supported-databases row, CHANGELOG entry.
Presto compatibility can be considered later since the protocol is close, but Trino is the priority.
Open questions
- Default port is 8080 (HTTP); confirm how to surface the required catalog/schema in the connection form (Trino connections are catalog-scoped).
- Whether to reuse the existing analytics-engine result handling or add Trino-specific streaming for large result sets.
- Auth matrix priority: PASSWORD vs JWT vs OAuth2/Kerberos.
Tracking
This issue tracks the overall Trino support effort. Sub-tasks (protocol client, auth, schema browsing, type mapping, registry publish) will be broken out as work starts.
Problem
Trino (formerly PrestoSQL) is a widely used distributed SQL query engine for federated analytics over data lakes, object stores, and other databases. TablePro can't connect to a Trino cluster today, so users querying lakehouse-style workloads have to fall back to the Trino CLI or DBeaver.
Proposed solution
Add a registry-only
database-driverplugin for Trino, alongside the existing plugin drivers (MSSQL, Snowflake, ClickHouse-style analytics engines), so the core app takes on no new dependency and updates ship through the registry.Trino speaks a documented HTTP REST protocol (JSON over
POST /v1/statementwith follow-onnextUripolling), so the driver can be a pure-Swift wire client with no C bridge, similar in shape to the API-based drivers (BigQuery, Snowflake, Cloudflare D1). Scope:DriverPlugin+PluginDatabaseDriverimplementation issuing statements over the REST protocol and paging results vianextUri.SHOW CATALOGS/SHOW SCHEMAS/information_schema, mapped through the schema-aware browse-query overload.DatabaseType.trinostatic constant,resolve_plugin_info()mapping inbuild-plugin.yml,docs/index.mdxsupported-databases row, CHANGELOG entry.Presto compatibility can be considered later since the protocol is close, but Trino is the priority.
Open questions
Tracking
This issue tracks the overall Trino support effort. Sub-tasks (protocol client, auth, schema browsing, type mapping, registry publish) will be broken out as work starts.