Rails 6.0.0.rc1 にあわせて Active Record Oracle enhanced adapter 6.0.0.rc1 がリリースされた。yahonda さんリリースありがとうございます。
今回の Oracle への ORM としての目玉は Address ORA-01795: maximum number of expressions in a list is 1000
で、SQL の IN
句に 1,000 件を超えるリストを指定した場合に発生する ORA-01795 を 1,000 件ごとの OR
で繋ぐことでエラーを抑制する振る舞いになる。
これによりアプリケーション側で 1,000 件より多くを渡さないようにロジックを組んだり、それを想定したコードレビューをしたり、データ量が増えるとエラーになったりといったことが発生しなくなる。このあたりたびたびパッチ会などでも相談したりしていた。
yahonda さん、kamipo さん、対応ありがとうございました。