diff options
author | Sean McGivern <sean@gitlab.com> | 2017-06-26 17:21:40 +0100 |
---|---|---|
committer | Sean McGivern <sean@gitlab.com> | 2017-06-26 17:21:40 +0100 |
commit | d4a3474b9b7321898a00ddcbaf651099ab96b2ba (patch) | |
tree | dde5685ac5e77a5876e64983469070e238cd6505 | |
parent | 676c559409b8b51e3e97abab24bbb44207744e13 (diff) | |
download | gitlab-ce-d4a3474b9b7321898a00ddcbaf651099ab96b2ba.tar.gz |
Fix Gitlab::Database.bulk_insert for non-UTF-8 data34324-gitlab-db-seed-is-broken
-rw-r--r-- | lib/gitlab/database.rb | 2 | ||||
-rw-r--r-- | spec/lib/gitlab/database_spec.rb | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/lib/gitlab/database.rb b/lib/gitlab/database.rb index 0d5a7cf0694..d7dab584a44 100644 --- a/lib/gitlab/database.rb +++ b/lib/gitlab/database.rb @@ -93,7 +93,7 @@ module Gitlab row.values_at(*keys).map { |value| connection.quote(value) } end - connection.execute <<-EOF.strip_heredoc + connection.execute <<-EOF INSERT INTO #{table} (#{columns.join(', ')}) VALUES #{tuples.map { |tuple| "(#{tuple.join(', ')})" }.join(', ')} EOF diff --git a/spec/lib/gitlab/database_spec.rb b/spec/lib/gitlab/database_spec.rb index 5e6206b96c7..cbf6c35356e 100644 --- a/spec/lib/gitlab/database_spec.rb +++ b/spec/lib/gitlab/database_spec.rb @@ -176,6 +176,10 @@ describe Gitlab::Database, lib: true do described_class.bulk_insert('test', rows) end + + it 'handles non-UTF-8 data' do + expect { described_class.bulk_insert('test', [{ a: "\255" }]) }.not_to raise_error + end end describe '.create_connection_pool' do |