File tree Expand file tree Collapse file tree 3 files changed +23
-1
lines changed
lib/active_record/connection_adapters/sqlserver Expand file tree Collapse file tree 3 files changed +23
-1
lines changed Original file line number Diff line number Diff line change 44
55- [ #1073 ] ( https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/pull/1073 ) Improve performance of view default function lookup
66
7+ #### Fixed
8+
9+ - [ #1088 ] ( https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/pull/1088 ) Fix creation of stored procedures that contain insert statements
10+
711## v7.0.3.0
812
913#### Fixed
Original file line number Diff line number Diff line change @@ -406,7 +406,7 @@ def query_requires_identity_insert?(sql)
406406 end
407407
408408 def insert_sql? ( sql )
409- !( sql =~ /^ \s *(INSERT|EXEC sp_executesql N'INSERT)/i ) . nil?
409+ !( sql =~ /\A \s *(INSERT|EXEC sp_executesql N'INSERT)/i ) . nil?
410410 end
411411
412412 def identity_columns ( table_name )
Original file line number Diff line number Diff line change @@ -115,4 +115,22 @@ class MigrationTestSQLServer < ActiveRecord::TestCase
115115 refute_includes schemas , { "name" => "some schema" }
116116 end
117117 end
118+
119+ describe 'creating stored procedure' do
120+ it 'stored procedure contains inserts are created successfully' do
121+ sql = <<-SQL
122+ CREATE OR ALTER PROCEDURE do_some_task
123+ AS
124+ IF NOT EXISTS(SELECT * FROM sys.objects WHERE type = 'U' AND name = 'SomeTableName')
125+ BEGIN
126+ CREATE TABLE SomeTableName (SomeNum int PRIMARY KEY CLUSTERED);
127+ INSERT INTO SomeTableName(SomeNum) VALUES(1);
128+ END
129+ SQL
130+
131+ assert_nothing_raised { connection . execute ( sql ) }
132+ ensure
133+ connection . execute ( "DROP PROCEDURE IF EXISTS dbo.do_some_task;" )
134+ end
135+ end
118136end
You can’t perform that action at this time.
0 commit comments