Skip to content

Commit abe8b92

Browse files
committed
[firebird] align prefetch_primary_key? with Oracle (only for simple PKs)
1 parent d69ad99 commit abe8b92

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

lib/arjdbc/firebird/adapter.rb

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -166,11 +166,13 @@ def add_limit_offset!(sql, options)
166166
end
167167

168168
# Should primary key values be selected from their corresponding
169-
# sequence before the insert statement? If true, next_sequence_value
170-
# is called before each insert to set the record's primary key.
171-
# This is false for all adapters but Firebird.
169+
# sequence before the insert statement?
170+
# @see #next_sequence_value
171+
# @override
172172
def prefetch_primary_key?(table_name = nil)
173-
true
173+
return true if table_name.nil?
174+
table_name = table_name.to_s
175+
columns(table_name).count { |column| column.primary } == 1
174176
end
175177

176178
def default_sequence_name(table_name, column=nil)

0 commit comments

Comments
 (0)