提交 9eba4126 编写于 作者: R Ryuta Kamizono

Merge pull request #36706 from kirs/dedup-optimizer-hints

[ActiveRecord] Deduplicate optimizer hints
上级 3d2bdc11
......@@ -952,7 +952,7 @@ def optimizer_hints(*args)
def optimizer_hints!(*args) # :nodoc:
args.flatten!
self.optimizer_hints_values += args
self.optimizer_hints_values |= args
self
end
......
......@@ -363,6 +363,13 @@ def test_relation_with_optimizer_hints_filters_sql_comment_delimiters
assert_match %r{/\*\+ BADHINT \*/}, post_with_hint.to_sql
end
def test_does_not_duplicate_optimizer_hints_on_merge
escaped_table = Post.connection.quote_table_name("posts")
expected = "SELECT /*+ OMGHINT */ #{escaped_table}.* FROM #{escaped_table}"
query = Post.optimizer_hints("OMGHINT").merge(Post.optimizer_hints("OMGHINT")).to_sql
assert_equal expected, query
end
class EnsureRoundTripTypeCasting < ActiveRecord::Type::Value
def type
:string
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册