@@ -42,9 +42,6 @@ def internal_exec_query(sql, name = "SQL", binds = [], prepare: false, async: fa
4242 log ( sql , name , binds , async : async ) do |notification_payload |
4343 with_raw_connection do |conn |
4444 result = if id_insert_table_name = query_requires_identity_insert? ( sql )
45- # If the table name is a view, we need to get the base table name for enabling identity insert.
46- id_insert_table_name = view_table_name ( id_insert_table_name ) if view_exists? ( id_insert_table_name )
47-
4845 with_identity_insert_enabled ( id_insert_table_name , conn ) do
4946 internal_exec_sql_query ( sql , conn )
5047 end
@@ -194,11 +191,14 @@ def execute_procedure(proc_name, *variables)
194191 end
195192
196193 def with_identity_insert_enabled ( table_name , conn )
197- table_name = quote_table_name ( table_name )
198- set_identity_insert ( table_name , conn , true )
194+ # If the table name is a view, we need to get the base table name for enabling identity insert.
195+ table_name = view_table_name ( table_name ) if view_exists? ( table_name )
196+ quoted_table_name = quote_table_name ( table_name )
197+
198+ set_identity_insert ( quoted_table_name , conn , true )
199199 yield
200200 ensure
201- set_identity_insert ( table_name , conn , false )
201+ set_identity_insert ( quoted_table_name , conn , false )
202202 end
203203
204204 def use_database ( database = nil )
0 commit comments