Skip to content

Commit ae265c8

Browse files
committed
Fix retrieval of temporary table column information
1 parent f1fea82 commit ae265c8

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

lib/active_record/connection_adapters/sqlserver/schema_statements.rb

+6-1
Original file line numberDiff line numberDiff line change
@@ -631,6 +631,11 @@ def column_type(ci:)
631631
end
632632

633633
def column_definitions_sql(database, identifier)
634+
# puts "column_definitions_sql: identifier=#{identifier}"
635+
# puts "column_definitions_sql: database=#{database}"
636+
637+
# database = "TEMPDB" if identifier.temporary_table?
638+
634639
object_name = prepared_statements ? "@0" : quote(identifier.object)
635640
schema_name = if identifier.schema.blank?
636641
"schema_name()"
@@ -691,7 +696,7 @@ def column_definitions_sql(database, identifier)
691696
AND k.unique_index_id = ic.index_id
692697
AND c.column_id = ic.column_id
693698
WHERE
694-
o.name = #{object_name}
699+
o.Object_ID = Object_ID(#{object_name})
695700
AND s.name = #{schema_name}
696701
ORDER BY
697702
c.column_id

lib/active_record/connection_adapters/sqlserver/utils.rb

+4
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,10 @@ def hash
8181
parts.hash
8282
end
8383

84+
def temporary_table?
85+
object.start_with?("#")
86+
end
87+
8488
protected
8589

8690
def parse_raw_name

0 commit comments

Comments
 (0)