なるようになるブログ

読書感想文かrailsについてかrubyについてか

rails commit log流し読み(2018/11/16)

2018/11/16分のコミットです。

CHANGELOGへの追加はありませんでした。


Arel: Implemented DB-aware NULL-safe comparison (#34451)

ArelにNULL-safe comparison処理(NULL同士を比較した場合に1になる処理)を実装しています。

MySQLでは<=> operator、PostgreSQLではIS DISTINCT FROMSQLiteではIS / IS NOT等DB毎に適切な処理が使用されるようになっています。適切な処理が無い場合は下記SQLが実行されるようになっています。

CASE WHEN (a = b) or (a IS NULL AND b IS NULL)
  THEN 1
  ELSE 0
END = 1

Replace cache_key with cache_key_with_version on caching_with_rails guides [ci skip]

rails guideのCaching with Rails: An Overviewの修正です。

cache keyの生成にcache_keyを使っていた箇所をcache_key_with_versionを使用するよう修正しています。

cache keyにtimestampが含まれる事を前提としていた説明になっているのですが、cache_keyメソッドだとkeyにtimestampは含まれない為。