Commit d983c98a authored by Thong Kuah's avatar Thong Kuah

Merge branch 'sh-register-postgresql-oids' into 'master'

Silence unknown PostgreSQL OIDs warnings

See merge request gitlab-org/gitlab!73244
parents b19cf899 71917b73
# frozen_string_literal: true
# As discussed in https://github.com/rails/rails/issues/40687, this
# patch registers a few types to silence warnings when Rails comes
# across some PostgreSQL types it does not recognize.
module PostgreSQLAdapterCustomTypes
def initialize_type_map(m = type_map) # rubocop:disable Naming/MethodParameterName
m.register_type('xid', ActiveRecord::Type::Integer.new(limit: 8))
m.register_type('pg_node_tree', ActiveRecord::Type::String.new)
m.register_type('_aclitem', ActiveRecord::Type::String.new)
m.register_type('pg_lsn', ActiveRecord::Type::String.new)
super
end
end
ActiveRecord::ConnectionAdapters::PostgreSQLAdapter.prepend(PostgreSQLAdapterCustomTypes)
# frozen_string_literal: true
require 'spec_helper'
RSpec.describe 'PostgreSQL registered types' do
subject(:types) { ApplicationRecord.connection.send(:type_map).keys }
# These can be obtained via SELECT oid, typname from pg_type
it 'includes custom and standard OIDs' do
expect(types).to include(28, 194, 1034, 3220, 23, 20)
end
it 'includes custom and standard types' do
expect(types).to include('xid', 'pg_node_tree', '_aclitem', 'pg_lsn', 'int4', 'int8')
end
end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment