Skip to content

Commit f2ab139

Browse files
committed
Fix object ID
1 parent ae265c8 commit f2ab139

File tree

2 files changed

+13
-3
lines changed

2 files changed

+13
-3
lines changed

lib/active_record/connection_adapters/sqlserver/database_statements.rb

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,7 @@ def cast_result(raw_result)
4343

4444
# Returns the affected rows from results.
4545
def affected_rows(raw_result)
46-
column_name = lowercase_schema_reflection ? "affectedrows" : "AffectedRows"
47-
raw_result&.first&.fetch(column_name, nil)
46+
raw_result&.first&.fetch(lowercase_schema_reflection_string("AffectedRows"), nil)
4847
end
4948

5049
# Returns the affected rows from results or handle.

lib/active_record/connection_adapters/sqlserver/schema_statements.rb

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -643,6 +643,12 @@ def column_definitions_sql(database, identifier)
643643
prepared_statements ? "@1" : quote(identifier.schema)
644644
end
645645

646+
object_id_arg = if identifier.schema.present?
647+
"CONCAT(@1,''.'',@0)"
648+
else
649+
"@0"
650+
end
651+
646652
%{
647653
SELECT
648654
#{lowercase_schema_reflection_sql("o.name")} AS [table_name],
@@ -696,7 +702,8 @@ def column_definitions_sql(database, identifier)
696702
AND k.unique_index_id = ic.index_id
697703
AND c.column_id = ic.column_id
698704
WHERE
699-
o.Object_ID = Object_ID(#{object_name})
705+
o.name = #{object_name}
706+
/* o.Object_ID = Object_ID(#{object_id_arg}) */
700707
AND s.name = #{schema_name}
701708
ORDER BY
702709
c.column_id
@@ -767,6 +774,10 @@ def lowercase_schema_reflection_sql(node)
767774
lowercase_schema_reflection ? "LOWER(#{node})" : node
768775
end
769776

777+
def lowercase_schema_reflection_string(str)
778+
lowercase_schema_reflection ? str.downcase : str
779+
end
780+
770781
# === SQLServer Specific (View Reflection) ====================== #
771782

772783
def view_table_name(table_name)

0 commit comments

Comments
 (0)