1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00
rails--rails/activerecord/test/models
Ryuta Kamizono 999bf3d097 Allow where references association names as joined table alias names
If a table is joined multiple times, those tables are aliased other than
the first one.

It happens easily on self referential associations, and in that case
currently there is no way to work custom attribute (type casting) and
attribute alias resolution for aliased tables in `where` conditions.

To address the issue, it will allow `where` references association names
as table aliases. If association names are referenced in `where`, those
names are used for joined table alias names.

```ruby
class Comment < ActiveRecord::Base
  enum label: [:default, :child]
  has_many :children, class_name: "Comment", foreign_key: :parent_id
end

# ... FROM comments LEFT OUTER JOIN comments children ON ... WHERE children.label = 1
Comment.includes(:children).where("children.label": "child")
```

Fixes #39727.
2020-08-26 10:07:13 +09:00
..
admin Update prefix and allow suffix options for store accessors 2018-06-12 07:10:09 -07:00
autoloadable Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
publisher Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
account.rb Ensure Contextual validations fire on associations 2019-10-04 12:17:53 +01:00
admin.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
aircraft.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
arunit2_model.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
author.rb Fix incorrect result when eager loading with duplicated through association with join scope 2020-08-07 13:39:30 +09:00
auto_id.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
binary.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
bird.rb Revert "Merge pull request #35186 from kamipo/fix_leaking_scope_on_relation_create" 2019-02-15 12:06:45 +09:00
book.rb Fix pluck to correctly type cast same column names and association columns 2020-05-13 20:24:42 +09:00
boolean.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
bulb.rb Allow extra scoping in callbacks when create on association relation 2020-04-10 16:10:49 +09:00
cake_designer.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
car.rb Fix unscoping association scope on joins not to raise an error 2020-04-16 00:34:41 +09:00
carrier.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
cat.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
categorization.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
category.rb Fix reset of the source association when through association is loaded 2019-02-20 13:48:51 +02:00
chef.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
citation.rb Eager loading/preloading should be worked regardless of large number of records 2018-09-12 01:11:38 +09:00
club.rb Enable Layout/EmptyLinesAroundAccessModifier cop 2019-06-13 12:00:45 +09:00
college.rb Removes require_dependency from the AR test suite 2020-05-06 09:01:38 +02:00
column.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
column_name.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
comment.rb Allow where references association names as joined table alias names 2020-08-26 10:07:13 +09:00
company.rb has_attribute? should be aware of attribute aliases 2020-06-03 00:59:35 +09:00
company_in_module.rb Enable Layout/EmptyLinesAroundAccessModifier cop 2019-06-13 12:00:45 +09:00
computer.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
contact.rb Deduplicate various Active Record schema cache structures 2019-06-03 13:31:42 +02:00
content.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
contract.rb Fix pluck and select with custom attributes 2019-02-13 02:47:46 +09:00
country.rb create_table with :primary_key option has no effect if id: false is given 2018-10-27 22:57:16 +09:00
course.rb Removes require_dependency from the AR test suite 2020-05-06 09:01:38 +02:00
customer.rb Remove unused/missing to_money converter in the test/doc 2018-01-29 16:45:29 +09:00
customer_carrier.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
dashboard.rb Ensure custom PK types are casted in through reflection queries 2019-08-07 16:27:33 -04:00
default.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
department.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
developer.rb Support where with comparison operators (>, >=, <, and <=) 2020-07-06 10:24:48 +09:00
dog.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
dog_lover.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
doubloon.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
drink_designer.rb Polymorphic has_one touch: Reset association cache result after create transaction 2019-07-31 05:59:23 +02:00
edge.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
electron.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
engine.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
entrant.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
entry.rb Add delegated type to Active Record (#39341) 2020-05-23 15:14:40 -07:00
essay.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
event.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
eye.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
face.rb Rename horrible and dirty to puzzled and confused in test models 2020-08-25 18:32:52 +02:00
family.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
family_tree.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
friendship.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
frog.rb Merge pull request #30956 from CJStadler/with-lock-changed-deprecation 2018-03-28 13:11:01 -04:00
guid.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
guitar.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
hotel.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
human.rb Rename horrible and dirty to puzzled and confused in test models 2020-08-25 18:32:52 +02:00
image.rb :polymorphic, :as, and :foreign_type are valid for polymorphic association 2019-11-10 10:54:58 +09:00
interest.rb Replace test Man with Human 2020-08-14 11:37:09 -04:00
invoice.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
item.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
job.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
joke.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
keyboard.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
legacy_thing.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
lesson.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
line_item.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
liquid.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
matey.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
measurement.rb This PR adds support to retrieve partitioned indexes when asking for 2020-02-06 07:36:44 +02:00
member.rb Ensure to calculate column aliases after all table aliases are constructed 2018-06-19 22:21:51 +09:00
member_detail.rb Using existing models for building multiple has_one through tests 2018-04-22 04:16:44 +09:00
member_type.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
membership.rb allow table name and direction in string order arg 2017-11-09 22:41:33 +10:30
mentor.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
message.rb Add delegated type to Active Record (#39341) 2020-05-23 15:14:40 -07:00
minimalistic.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
minivan.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
mixed_case_monkey.rb Replace test Man with Human 2020-08-14 11:37:09 -04:00
molecule.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
mouse.rb Don't validate non dirty association targets 2019-07-15 18:21:20 +01:00
movie.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
node.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
non_primary_key.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
notification.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
numeric_data.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
order.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
organization.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
other_dog.rb Removes require_dependency from the AR test suite 2020-05-06 09:01:38 +02:00
owner.rb try using regexes 2017-11-09 22:42:15 +10:30
parrot.rb Exercise HABTM fixtures with foreign key constraints 2018-10-30 11:08:41 +09:00
person.rb Enable Layout/EmptyLinesAroundAccessModifier cop 2019-06-13 12:00:45 +09:00
personal_legacy_thing.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
pet.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
pet_treasure.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
pirate.rb Ensure Contextual validations fire on associations 2019-10-04 12:17:53 +01:00
possession.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
post.rb Avoid implicit create_with for StiClass.all 2020-08-01 23:02:50 +09:00
price_estimate.rb Fix numericality validator not to be affected by custom getter 2018-08-13 23:28:46 +09:00
professor.rb Removes require_dependency from the AR test suite 2020-05-06 09:01:38 +02:00
project.rb try using regexes 2017-11-09 22:42:15 +10:30
publisher.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
randomly_named_c1.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
rating.rb Maintain extra joins for string or complex arel conditions 2019-10-04 13:29:18 +09:00
reader.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
recipe.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
record.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
reference.rb Ensure StatementCache#execute never raises RangeError 2019-01-18 16:01:14 +09:00
reply.rb Allow attribute aliases for validates_uniqueness_of 2020-06-01 22:44:39 +09:00
section.rb Fix circular autosave: true 2018-07-23 14:53:27 -07:00
seminar.rb Fix circular autosave: true 2018-07-23 14:53:27 -07:00
session.rb Fix circular autosave: true 2018-07-23 14:53:27 -07:00
ship.rb Ensure Contextual validations fire on associations 2019-10-04 12:17:53 +01:00
ship_part.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
shop.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
shop_account.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
speedometer.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
sponsor.rb Make reflection.klass raise if polymorphic? not to be misused 2018-02-19 00:11:29 +09:00
squeak.rb Don't validate non dirty association targets 2019-07-15 18:21:20 +01:00
string_key_object.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
student.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
subscriber.rb Ensure custom PK types are casted in through reflection queries 2019-08-07 16:27:33 -04:00
subscription.rb Ensure custom PK types are casted in through reflection queries 2019-08-07 16:27:33 -04:00
tag.rb Fix newly added reflection order when redefining association 2018-01-04 22:55:16 +09:00
tagging.rb Don't update counter cache when through record was not destroyed 2018-01-14 20:46:19 +00:00
task.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
topic.rb Allow define scope for Ruby reserved keywords 2020-05-14 21:39:39 +09:00
toy.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
traffic_light.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
treasure.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
treaty.rb create_table with :primary_key option has no effect if id: false is given 2018-10-27 22:57:16 +09:00
tree.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
tuning_peg.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
tyre.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
user.rb Allow token length configuration for has_secure_token method 2019-04-09 17:25:50 -04:00
uuid_child.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
uuid_item.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
uuid_parent.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
vegetables.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
vertex.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
warehouse_thing.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
wheel.rb Fix touch option to behave consistently with Persistence#touch method 2018-06-18 19:08:41 +09:00
without_table.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00
zine.rb Use frozen-string-literal in ActiveRecord 2017-07-19 22:27:07 +03:00