zio-sql
zio-sql copied to clipboard
Remove Postgres compile time dependency and implement custom interval class
While working on #295 it was discovered that the PGInterval class does not allow for setting weeks as a constructor argument. Based on discussion here https://github.com/zio/zio-sql/pull/295#discussion_r558342729 we should remove the compile time dependency and implement a custom PGInterval that will allow for setting all supported parameters.
Of note, make_interval will convert weeks into a days representation, so we need to make sure we account for that. for example select make_interval(years => 1, months => 3, weeks => 2, days => 2, hours => 3, mins => 1, secs => 1.0); will return ``` make_interval
1 year 3 mons 16 days 03:01:01``` where 2 weeks = 14 days + 2 days to yield 16 days in the result
Similarly select make_interval(weeks => 1); will yield 7 days.
Gonna pick back up on this, this week.