summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean McGivern <sean@gitlab.com>2017-06-26 17:21:40 +0100
committerSean McGivern <sean@gitlab.com>2017-06-26 17:21:40 +0100
commitd4a3474b9b7321898a00ddcbaf651099ab96b2ba (patch)
treedde5685ac5e77a5876e64983469070e238cd6505
parent676c559409b8b51e3e97abab24bbb44207744e13 (diff)
downloadgitlab-ce-34324-gitlab-db-seed-is-broken.tar.gz
Fix Gitlab::Database.bulk_insert for non-UTF-8 data34324-gitlab-db-seed-is-broken
-rw-r--r--lib/gitlab/database.rb2
-rw-r--r--spec/lib/gitlab/database_spec.rb4
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