@@ -15,9 +15,6 @@ def write_query?(sql) # :nodoc:
1515
1616 def perform_query ( raw_connection , sql , binds , type_casted_binds , prepare :, notification_payload :, batch :)
1717 result = if id_insert_table_name = query_requires_identity_insert? ( sql )
18- # If the table name is a view, we need to get the base table name for enabling identity insert.
19- id_insert_table_name = view_table_name ( id_insert_table_name ) if view_exists? ( id_insert_table_name )
20-
2118 with_identity_insert_enabled ( id_insert_table_name , raw_connection ) do
2219 internal_exec_sql_query ( sql , raw_connection )
2320 end
@@ -225,11 +222,14 @@ def execute_procedure(proc_name, *variables)
225222 end
226223
227224 def with_identity_insert_enabled ( table_name , conn )
228- table_name = quote_table_name ( table_name )
229- set_identity_insert ( table_name , conn , true )
225+ # If the table name is a view, we need to get the base table name for enabling identity insert.
226+ table_name = view_table_name ( table_name ) if view_exists? ( table_name )
227+ quoted_table_name = quote_table_name ( table_name )
228+
229+ set_identity_insert ( quoted_table_name , conn , true )
230230 yield
231231 ensure
232- set_identity_insert ( table_name , conn , false )
232+ set_identity_insert ( quoted_table_name , conn , false )
233233 end
234234
235235 def use_database ( database = nil )
0 commit comments