File tree Expand file tree Collapse file tree 3 files changed +47
-0
lines changed
lib/active_record/connection_adapters Expand file tree Collapse file tree 3 files changed +47
-0
lines changed Original file line number Diff line number Diff line change 1+ ## v5.1.3
2+
3+ #### Fixed
4+
5+ * Patched ` Relation#build_count_subquery ` . Fixes #613 .
6+
7+
18## v5.1.2
29
310#### Fixed
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 Calculations
9+ private
10+
11+ def build_count_subquery ( relation , column_name , distinct )
12+ relation . select_values = [
13+ if column_name == :all
14+ distinct ? table [ Arel . star ] : Arel . sql ( FinderMethods ::ONE_AS_ONE )
15+ else
16+ column_alias = Arel . sql ( "count_column" )
17+ aggregate_column ( column_name ) . as ( column_alias )
18+ end
19+ ]
20+
21+ subquery = relation . arel . as ( Arel . sql ( "subquery_for_count" ) )
22+ select_value = operation_over_aggregate_column ( column_alias || Arel . star , "count" , false )
23+
24+ Arel ::SelectManager . new ( subquery ) . project ( select_value )
25+ end
26+ end
27+ end
28+ end
29+ end
30+ end
31+
32+ ActiveSupport . on_load ( :active_record ) do
33+ if ActiveRecord ::VERSION ::MAJOR == 5 &&
34+ ActiveRecord ::VERSION ::MINOR == 1 &&
35+ ActiveRecord ::VERSION ::TINY >= 4
36+ mod = ActiveRecord ::ConnectionAdapters ::SQLServer ::CoreExt ::Calculations
37+ ActiveRecord ::Relation . prepend ( mod )
38+ end
39+ end
Original file line number Diff line number Diff line change 33require 'arel_sqlserver'
44require 'active_record/connection_adapters/abstract_adapter'
55require 'active_record/connection_adapters/sqlserver/core_ext/active_record'
6+ require 'active_record/connection_adapters/sqlserver/core_ext/calculations'
67require 'active_record/connection_adapters/sqlserver/core_ext/explain'
78require 'active_record/connection_adapters/sqlserver/core_ext/explain_subscriber'
89require 'active_record/connection_adapters/sqlserver/core_ext/attribute_methods'
You can’t perform that action at this time.
0 commit comments