Great thanks Jeremy!

On Thu, Jan 21, 2021, 6:26 PM Jeremy Evans <[email protected]> wrote:

> On Thu, Jan 21, 2021 at 4:54 PM Mark Rubenstein <[email protected]>
> wrote:
>
>> Hello have a question about the pg_interval extension.
>> Ran into issue when testing month records.
>>
>> STEPS:
>> 1) Create ActiveSupport::Duration `ActiveSupport::Duration.parse('P1M')`
>> This Duration has an internal value of 2629746
>> Same as constant SECONDS_PER_MONTH
>> https://api.rubyonrails.org/v6.0.3.4/classes/ActiveSupport/Duration.html
>>
>> 2) Value saved to db with pg_interval extension
>>
>> 3) Value retried from db with pg_interval extension
>> The returned value has the correct parts [[:months, 1]] but the internal
>> value is 2592000
>> As set in pg_interval.rb
>> line 78 `value += 2592000 * v`
>> line 107 `ActiveSupport::Duration.new(value, parts)`
>>
>> This causes initial ActiveSupport::Duration to not be equal to returned
>> ActiveSupport::Duration
>>
>> Is there something I may be doing incorrect or is this a valid issue?
>> Would updating version of Activesupport or sequel help? From quick look
>> at docs/code seems like may run into same issue?
>>
>
> We should change pg_interval to use the same value as
> ActiveSupport::Duration.  Note that at the time the pg_interval extension
> was created, the values matched what ActiveSupport::Duration used, and
> ActiveSupport::Duration did not expose any constants.  Looks like the
> ActiveSupport::Duration values changed and started supporting constants in
> ActiveSupport 5.1.
>
> I have a local fix for this.  I'll run it through a full round of tests
> tomorrow, and if no problems show up, commit it to the master branch.
>
> Thanks,
> Jeremy
>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "sequel-talk" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/sequel-talk/LXlt0-Cim5E/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/sequel-talk/CADGZSSeS5pPdnoZSWfdKNJss5OFOZkyTRLo9GvGOLSVkSHv%3DUg%40mail.gmail.com
> <https://groups.google.com/d/msgid/sequel-talk/CADGZSSeS5pPdnoZSWfdKNJss5OFOZkyTRLo9GvGOLSVkSHv%3DUg%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"sequel-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sequel-talk/CAOYwQz0oz7KUPLK28JfbRF-mrS9LhfAai0%2B0RJL84WaG6sVovw%40mail.gmail.com.

Reply via email to