Skip to content

Add Presto Go Client v2 RFC#57

Open
ethanyzhang wants to merge 1 commit intoprestodb:mainfrom
ethanyzhang:go-client-v2-rfc
Open

Add Presto Go Client v2 RFC#57
ethanyzhang wants to merge 1 commit intoprestodb:mainfrom
ethanyzhang:go-client-v2-rfc

Conversation

@ethanyzhang
Copy link

@ethanyzhang ethanyzhang commented Feb 13, 2026

Summary

Proposes adopting presto-go as the official Presto Go client v2, replacing the unmaintained prestodb/presto-go-client.

The v2 client is already in production use by pbench and addresses longstanding gaps in the v1 client:

  • Modular auth — Kerberos and OAuth2 (with token refresh) as opt-in separate Go modules, eliminating the forced gokrb5 dependency
  • Query introspection APIs/v1/query, /v1/cluster, /v1/queryState for monitoring and admin tooling
  • query_json subpackage — structured types for parsing query info/stats, with derived metrics for performance analysis
  • Go genericsNullSlice[T], NullMap[K,V], NullRow[T] replace ~30 explicit scanner types
  • Trino compatibility — automatic header translation for cross-engine benchmarking
  • Mutual TLS, OAuth2 client credentials flow, all 4 Presto isolation levels
  • Thread-safe sessions, batch streaming with Drain, retry body buffering
  • prestotest mock server — stdlib-only, reusable by downstream apps for hermetic testing
  • CI — 80% coverage threshold, lint, govulncheck

No breaking changes to v1. Users opt in via a new module path with a documented migration guide.

@prestodb-ci prestodb-ci added the from:IBM PRs from IBM label Feb 13, 2026
@prestodb-ci prestodb-ci requested review from a team, aaneja and bibith4 and removed request for a team February 13, 2026 01:31
@ethanyzhang ethanyzhang force-pushed the go-client-v2-rfc branch 5 times, most recently from 8b03230 to a474446 Compare February 13, 2026 01:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

from:IBM PRs from IBM

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants