前半は仕事が忙しすぎてOSS活動どころではなかったのですが、後半から少し余裕ができたのでTrinoにも細かい改善やバグ修正などいくつかPRを送って取り込んでもらうことができたので記録のためにまとめてみました。
- Fix error message in SqlTimestampWithTimeZone by takezoe · Pull Request #18049 · trinodb/trino · GitHub
- エラーメッセージを修正しただけ。 別件でタイムスタンプ周りのコードを眺めていて見つけた。
- Check type of filter expression at statement analysis by takezoe · Pull Request #18460 · trinodb/trino · GitHub
- Coerce boolean type for filter expression by takezoe · Pull Request #18551 · trinodb/trino · GitHub
- こちらも似たような問題の修正。最初からこっちの修正を思いついていれば上の問題もカバーできたので二度手間になってしまった。
- Mark fields of CsvPrinter.CsvOutputFormat as final by takezoe · Pull Request #18737 · trinodb/trino · GitHub
- Trinoのコードはできるだけフィールドをfinalにするスタイルのようだけどコードを眺めていたらfinalにできそうな箇所があったのでPRを出してみた。こういうのは他にもありそうなので見つけたらPRチャンス。
- DevelopmentServer cannot be launched by takezoe · Pull Request #18773 · trinodb/trino · GitHub
- 開発時の動作確認に使用するDevelopmentServerがMavenの依存関係の問題で動かなくなっていたので修正。
- Treat overflow error in DATE_ADD as user error by takezoe · Pull Request #18755 · trinodb/trino · GitHub
- DATE_ADDに大きすぎる値を渡すと発生するオーバーフローをユーザーエラーになるよう修正。上記のコンパイルエラーになってしまう問題もそうですが、エラータイプによってモニタリングしているので適切なエラーを返すのは重要。
- Remove eliminating sort optimization by takezoe · Pull Request #19387 · trinodb/trino · GitHub
- window関数でソート済みの場合に同じキーでソートするORDER BYを削除する最適化がうまく動かないケースがあったので最適化自体を削除。最適化を残しつつ問題を修正することもできそうですがそこそこ大きな修正になりそう。
- Add regression test for sort elimination by takezoe · Pull Request #19496 · trinodb/trino · GitHub
- 上の修正のリグレッションテストを足しただけ。
- Fix placement of precision parameter of WITH TIME ZONE types by takezoe · Pull Request #20177 · trinodb/trino · GitHub
- JDBCドライバが返すTIME WITH TIME ZONE、TIMESTAMP WITH TIME ZONEの型名を修正。JDBCのテストケースには他にもTODOが色々あるのでPRチャンスかも。
年末までにまだ増えるかもしれないので増えたら追記します。