On Tue, 2013-08-06 at 12:27 -0400, Tom Lane wrote:
> koizumi...@minos.ocn.ne.jp writes:
> > In 8.17.10 "Constraints on Ranges" of PostgreSQL 9.2.4 Documentation, a
> > constraint will prevent the overlapping values in an example. 
> > But in the example, range [2010-01-01 11:30, 2010-01-01 13:00) and range
> > [2010-01-01 14:45, 2010-01-01 15:45) do not overlap.
> 
> No, but the second one overlaps with the range value shown in 8.17.2.
> So this is correct if it's understood as a continuation of that example.
> Still, it's kind of a long way from 8.17.2 to 8.17.10.  It might be better
> if this section were recast to use a standalone example --- Jeff, what do
> you think?

That sounds reasonable, patch attached. Minor change, so if nobody has
any more suggestions I'll commit it tomorrow night.

Regards,
        Jeff Davis

*** a/doc/src/sgml/rangetypes.sgml
--- b/doc/src/sgml/rangetypes.sgml
***************
*** 451,457 **** CREATE INDEX reservation_idx ON reservation USING gist (during);
     range type. For example:
  
  <programlisting>
! ALTER TABLE reservation ADD EXCLUDE USING gist (during WITH &amp;&amp;);
  </programlisting>
  
     That constraint will prevent any overlapping values from existing
--- 451,460 ----
     range type. For example:
  
  <programlisting>
! CREATE TABLE reservation (
!     during tsrange,
!     EXCLUDE USING gist (during WITH &amp;&amp;)
! );
  </programlisting>
  
     That constraint will prevent any overlapping values from existing
***************
*** 459,472 **** ALTER TABLE reservation ADD EXCLUDE USING gist (during WITH &amp;&amp;);
  
  <programlisting>
  INSERT INTO reservation VALUES
!     (1108, '[2010-01-01 11:30, 2010-01-01 13:00)');
  INSERT 0 1
  
  INSERT INTO reservation VALUES
!     (1108, '[2010-01-01 14:45, 2010-01-01 15:45)');
  ERROR:  conflicting key value violates exclusion constraint "reservation_during_excl"
! DETAIL:  Key (during)=([ 2010-01-01 14:45:00, 2010-01-01 15:45:00 )) conflicts
! with existing key (during)=([ 2010-01-01 14:30:00, 2010-01-01 15:30:00 )).
  </programlisting>
    </para>
  
--- 462,475 ----
  
  <programlisting>
  INSERT INTO reservation VALUES
!     ('[2010-01-01 11:30, 2010-01-01 15:00)');
  INSERT 0 1
  
  INSERT INTO reservation VALUES
!     ('[2010-01-01 14:45, 2010-01-01 15:45)');
  ERROR:  conflicting key value violates exclusion constraint "reservation_during_excl"
! DETAIL:  Key (during)=(["2010-01-01 14:45:00","2010-01-01 15:45:00")) conflicts
! with existing key (during)=(["2010-01-01 11:30:00","2010-01-01 15:00:00")).
  </programlisting>
    </para>
  
***************
*** 479,484 **** with existing key (during)=([ 2010-01-01 14:30:00, 2010-01-01 15:30:00 )).
--- 482,488 ----
     are equal:
  
  <programlisting>
+ CREATE EXTENSION btree_gist;
  CREATE TABLE room_reservation (
      room text,
      during tsrange,
***************
*** 492,499 **** INSERT 0 1
  INSERT INTO room_reservation VALUES
      ('123A', '[2010-01-01 14:30, 2010-01-01 15:30)');
  ERROR:  conflicting key value violates exclusion constraint "room_reservation_room_during_excl"
! DETAIL:  Key (room, during)=(123A, [ 2010-01-01 14:30:00, 2010-01-01 15:30:00 )) conflicts with
! existing key (room, during)=(123A, [ 2010-01-01 14:00:00, 2010-01-01 15:00:00 )).
  
  INSERT INTO room_reservation VALUES
      ('123B', '[2010-01-01 14:30, 2010-01-01 15:30)');
--- 496,503 ----
  INSERT INTO room_reservation VALUES
      ('123A', '[2010-01-01 14:30, 2010-01-01 15:30)');
  ERROR:  conflicting key value violates exclusion constraint "room_reservation_room_during_excl"
! DETAIL:  Key (room, during)=(123A, ["2010-01-01 14:30:00","2010-01-01 15:30:00")) conflicts
! with existing key (room, during)=(123A, ["2010-01-01 14:00:00","2010-01-01 15:00:00")).
  
  INSERT INTO room_reservation VALUES
      ('123B', '[2010-01-01 14:30, 2010-01-01 15:30)');
-- 
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

Reply via email to