Skip to content

Commit 90133df

Browse files
committed
Update schema_statements.rb
1 parent f2ab139 commit 90133df

File tree

1 file changed

+11
-11
lines changed

1 file changed

+11
-11
lines changed

lib/active_record/connection_adapters/sqlserver/schema_statements.rb

+11-11
Original file line numberDiff line numberDiff line change
@@ -636,18 +636,19 @@ def column_definitions_sql(database, identifier)
636636

637637
# database = "TEMPDB" if identifier.temporary_table?
638638

639-
object_name = prepared_statements ? "@0" : quote(identifier.object)
640-
schema_name = if identifier.schema.blank?
641-
"schema_name()"
639+
schema_name = "schema_name()"
640+
641+
if prepared_statements
642+
object_name = "@0"
643+
schema_name = "@1" if identifier.schema.present?
642644
else
643-
prepared_statements ? "@1" : quote(identifier.schema)
645+
object_name = quote(identifier.object)
646+
schema_name = quote(identifier.schema) if identifier.schema.present?
644647
end
645648

646-
object_id_arg = if identifier.schema.present?
647-
"CONCAT(@1,''.'',@0)"
648-
else
649-
"@0"
650-
end
649+
object_id_arg = identifier.schema.present? ? "CONCAT(#{schema_name},'.',#{object_name})" : object_name
650+
651+
651652

652653
%{
653654
SELECT
@@ -702,8 +703,7 @@ def column_definitions_sql(database, identifier)
702703
AND k.unique_index_id = ic.index_id
703704
AND c.column_id = ic.column_id
704705
WHERE
705-
o.name = #{object_name}
706-
/* o.Object_ID = Object_ID(#{object_id_arg}) */
706+
o.Object_ID = Object_ID(#{object_id_arg})
707707
AND s.name = #{schema_name}
708708
ORDER BY
709709
c.column_id

0 commit comments

Comments
 (0)