File tree Expand file tree Collapse file tree 2 files changed +44
-0
lines changed
lib/active_record/connection_adapters Expand file tree Collapse file tree 2 files changed +44
-0
lines changed Original file line number Diff line number Diff line change 1+ require 'active_record/relation'
2+ require 'active_record/version'
3+
4+ module ActiveRecord
5+ module ConnectionAdapters
6+ module SQLServer
7+ module CoreExt
8+ module FinderMethods
9+
10+ private
11+
12+ # Same as original except we order by values in distinct select if present.
13+ def construct_relation_for_exists ( conditions )
14+ if distinct_value && offset_value
15+ relation = limit! ( 1 )
16+
17+ if select_values . present?
18+ relation = relation . order ( *select_values )
19+ else
20+ relation = relation . except ( :order )
21+ end
22+ else
23+ relation = except ( :select , :distinct , :order ) . _select! ( ::ActiveRecord ::FinderMethods ::ONE_AS_ONE ) . limit! ( 1 )
24+ end
25+
26+ case conditions
27+ when Array , Hash
28+ relation . where! ( conditions ) unless conditions . empty?
29+ else
30+ relation . where! ( primary_key => conditions ) unless conditions == :none
31+ end
32+
33+ relation
34+ end
35+ end
36+ end
37+ end
38+ end
39+ end
40+
41+ ActiveSupport . on_load ( :active_record ) do
42+ ActiveRecord ::Relation . include ( ActiveRecord ::ConnectionAdapters ::SQLServer ::CoreExt ::FinderMethods )
43+ end
Original file line number Diff line number Diff line change 77require 'active_record/connection_adapters/sqlserver/core_ext/explain'
88require 'active_record/connection_adapters/sqlserver/core_ext/explain_subscriber'
99require 'active_record/connection_adapters/sqlserver/core_ext/attribute_methods'
10+ require 'active_record/connection_adapters/sqlserver/core_ext/finder_methods'
1011require 'active_record/connection_adapters/sqlserver/version'
1112require 'active_record/connection_adapters/sqlserver/type'
1213require 'active_record/connection_adapters/sqlserver/database_limits'
You can’t perform that action at this time.
0 commit comments