1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00
rails--rails/activerecord/lib/arel/nodes
Ryuta Kamizono 1ac40f16c5 Move Arel attribute normalization into arel_table
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`.
2020-07-19 23:41:24 +09:00
..
and.rb Make And and Case into expression nodes 2019-01-24 14:35:52 -05:00
ascending.rb
binary.rb IsDistinctFrom is not equality node 2020-06-19 16:37:37 +09:00
bind_param.rb Refactor Arel node Casted, Quoted, and BindParam 2020-04-28 16:26:18 +09:00
case.rb Make And and Case into expression nodes 2019-01-24 14:35:52 -05:00
casted.rb Refactor Arel node Casted, Quoted, and BindParam 2020-04-28 16:26:18 +09:00
comment.rb Add Relation#annotate for SQL commenting 2019-03-21 20:30:56 -07:00
count.rb
delete_statement.rb Revert unused code and re-using query annotation for update_all and delete_all 2019-04-01 15:04:11 +09:00
descending.rb
equality.rb IsDistinctFrom is not equality node 2020-06-19 16:37:37 +09:00
extract.rb
false.rb
full_outer_join.rb
function.rb
grouping.rb Refactor fetch_attribute 2020-03-13 13:38:32 -04:00
homogeneous_in.rb Fix merging NOT IN clause to behave the same as before 2020-05-18 15:56:44 +09:00
in.rb Implement equality? rather than inheriting Equality for In node 2020-06-21 07:35:17 +09:00
infix_operation.rb Use symbol consistently for operator in InfixOperation 2020-05-18 08:02:00 +09:00
inner_join.rb
insert_statement.rb Revert unused code and re-using query annotation for update_all and delete_all 2019-04-01 15:04:11 +09:00
join_source.rb Fix docs to replace http with https in activerecord [ci skip] 2019-08-26 22:34:33 +09:00
matches.rb
named_function.rb
node.rb Perf: Improve performance of where when using an array of values 2020-05-01 15:12:05 -04:00
node_expression.rb
ordering.rb Allow #nulls_first and #nulls_last in PostgreSQL 2019-12-31 15:59:59 -05:00
outer_join.rb
over.rb
regexp.rb
right_outer_join.rb
select_core.rb Revert unused code and re-using query annotation for update_all and delete_all 2019-04-01 15:04:11 +09:00
select_statement.rb
sql_literal.rb Refactor fetch_attribute 2020-03-13 13:38:32 -04:00
string_join.rb
table_alias.rb Move Arel attribute normalization into arel_table 2020-07-19 23:41:24 +09:00
terminal.rb
true.rb
unary.rb Allow #nulls_first and #nulls_last in PostgreSQL 2019-12-31 15:59:59 -05:00
unary_operation.rb
unqualified_column.rb
update_statement.rb Revert unused code and re-using query annotation for update_all and delete_all 2019-04-01 15:04:11 +09:00
values_list.rb Get rid of Arel::Nodes::Values 2019-03-18 03:57:16 +09:00
window.rb
with.rb