Another question about Range types

From: Mike Christensen <mike(at)kitchenpc(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Another question about Range types
Date: 2012-08-03 20:00:13
Message-ID: CABs1bs3z-MBioFYzHumNgQb2ryO1qMAkg6KWJtFmdHq3XQuPcw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

There's another ongoing thread about range types, which was great
because I wasn't familiar with the feature (guess it's new in 9.2?).

I run a recipe website and was looking for *exactly* this sort of
feature a few weeks ago when I was adding in support for ranges of
ingredients (such as "1-2tsp salt"). In the end, I implemented it
using two columns (QtyHigh and QtyLow). In the salt example, QtyHigh
would be 2 and QtyLow would be 1. I also have some CHECK constraints
to make sure high is always higher, and they're not the same, and not
negative or anything.

Now, for 99% of the ingredients, QtyHigh would have a value and QtyLow
would just be null. For example, "2tsp salt" would have a QtyHigh of
2 and a QtyLow of null, which would indicate there is no range.

I'm curious if I could combine these columns into one using a RANGE
type. Obviously, if the column only stored ranges, it would be easy.
However, can a range also be one-dimensional? Can I have a High value
and no low value? Or would the recommended design be to have high/low
be the same? Overall, would this scenario be an appropriate use case
for this RANGE type, since only some of the data are ranges?

BONUS Question:

How are RANGE types represented in Npgsql, or are they even supported yet?

Mike

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Menelaos PerdikeasSemantix 2012-08-03 20:05:02 strategies for segregating client data when using PostgreSQL in a web app
Previous Message Tom Lane 2012-08-03 18:25:16 Re: Range-Types in 9.2