method
join_to_update
rails latest stable - Class:
ActiveRecord::ConnectionAdapters
Method deprecated or moved
This method is deprecated or moved on the latest stable version. The last existing version (v5.2.3) is shown here.
join_to_update(update, select, key)public
In the simple case, MySQL allows us to place JOINs directly into the UPDATE query. However, this does not allow for LIMIT, OFFSET and ORDER. To support these, we must use a subquery.
# File activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb, line 219
def join_to_update(update, select, key) # :nodoc:
if select.limit || select.offset || select.orders.any?
super
else
update.table select.source
update.wheres = select.constraints
end
end Related methods
- Instance methods
- add_index
- add_sql_comment!
- begin_db_transaction
- begin_isolated_db_transaction
- bulk_change_table
- case_sensitive_comparison
- change_column
- change_column_comment
- change_column_default
- change_column_null
- change_table_comment
- charset
- clear_cache!
- collation
- columns_for_distinct
- commit_db_transaction
- create_database
- current_database
- default_index_type?
- disable_referential_integrity
- drop_database
- drop_table
- each_hash
- empty_insert_statement_value
- error_number
- exec_rollback_db_transaction
- execute
- execute_and_free
- explain
- foreign_keys
- get_advisory_lock
- index_algorithms
- insert_fixtures_set
- join_to_update
- mariadb?
- native_database_types
- primary_keys
- recreate_database
- release_advisory_lock
- rename_column
- rename_index
- rename_table
- show_variable
- strict_mode?
- supports_advisory_locks?
- supports_bulk_alter?
- supports_datetime_with_precision?
- supports_explain?
- supports_foreign_keys?
- supports_index_sort_order?
- supports_indexes_in_create?
- supports_transaction_isolation?
- supports_views?
- supports_virtual_columns?
- table_comment
- table_options
- truncate
- type_to_sql
- version
- Class methods
- new
- Private methods
-
add_index_for_alter -
add_timestamps_for_alter -
arel_visitor -
binary_to_sql -
can_perform_case_insensitive_comparison_for? -
change_column_for_alter -
column_definitions -
combine_multi_statements -
configure_connection -
create_table_info -
extract_precision -
initialize_type_map -
integer_to_sql -
max_allowed_packet -
max_allowed_packet_reached? -
mismatched_foreign_key -
register_integer_type -
remove_index_for_alter -
remove_timestamps_for_alter -
rename_column_for_alter -
subquery_for -
supports_rename_index? -
text_to_sql -
translate_exception -
version_string