module Sequel::Postgres::ExtendedDateSupport::DatasetMethods
Private Instance Methods
Source
# File lib/sequel/extensions/pg_extended_date_support.rb 191 def literal_date(date) 192 if date.year < 1 193 date <<= ((date.year) * 24 - 12) 194 date.strftime("'%Y-%m-%d BC'") 195 else 196 super 197 end 198 end
Handle BC Date objects.
Calls superclass method
Source
# File lib/sequel/extensions/pg_extended_date_support.rb 201 def literal_datetime(date) 202 if date < DATETIME_YEAR_1 203 date <<= ((date.year) * 24 - 12) 204 date = db.from_application_timestamp(date) 205 minutes = (date.offset * 1440).to_i 206 date.strftime("'%Y-%m-%d %H:%M:%S.%6N#{sprintf("%+03i%02i", *minutes.divmod(60))} BC'") 207 else 208 super 209 end 210 end
Handle BC DateTime objects.
Calls superclass method
Source
# File lib/sequel/extensions/pg_extended_date_support.rb 213 def literal_other_append(sql, v) 214 if v.is_a?(Date::Infinity) 215 sql << (v > 0 ? "'infinity'" : "'-infinity'") 216 else 217 super 218 end 219 end
Handle Date::Infinity values
Calls superclass method
Source
# File lib/sequel/extensions/pg_extended_date_support.rb 237 def literal_time(time) 238 if time < TIME_YEAR_1 239 literal_datetime(DateTime.parse(super)) 240 else 241 super 242 end 243 end
Work around JRuby bug #4822 in Time#to_datetime for times before date of calendar reform
Calls superclass method
Source
# File lib/sequel/extensions/pg_extended_date_support.rb 227 def type_convertor(map, meta, type, i) 228 case type 229 when *CONVERT_TYPES 230 db.oid_convertor_proc(meta.getField(i).getOID) 231 else 232 super 233 end 234 end
Use non-JDBC parsing as JDBC
parsing doesn’t work for BC dates/timestamps.
Calls superclass method