trino-client-ruby 1.0.0をリリースしました

トレジャーデータが公開しているOSSの1つにpresto-client-rubyというRuby用のPrestoクライアントライブラリがあり、最近色々と弄る機会が増えてきたのでメンテナにしていただいたのですが、PrestoSQLがTrinoのリブランディングされ通信の仕様も若干変わったため、Trino対応させるとともにtrino-client-rubyに改名し、バージョンも1.0.0としてリリースし直しました。

github.com

PrestoはレスポンスのJSONの形式がバージョンによって若干異なるため、presto-client-rubyではmodel_versionというオプションで使用するPrestoのモデルを指定できるようになっているのですが、このオプションで351以前のバージョンを指定するとPrestoモードで動作するようになっています。デフォルトではTrinoモードで動作します。

client = Trino::Client.new(
  server: "localhost:8880",
  ssl: {verify: false},
  catalog: "native",
  schema: "default",
  ...
  model_version: "316" # Works in Presto mode
)

ただ、model_versionオプションは必ずしも対象のPrestoのバージョンをそのまま指定すればよいというわけではなく、ちょっとわかりにくい部分もあるのでクライアントのインスタンス生成時にPresto/Trinoのバージョンを確認しに行って自動で判定するようにしてもいいかもしれないと思っています。

今後も改善できる点があれば引き続きメンテしていきたいと思います。