$ the-wire · showcase
in_order_of double-serializes values, id_value alias restored
By RepoJournal · Filed · About Rails · Composed from the cited sources · methodology
Rails fixed an in_order_of regression that silently returned no records on encrypted, json, and serialized columns, and restored the id_value writer and query key that a composite-primary-key optimization had removed.
Fix in_order_of serializing values twice rails/rails
cast_values_for_in_order_of serialized each value with the column type, then column.eq and column.in wrapped those values in Casted nodes so Arel serialized them a second time. For deterministic encryption, json columns and serialize coders that double pass encrypted or encoded the value, so the query matched nothing.
Restore id_value= and where(id_value:) without an alias rails/rails
define_id_value swapped the alias_attribute :id_value, :id for a plain reader on non-composite-PK models, which also dropped the writer and the query alias. record.id_value = 1 raises NoMethodError and Model.where(id_value: 1) now targets a column that does not exist; both are restored.
Merge pull request #59209 from kamipo/sqlite-drop-copy-table-rename rails/rails
SQLite3 alter_table loses its rename option, since rename_column was the only caller and now emits native ALTER TABLE ... RENAME COLUMN. The renaming plumbing in copy_table, copy_table_indexes and copy_table_contents goes with it.
Derive the referenced tables from the normalized `where` conditions rails/rails
Dot notation keys are always normalized into a nested hash, so build_where_clause now normalizes first and PredicateBuilder.references only has to look for nested hashes, tuple keys aside. convert_dot_notation_to_hash and expand_from_hash become public API to support that.