Re: range of composite types! - Mailing list pgsql-general

From David G. Johnston
Subject Re: range of composite types!
Date
Msg-id CAKFQuwbwfvohRwSAn9WEUCBnRHeqPt8vWXubY4kVJ2XLoMQNHg@mail.gmail.com
Whole thread Raw
In response to range of composite types!  (Jian He <hejian.mark@gmail.com>)
List pgsql-general
On Tuesday, April 26, 2022, Jian He <hejian.mark@gmail.com> wrote:

-- composite type range.
create type mytype as (t1 int, t2 date);
-- create type my_interval as (t1 int, t2 interval);
select (2,'2022-01-02')::mytype ;
create type mytyperange as range(subtype = mytype);
 
I am thinking construct a composite type range that would be equivalent as:
select a, b::date
from generate_series(1,8) a,
generate_series('2022-01-01'::timestamp,    '2022-01-31'::timestamp, interval '1 day') b;
Ranges have to be ordered.  How do you propose to order the above?  Composite type comparisons have defined ordering semantics.  Your results demonstrate what those are (namely, subsequent fields are used only to break ties).  If you want different behavior you will have to code it yourself - possibly including ignoring the generic composite type infrastructure and make a formal base type of whatever it is you need.

David J.

pgsql-general by date:

Previous
From: Adrian Klaver
Date:
Subject: Re: Fresh eyeballs needed: input into error [FIXED]
Next
From: Alvaro Herrera
Date:
Subject: Re: "create function... depends on extension..." not supported. Why?