Re: Time Intervals - Mailing list pgsql-sql

From Ross J. Reedstrom
Subject Re: Time Intervals
Date
Msg-id 20020213182241.GB10858@rice.edu
Whole thread Raw
In response to Time Intervals  ("Michael Richards" <michael@fastmail.ca>)
Responses How long does it take?  (Torbjörn Andersson <tobbe@embryo.se>)
List pgsql-sql
On Wed, Feb 13, 2002 at 11:53:33AM -0500, Michael Richards wrote:
> I've got a rather odd problem that I can't seem to solve easily with 
> the given date manipulation functions.
> 
> I've got an expiry timestamp and a renewal interval. If something has 
> expired it gets renewed as the expiry + renewal * n
> Where n is the smallest number that will cause the calculation to 
> result in the future.
> 
> So if I've got a resource that is renewed by the hour and it expired 
> last week then I need to add on enough hours so its new expiry will 
> be up to 1 hour in the future. Only trouble is this renewal period 
> can be anything from minutes to months and it may have expired up to 
> 6 months ago.
> 
> If I could convert the timestamp into a julian of some sort perhaps I 
> could do the math that way.
> 
> Any ideas?

Hmm, If I undestand your problem correctly, it's actually pretty easy:
you just need to see if expiry is in the past, and if it is, set it to
current_timestamp + renewal_interval. 

If your doing the license expired detection in the frontend in a procedural
language, just do a simple update. If you want to hide all that in the
backend, you _still_ probably need to use a procedural language, such as
pgpsql.

Do you want to actually update the databse table with a new expiry, or
just calculate one on the fly?

Ross


pgsql-sql by date:

Previous
From: "Michael Richards"
Date:
Subject: Time Intervals
Next
From: Torbjörn Andersson
Date:
Subject: How long does it take?