File tree 1 file changed +11
-11
lines changed
lib/active_record/connection_adapters/sqlserver
1 file changed +11
-11
lines changed Original file line number Diff line number Diff line change @@ -636,18 +636,19 @@ def column_definitions_sql(database, identifier)
636
636
637
637
# database = "TEMPDB" if identifier.temporary_table?
638
638
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?
642
644
else
643
- prepared_statements ? "@1" : quote ( identifier . schema )
645
+ object_name = quote ( identifier . object )
646
+ schema_name = quote ( identifier . schema ) if identifier . schema . present?
644
647
end
645
648
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
+
651
652
652
653
%{
653
654
SELECT
@@ -702,8 +703,7 @@ def column_definitions_sql(database, identifier)
702
703
AND k.unique_index_id = ic.index_id
703
704
AND c.column_id = ic.column_id
704
705
WHERE
705
- o.name = #{ object_name }
706
- /* o.Object_ID = Object_ID(#{ object_id_arg } ) */
706
+ o.Object_ID = Object_ID(#{ object_id_arg } )
707
707
AND s.name = #{ schema_name }
708
708
ORDER BY
709
709
c.column_id
You can’t perform that action at this time.
0 commit comments