Skip to content

Commit 7acfc14

Browse files
committed
Provide class config for use_output_inserted (default true) for insert SQL. Fixed #381.
1 parent d5afc58 commit 7acfc14

File tree

3 files changed

+4
-1
lines changed

3 files changed

+4
-1
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#### Added
55

66
* DatabaseTasks support for all tasks! Uses FreeTDS `defncopy` for structure dump. Fixes #380.
7+
* Provide class config for `use_output_inserted` (default true) for insert SQL. Fixed #381.
78

89

910
## v4.2.1

lib/active_record/connection_adapters/sqlserver/database_statements.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ def select(sql, name = nil, binds = [])
200200
end
201201

202202
def sql_for_insert(sql, pk, id_value, sequence_name, binds)
203-
sql = if pk
203+
sql = if pk && self.class.use_output_inserted
204204
quoted_pk = SQLServer::Utils.extract_identifiers(pk).quoted
205205
sql.insert sql.index(/ (DEFAULT )?VALUES/), " OUTPUT INSERTED.#{quoted_pk}"
206206
else

lib/active_record/connection_adapters/sqlserver_adapter.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,11 @@ class SQLServerAdapter < AbstractAdapter
4141
attr_reader :spid
4242

4343
cattr_accessor :cs_equality_operator, instance_accessor: false
44+
cattr_accessor :use_output_inserted, instance_accessor: false
4445
cattr_accessor :lowercase_schema_reflection, :showplan_option
4546

4647
self.cs_equality_operator = 'COLLATE Latin1_General_CS_AS_WS'
48+
self.use_output_inserted = true
4749

4850
def initialize(connection, logger, pool, config)
4951
super(connection, logger, pool)

0 commit comments

Comments
 (0)