Skip to content

Commit

Permalink
Patch for load times with pg_type loading in AR
Browse files Browse the repository at this point in the history
  • Loading branch information
ethervoid committed Jan 31, 2019
1 parent d0090e2 commit b108c1f
Showing 1 changed file with 23 additions and 0 deletions.
23 changes: 23 additions & 0 deletions config/initializers/zz_patch_activerecord_type_loading.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
module ActiveRecord
module ConnectionAdapters
module PostgreSQL
module OID # :nodoc:
class TypeMapInitializer # :nodoc:
def query_conditions_for_initial_load(type_map)
known_type_names = type_map.keys.map { |n| "'#{n}'" }
known_type_types = %w('r' 'e' 'd')
<<-SQL % [known_type_names.join(", "), known_type_types.join(", ")]
LEFT JOIN pg_type as tt ON (tt.typtype = 'c' AND tt.typarray = t.oid AND tt.typinput = 'record_in(cstring,oid,integer)'::regprocedure)
WHERE
tt.oid is null
AND (t.typname IN (%s)
OR t.typtype IN (%s)
OR t.typinput = 'array_in(cstring,oid,integer)'::regprocedure
OR t.typelem != 0)
SQL
end
end
end
end
end
end

0 comments on commit b108c1f

Please sign in to comment.