Re: Range types - Mailing list pgsql-hackers

From decibel
Subject Re: Range types
Date
Msg-id 17265715-B5DB-4526-B17B-685A8A9E0F4E@decibel.org
Whole thread Raw
In response to Re: Range types  (Jeff Davis <pgsql@j-davis.com>)
Responses Re: Range types  (Jeff Davis <pgsql@j-davis.com>)
List pgsql-hackers
On Dec 15, 2009, at 11:34 AM, Jeff Davis wrote:
> On Tue, 2009-12-15 at 10:19 -0500, Tom Lane wrote:
>> I'm not sure that anyone has argued that.  I did suggest that there
>> might be a small list of types for which we should provide discrete
>> behavior (ie, with next/previous functions) and the rest could have
>> continuous behavior (without that assumption).  But I quite agree
>> that we want both types of ranges.
>
> It seems like we're moving toward treating TIMESTAMP as continuous.
>
> If I'm correct, continuous ranges always need two extra bits of storage
> for the exclusivity. But for timestamps, that means 16 bytes (2 x 8-byte
> timestamp) turns into 17 bytes, which is really more like 20 or 24 bytes
> with alignment.
>
> Considering that these are likely to be used for audit or history
> tables, 8 bytes of waste (50%) seems excessive -- especially when
> treating them as discrete seems to work pretty well, at least for the
> int64 timestamps.
>
> Ideas?

Now that varlena's don't have an enormous fixed overhead, perhaps it's worth looking at using them. Obviously some
operationswould be slower, but for your stated examples of auditing and history, I suspect that you're not going to
noticethe overhead that much. 

I'm not sure if the best way to do this would be to support a varlena timestamp or to take fixed-size timestamps and
convertthem into varlena periods. 
--
Jim C. Nasby, Database Architect                   jim@nasby.net
512.569.9461 (cell)                         http://jim.nasby.net




pgsql-hackers by date:

Previous
From: decibel
Date:
Subject: Re: Range types
Next
From: Christophe Pettus
Date:
Subject: Re: Range types