mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
1ac40f16c5
In Active Record internal, `arel_table` is not directly used but `arel_attribute` is used, since `arel_table` doesn't normalize an attribute name as a string, and doesn't resolve attribute aliases. For the above reason, `arel_attribute` should be used rather than `arel_table`, but most people directly use `arel_table`, both `arel_table` and `arel_attribute` are private API though. Although I'd not recommend using private API, `arel_table` is actually widely used, and it is also problematic for unscopeable queries and hash-like relation merging friendly, as I explained at #39863. To resolve the issue, this change moves Arel attribute normalization (attribute name as a string, and attribute alias resolution) into `arel_table`. |
||
---|---|---|
.. | ||
and.rb | ||
ascending.rb | ||
binary.rb | ||
bind_param.rb | ||
case.rb | ||
casted.rb | ||
comment.rb | ||
count.rb | ||
delete_statement.rb | ||
descending.rb | ||
equality.rb | ||
extract.rb | ||
false.rb | ||
full_outer_join.rb | ||
function.rb | ||
grouping.rb | ||
homogeneous_in.rb | ||
in.rb | ||
infix_operation.rb | ||
inner_join.rb | ||
insert_statement.rb | ||
join_source.rb | ||
matches.rb | ||
named_function.rb | ||
node.rb | ||
node_expression.rb | ||
ordering.rb | ||
outer_join.rb | ||
over.rb | ||
regexp.rb | ||
right_outer_join.rb | ||
select_core.rb | ||
select_statement.rb | ||
sql_literal.rb | ||
string_join.rb | ||
table_alias.rb | ||
terminal.rb | ||
true.rb | ||
unary.rb | ||
unary_operation.rb | ||
unqualified_column.rb | ||
update_statement.rb | ||
values_list.rb | ||
window.rb | ||
with.rb |