aboutsummaryrefslogtreecommitdiffstats
path: root/app/models/referential.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/referential.rb')
-rw-r--r--app/models/referential.rb10
1 files changed, 9 insertions, 1 deletions
diff --git a/app/models/referential.rb b/app/models/referential.rb
index 0913c9cd9..2c64a9a5c 100644
--- a/app/models/referential.rb
+++ b/app/models/referential.rb
@@ -232,11 +232,19 @@ class Referential < ActiveRecord::Base
def self.referential_ids_in_periode(range)
subquery = "SELECT DISTINCT(public.referential_metadata.referential_id) FROM public.referential_metadata, LATERAL unnest(periodes) period "
- subquery << "WHERE period && '#{ActiveRecord::ConnectionAdapters::PostgreSQLColumn.range_to_string(range)}'"
+ subquery << "WHERE period && '#{range_to_string(range)}'"
query = "SELECT * FROM public.referentials WHERE referentials.id IN (#{subquery})"
self.connection.select_values(query).map(&:to_i)
end
+ # Copied from Rails 4.1 activerecord/lib/active_record/connection_adapters/postgresql/cast.rb
+ # TODO: Relace with the appropriate Rais 4.2 / 5.x helper if one is found.
+ def self.range_to_string(object)
+ from = object.begin.respond_to?(:infinite?) && object.begin.infinite? ? '' : object.begin
+ to = object.end.respond_to?(:infinite?) && object.end.infinite? ? '' : object.end
+ "[#{from},#{to}#{object.exclude_end? ? ')' : ']'}"
+ end
+
def overlapped_referential_ids
return [] unless metadatas.present?